/*
  Bloopin Panel CSS - refactored candidate V3
  Source: assets/css/panel.css
  Source SHA-256: d9897caa31841e4221580e405a6b3b9628db9f9aa2f74f6f5e048b6a8ea9b97d
  Do not load in production before browser QA.
*/

/* ============================================================
   01. Base, variables et reset
   ============================================================ */

/* --- Astra reset (panel only) -------------------------------- */
body.page-panel, body.page-panel .site, body.page-panel #page, body.page-panel #content, body.page-panel .site-content { margin:0 !important; padding:0 !important; }
body.page-panel .ast-container { max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important; }
body.page-panel #content, body.page-panel .site-content { min-height:100vh; }



/* --- Panel bridge : panel -> root tokens ------------------- */
body.page-panel{
  --bp-bg: var(--bg);
  --bp-surface: var(--surface);
  --bp-surface-2: var(--surface-2);
  --bp-surface-3: var(--surface-3);
  --bp-text: var(--text);
  --bp-soft: var(--text-soft);
  --bp-faint: var(--text-soft);

  --bp-border: var(--border-subtle);
  --bp-divider: var(--divider);
  --bp-border-subtle: var(--border-subtle);
  --bp-border-strong: var(--border-strong);

  --bp-radius: var(--radius-card);
  --bp-radius-control: var(--radius-control);
  --bp-radius-pill: var(--radius-pill);

  --bp-shadow: var(--shadow-md);
  --bp-shadow-soft: var(--shadow-sm);
  --app-inset: var(--app-inset);

  --bp-font: 'Poppins', sans-serif;
  --bp-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

  --bp-fs-12: var(--fs-xs);
  --bp-fs-13: var(--text-body);
  --bp-fs-14: var(--text-control);
  --bp-fs-16: var(--fs-md);
  --bp-fs-18: var(--text-section-title);
  --bp-fs-20: 20px;
  --bp-fs-24: var(--text-page-title);

  --bp-text-micro: var(--text-micro);
  --bp-text-meta: var(--text-meta);
  --bp-text-body: var(--text-body);
  --bp-text-control: var(--text-control);
  --bp-text-card-title: var(--text-card-title);
  --bp-text-section-title: var(--text-section-title);
  --bp-text-page-title: var(--text-page-title);

  --bp-outline-nested: var(--outline-nested);
  --bp-outline-control: var(--outline-control);
  --bp-outline-control-strong: var(--outline-control-strong);

  --bp-action-primary-bg: var(--action-primary-bg);
  --bp-action-primary-text: var(--action-primary-text);
  --bp-action-primary-hover-bg: var(--action-primary-hover-bg);
  --bp-action-primary-hover-text: var(--action-primary-hover-text);
  --bp-action-secondary-bg: var(--action-secondary-bg);
  --bp-action-secondary-text: var(--action-secondary-text);
  --bp-action-secondary-hover-bg: var(--action-secondary-hover-bg);

  --bp-space-2: var(--space-2);
  --bp-space-3: var(--space-3);
  --bp-space-4: var(--space-4);
  --bp-space-5: var(--space-5);
  --bp-space-6: var(--space-6);

  --bp-glass-1: var(--glass-1);
  --bp-glass-2: var(--glass-2);
  --bp-glass-3: var(--glass-3);
  --bp-glass-4: var(--glass-4);
}

/* --- Typographie responsive du Panel -------------------------
   Un token décrit un rôle, pas une taille figée à tous les breakpoints.
   Les textes courants restent stables pour la lisibilité ;
   contrôles et titres se compactent légèrement sur mobile. */
@media (max-width:767px){
  body.page-panel{
    --bp-text-control: var(--bp-text-body); /* 14px desktop -> 13px mobile */
    --bp-text-card-title: var(--text-control); /* 15px -> 14px */
    --bp-text-section-title: 17px; /* 18px -> 17px */
    --bp-text-page-title: 22px; /* 24px -> 22px */
  }
}

/* --- Base ---------------------------------------------------- */
body.page-panel { background:var(--bp-bg); color:var(--bp-text); }

body.page-panel::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.9;
  background:
    radial-gradient(900px 500px at 20% 0%, color-mix(in srgb, var(--primary) 14%, transparent) 0%, transparent 60%),
    radial-gradient(900px 500px at 90% 10%, color-mix(in srgb, var(--accent) 10%, transparent) 0%, transparent 55%);
}

.bp-panel{
  position:relative;
  z-index:1;
  max-width:1100px;
  margin:0 auto;
  padding:18px 16px 28px;
  font-family:var(--bp-font);
  font-size:var(--bp-fs-14);
  line-height:1.25;
}

/* ============================================================
   02. Layout, sidebar, topbar et navigation mobile
   ============================================================ */

/* Réglages transparence (1 endroit) + layout sticky */
.bp-panel__head{
  position:sticky;
  top:54px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:44px;

  /* Identité du restaurant : même fond que l’en-tête public. */
  --bp-topbar-bg: var(--bp-panel-header-bg, var(--bp-surface));
  --bp-topbar-bg-scrolled: var(--bp-panel-header-bg, var(--bp-surface));
  --bp-topbar-fg: var(--bp-panel-header-fg, var(--bp-text));
}

/* --- TOPBAR --- */
.bp-panel__topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:var(--bp-radius);
  background:var(--bp-topbar-bg);
  color:var(--bp-topbar-fg);
  box-shadow:var(--bp-shadow-soft), var(--app-inset);
  backdrop-filter:blur(10px);
  transition:background .18s ease, color .18s ease, backdrop-filter .18s ease, box-shadow .18s ease;
}

.bp-panel__head.is-scrolled .bp-panel__topbar{
  background:var(--bp-topbar-bg-scrolled);
  color:var(--bp-topbar-fg);
  backdrop-filter:blur(18px);
  box-shadow:var(--bp-shadow-soft);
}

/* Fixedbar pause button (clean minimal) */
.bp-fixedbar__btn{
  all:unset; /* IMPORTANT : reset total */
  display:flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  cursor:pointer;
  transition:transform .15s ease, opacity .15s ease;
}

.bp-fixedbar__btn svg{ width:32px; height:32px; display:block; }
.bp-fixedbar__btn:hover{ opacity:.75; }
.bp-fixedbar__btn:active{ transform:scale(.92); }
.bp-fixedbar__btn:focus, .bp-fixedbar__btn:focus-visible{ outline:none; box-shadow:none; }


/* SVG hébergés du panel — masque monochrome piloté par currentColor */
.bp-hosted-icon{
  display:inline-block;
  flex:0 0 auto;
  width:24px;
  height:24px;
  background-color:currentColor;
  -webkit-mask-image:var(--bp-icon);
  mask-image:var(--bp-icon);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  pointer-events:none;
}

.bp-fixedbar__btn .bp-hosted-icon--pause{
  width:22px;
  height:22px;
}

/* --- Brand --- */
.bp-panel__brand{ display:flex; align-items:center; gap:12px; min-width:0; }
.bp-panel__logo{ height:34px; max-width:160px; width:auto; object-fit:contain; }
.bp-panel__brand img{ height:34px !important; width:auto !important; max-width:160px !important; object-fit:contain; }

.bp-panel__logo-text{
  font-weight:600;
  font-size:var(--bp-fs-18);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* --- Meta (fond seulement) --- */
.bp-panel__meta{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  background:var(--bp-topbar-bg);
  border-radius:999px;
  transition:background .18s ease;
}

.bp-panel__head.is-scrolled .bp-panel__meta{ background:var(--bp-topbar-bg-scrolled); }

.bp-panel__sub{
  color:var(--bp-soft);
  font-size:var(--bp-fs-13);
}

.bp-topbar{ position:fixed; top:0; left:0; right:0; z-index:9998; background:#0f1115; color:#fff; height:44px; }
.bp-topbar__inner{ max-width:1100px; margin:0 auto; height:44px; padding:0 12px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.bp-topbar__left, .bp-topbar__right{ display:flex; align-items:center; gap:10px; min-width:0; }

.bp-topbar__status{ font-size:var(--bp-text-body); white-space:nowrap; opacity:.9; }
.bp-topbar__status.is-live{ color:#9ae6b4; }
.bp-topbar__status.is-paused{ color:#feb2b2; }

.bp-topbar__link{ all:unset; cursor:pointer; font-size:var(--bp-text-body); font-weight:700; padding:6px 10px; border-radius:999px; border-color: #fff; border:2px solid; background:transparent; }
.bp-topbar__link:hover{background: transparent;}
.bp-topbar__link:active{ transform:translateY(1px); }

.bp-topbar__theme{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#fff;
  cursor:pointer;
  transition:transform .18s ease, color .18s ease, background .18s ease;
}

.bp-topbar__theme:hover{
  transform:translateY(-1px);
  color:var(--bp-accent, #6A5CFF);
  background:rgba(255,255,255,.06);
}

.bp-topbar__theme:focus-visible{
  outline:2px solid currentColor;
  outline-offset:2px;
}

.bp-topbar__theme-icon{
  width:20px;
  height:20px;
  display:block;
}

.bp-topbar__theme-icon--sun{ display:none; }
body[data-mode="dark"] .bp-topbar__theme-icon--moon{ display:none; }
body[data-mode="dark"] .bp-topbar__theme-icon--sun{ display:block; }

.bp-topbar__gear{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:none;
  background:transparent;
  color:#fff;
  cursor:pointer;
  transition:.2s ease;
}

.bp-topbar__gear:hover{
  transform:rotate(12deg) scale(1.04);
  color:var(--bp-accent, #6A5CFF);
  background:transparent;
}

.bp-topbar__gear svg{
  width:22px;
  height:22px;
  display:block;
}

/* Push panel under topbar */
body.page-panel .bp-panel{ padding-top:10px; }

.bp-mobile-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:9997;
  display:none;
  align-items:stretch;
  justify-content:space-around;
  gap:6px;
  --bp-mobile-safe-bottom:0px;
  box-sizing:border-box;
  height:72px !important;
  min-height:72px !important;
  max-height:72px !important;
  padding:8px 10px !important;
  background:color-mix(in srgb, var(--bp-surface) 88%, transparent);
  backdrop-filter:blur(14px);
  border-top:1px solid var(--bp-divider);
  box-shadow:0 -10px 24px rgba(0,0,0,.08);
}

.bp-mobile-nav__link{
  position:relative;
  flex:1 1 0;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:8px 4px;
  border-radius:14px;
  text-decoration:none;
  color:var(--bp-text);
  transition:background .18s ease, color .18s ease, transform .18s ease;
}

.bp-mobile-nav__link svg{
  width:22px;
  height:22px;
  display:block;
  stroke:currentColor;
}

.bp-mobile-nav__link small{
  font-size:var(--bp-text-micro);
  line-height:1.1;
  font-weight:700;
  color:currentColor;
  white-space:nowrap;
}

.bp-mobile-nav__link.is-active{
  background:var(--accent,#ff5a2a);
  color:var(--accent-contrast, #fff);
}

.bp-mobile-nav__link:not(.is-active):hover{
  background:var(--bp-glass-3);
}

.bp-mobile-nav__badge{
  position:absolute;
  top:3px;
  right:14px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:var(--accent,#ff5a2a);
  color:var(--accent-contrast, #fff);
  font-size:11px;
  line-height:18px;
  text-align:center;
  font-weight:700;
}

.bp-mobile-nav__link.is-disabled{
  opacity:.38;
  pointer-events:none;
  filter:grayscale(1);
}

  .bp-mobile-nav{ display:flex; }
  body.page-panel .bp-panel{
    padding-bottom:96px;
  }

@media (min-width:1100px){

  body.page-panel .bp-panel-shell{
    width:min(1320px, calc(100% - 32px));
    margin:0 auto;
    padding:58px 0 34px;

    display:grid;
    grid-template-columns:230px minmax(0,1fr);
    gap:22px;

    font-family:var(--bp-font);
  }

  body.page-panel .bp-panel-shell > .bp-panel{
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
    padding:0 0 28px !important;
  }

  .bp-sidebar{
    position:sticky;
    top:62px;

    height:calc(100vh - 82px);
    align-self:start;

    padding:16px 12px;

    border-radius:28px;
    background:color-mix(in srgb, var(--bp-surface) 92%, transparent);
    border:0;

    box-shadow:0 18px 42px rgba(15,23,42,.08);

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }

  .bp-sidebar__brand{
    display:flex;
    align-items:center;
    gap:12px;

    padding:8px 8px 18px;
    margin-bottom:8px;

    border-bottom:1px solid color-mix(in srgb, var(--bp-border-subtle) 80%, transparent);
  }


  .bp-sidebar__brand-text{
    min-width:0;
  }

  .bp-sidebar__brand-text strong{
    display:block;

    color:var(--bp-text);
    font-size:15px;
    font-weight:800;
    line-height:1.15;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .bp-sidebar__brand-text small{
    display:block;
    margin-top:3px;

    color:var(--bp-soft);
    font-size:var(--bp-text-micro);
    font-weight:600;
    line-height:1.2;
  }

  .bp-sidebar__nav{
    display:flex;
    flex-direction:column;
    gap:6px;
    padding-top:4px;
  }

  .bp-sidebar__link{
    appearance:none;
    -webkit-appearance:none;
    border:0;
    width:100%;
    box-sizing:border-box;

    display:flex;
    align-items:center;
    gap:11px;

    min-height:44px;
    padding:0 12px;

    border-radius:15px;
    background:transparent;

    color:color-mix(in srgb, var(--bp-text) 74%, transparent);
    text-decoration:none;

    font-family:var(--bp-font);
    font-size:var(--bp-text-body);
    font-weight:700;
    line-height:1;

    cursor:pointer;
    transition:
      background .18s ease,
      color .18s ease,
      transform .18s ease,
      box-shadow .18s ease;
  }

  .bp-sidebar__link:hover{
    background:color-mix(in srgb, var(--accent) 7%, transparent);
    color:var(--bp-text);
    transform:translateX(2px);
  }

  .bp-sidebar__link.is-active{
    background:color-mix(in srgb, var(--accent) 13%, #fff);
    color:var(--accent);
    box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 11%, transparent);
  }

  .bp-sidebar__icon{
    width:22px;
    height:22px;
    flex:0 0 auto;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    color:currentColor;
  }

  .bp-sidebar__icon svg{
    width:20px;
    height:20px;
    display:block;
    stroke:currentColor;
  }

  .bp-sidebar__link--button{
    text-align:left;
  }

  /* La bottom nav disparaît en desktop */
  .bp-mobile-nav{
    display:none !important;
  }

  /* Les raccourcis bleus deviennent moins nécessaires sur desktop */
  .bp-actions{
    display:none !important;
  }
}

/* Tablette / mobile : pas de sidebar, bottom bar conservée */
@media (max-width:1099px){
  .bp-panel-shell{
    display:block;
    padding-top:14px;
  }

  .bp-sidebar{
    display:none !important;
  }
}

.bp-sidebar__icon .bp-nav-svg,
.bp-mobile-nav__link > .bp-nav-svg{
  width:22px;
  height:22px;
  display:block;
  flex:0 0 auto;

  color:currentColor;
  stroke:currentColor;

  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
}

.bp-sidebar__icon .bp-nav-svg{
  width:25px;
  height:25px;
}

@media (max-width: 640px){

  .bp-status__label{
    display:none !important;
  }
}

.bp-sidebar__label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bp-sidebar__badge{
  margin-left:auto;
  min-width:22px;
  height:22px;
  padding:0 7px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;

  border-radius:999px;
  background:var(--accent,#ff5a2a);
  color:var(--accent-contrast, #fff);

  font-size:11px;
  font-weight:900;
  line-height:22px;
  letter-spacing:-.02em;

  box-shadow:0 8px 18px color-mix(in srgb, var(--accent,#ff5a2a) 22%, transparent);
}

.bp-sidebar__badge[hidden]{
  display:none !important;
}

.bp-sidebar__link.is-active .bp-sidebar__badge{
  background:var(--accent,#ff5a2a);
  color:var(--accent-contrast, #fff);
}

@media (max-width:1099px){
  .bp-sidebar__badge{
    display:none !important;
  }
}

@media (max-width: 490px){

  .bp-mobile-nav{
    gap:4px;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    padding:8px 8px !important;
  }

  .bp-mobile-nav__link{
    min-height:48px;
    gap:0;
    padding:9px 4px;
    border-radius:16px;
  }

  .bp-mobile-nav__link small{
    display:none !important;
  }

  .bp-mobile-nav__link > .bp-nav-svg,
  .bp-mobile-nav__link svg{
    width:23px;
    height:23px;
  }

  .bp-mobile-nav__badge{
    top:5px;
    right:50%;
    transform:translateX(22px);
    min-width:17px;
    height:17px;
    padding:0 5px;
    font-size:10px;
    line-height:17px;
  }

  body.page-panel .bp-panel{
    padding-bottom:78px;
  }
}

@media (max-width:1099px){
  .bp-mobile-nav{
    inset:auto 0 0 0 !important;
    height:72px !important;
    min-height:72px !important;
    max-height:72px !important;
    padding:8px 10px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }
}

@media (max-width:490px){
  .bp-mobile-nav{
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    padding:8px !important;
  }
}

/* ============================================================
   03. Composants communs, boutons, modales et formulaires
   ============================================================ */

.bp-status{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border-radius: var(--bp-radius-pill);
  color:var(--bp-text);
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}

.bp-status__dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--bp-soft);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--bp-soft) 18%, transparent);
}

.bp-status__label{ font-weight:700; }
.bp-status__detail{ opacity:.7; font-size:var(--bp-fs-13); }

/* --- Variantes --- */
.bp-status--open{ background:color-mix(in srgb, var(--accent) 14%, var(--bp-surface)); }
.bp-status--open .bp-status__dot{
  background:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);
}

.bp-status--preorder{ background:color-mix(in srgb, var(--primary) 12%, var(--bp-surface)); }
.bp-status--preorder .bp-status__dot{
  background:var(--primary);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 18%, transparent);
}

/* --- Closed synchronisé avec l’en-tête, contraste garanti --- */
.bp-status--closed{
  color:var(--bp-topbar-fg);
  background:color-mix(in srgb, var(--bp-topbar-fg) 10%, transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--bp-topbar-fg) 18%, transparent);
}

.bp-panel__head.is-scrolled .bp-status--closed{
  color:var(--bp-topbar-fg);
  background:color-mix(in srgb, var(--bp-topbar-fg) 10%, transparent);
  backdrop-filter:none;
  border:0;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--bp-topbar-fg) 18%, transparent);
}

/* --- Buttons ------------------------------------------------- */
.bp-actions{ display:flex; flex-wrap:wrap; gap:10px; margin:0; }

.bp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border:0;
  border-radius:var(--radius-button);
  background:var(--bp-action-primary-bg);
  color:var(--bp-action-primary-text);
  text-decoration:none;
  font-size:var(--bp-text-control);
  font-weight:700;
  line-height:var(--lh-tight);
  box-shadow:var(--bp-shadow-soft);
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, color .12s ease;
  will-change:transform;
}

.bp-btn:hover{
  transform:translateY(-1px);
  background:var(--bp-action-primary-hover-bg);
  color:var(--bp-action-primary-hover-text);
}

.bp-btn--soft{
  background:var(--bp-action-secondary-bg);
  color:var(--bp-action-secondary-text);
  box-shadow:var(--bp-outline-control);
}

.bp-btn--soft:hover{
  background:var(--bp-action-secondary-hover-bg);
  color:var(--bp-action-secondary-text);
  box-shadow:var(--bp-outline-control);
}


/* Buttons with icons */
.bp-btn__ico{ width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center; margin-right:8px; }
.bp-btn__ico svg{ width:24px; height:24px; display:block; }

/* --- Cards --------------------------------------------------- */
.bp-card{
  background: var(--bp-surface);
  border:0;
  box-shadow:var(--bp-shadow-soft);
  border-radius: var(--bp-radius);
  padding:14px;
  margin-top:12px;
  color:var(--bp-text);
}
.bp-card__title{
  margin-bottom:10px;
  font-size:var(--bp-text-card-title);
  font-weight:800;
  line-height:var(--lh-tight);
}

.bp-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.bp-modal__overlay{
  position: absolute;
  inset: 0;
  background: var(--overlay);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.bp-modal__dialog{
  position: relative;
  z-index: 1;
  max-width: 520px;
  width: calc(100% - 24px);
  margin: 70px auto 20px;
  border-radius: var(--bp-radius);
  border:0;
  box-shadow:var(--bp-shadow-soft);
  overflow: hidden;
  color: var(--bp-text);
}

.bp-modal__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
}

.bp-modal__title{
  font-weight: 700;
  color: var(--bp-text);
}

.bp-modal__body{
  padding: 10px 16px 14px;
}

.bp-modal__foot{
  padding: 12px 16px;
  display: flex;
  justify-content: flex-end;
}

/* prevent scroll when modal open */
.bp-modal-open{
  overflow: hidden;
}

/* Close button — pattern Bloopin partagé par toutes les modales du panel */
.bp-modal__close{
  all: unset;
  position: relative;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  color: var(--bp-text);
}

.bp-modal__close::before,
.bp-modal__close::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2px;
  height: 18px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: transform .36s cubic-bezier(.22,1,.36,1), opacity .18s ease;
}

.bp-modal__close::before{
  transform: translate(-50%, -50%) rotate(45deg);
}

.bp-modal__close::after{
  transform: translate(-50%, -50%) rotate(-45deg);
}

.bp-modal__close:hover{
  background: transparent !important;
  box-shadow: none;
  color: var(--bp-text) !important;
}

.bp-modal__close:hover::before{
  transform: translate(-50%, -50%) rotate(135deg);
}

.bp-modal__close:hover::after{
  transform: translate(-50%, -50%) rotate(45deg);
}

.bp-modal__close:active::before,
.bp-modal__close:active::after{
  opacity: .62;
}

.bp-modal__close:focus-visible{
  outline: 2px solid color-mix(in srgb, var(--bp-text) 28%, transparent);
  outline-offset: 2px;
  color: var(--bp-text) !important;
}

/* Les anciens SVG restent tolérés dans le markup, mais la croix est désormais
   dessinée par le composant partagé pour garantir un rendu identique partout. */
.bp-modal__close svg{
  display: none;
}


.bp-modal__dialog.bp-modal__dialog--help{
  max-width: 720px;
  width: min(92vw, 720px);
  margin: 52px auto 20px;
  padding: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
  opacity: 1;
}

.bp-help-image{
  position: relative;
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
}

.bp-help-image img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}

/* croix flottante d'assistance — même langage visuel que les autres modales */
.bp-modal__close--help{
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 20;
  width: 38px;
  height: 38px;
  flex-basis: 38px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--bp-text);
}

/* zones cliquables */
.bp-help-hotspot{
  position: absolute;
  display: block;
  z-index: 5;
  border-radius: 999px;
}

/* bouton FAQ */
.bp-help-hotspot--faq{
  left: 17%;
  top: 69%;
  width: 26%;
  height: 8%;
}

/* bouton téléphone */
.bp-help-hotspot--phone{
  left: 17%;
  top: 76%;
  width: 30%;
  height: 8%;
}
@media (max-width: 1024px){
  .bp-modal__dialog.bp-modal__dialog--help{
    transform: scale(.96);
    transform-origin: top center;
  }
}

/* --- FAQ / centre d'aide : mêmes composants que le panel --- */
.bp-faq{
  display:grid;
  gap:22px;
  padding-bottom:18px;
}

.bp-faq .bp-card{
  margin-top:0;
}

.bp-faq-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,440px);
  align-items:center;
  gap:28px;
  padding:30px;
  border:0;
  border-radius:calc(var(--bp-radius) + 6px);
  background:var(--bp-surface);
  box-shadow:var(--bp-shadow-soft);
}

.bp-faq-hero__copy{
  min-width:0;
}

.bp-faq-eyebrow{
  display:inline-block;
  margin-bottom:7px;
  color:var(--primary);
  font-size:var(--bp-text-meta);
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.bp-faq-hero h1,
.bp-faq-section-head h2,
.bp-faq-support h2{
  margin:0;
  color:var(--bp-text);
  font-family:var(--bp-font);
  font-weight:700;
  letter-spacing:0;
}

.bp-faq-hero h1{
  font-size:var(--bp-text-page-title);
  line-height:var(--lh-tight);
}

.bp-faq-hero__copy > p{
  max-width:620px;
  margin:12px 0 0;
  color:var(--bp-soft);
  font-size:var(--bp-text-control);
  line-height:1.65;
}

.bp-faq-hero__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:16px;
  color:var(--bp-faint);
  font-size:var(--bp-text-meta);
  font-weight:700;
}

.bp-faq-plan-pill{
  padding:6px 10px;
  background:var(--bp-glass-4) !important;
  color:var(--bp-text);
  font-size:var(--bp-text-meta);
  font-weight:700;
}

.bp-faq-search{
  position:relative;
  display:flex;
  align-items:center;
  min-width:0;
}

.bp-faq-search .bp-input{
  width:100%;
  min-width:0;
  min-height:54px;
  box-sizing:border-box;
  padding:0 46px 0 48px;
  border:0 !important;
  border-radius:var(--bp-radius-control);
  background:var(--input-bg);
  color:var(--bp-text);
  font:600 var(--bp-text-control)/1.2 var(--bp-font);
  box-shadow:var(--bp-outline-control);
}

.bp-faq-search .bp-input::placeholder{
  color:var(--input-placeholder);
  font-weight:500;
  opacity:1;
}

.bp-faq-search .bp-input:focus,
.bp-faq-search .bp-input:focus-visible{
  outline:none !important;
  border:0 !important;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb,var(--accent) 48%,var(--bp-border-subtle)),
    var(--focus-ring) !important;
}

.bp-faq-search__icon{
  position:absolute;
  left:16px;
  z-index:1;
  display:grid;
  width:20px;
  height:20px;
  place-items:center;
  color:var(--bp-soft);
  pointer-events:none;
}

.bp-faq-search__icon svg{
  width:19px;
  height:19px;
}

.bp-faq-search__clear{
  all:unset;
  position:absolute;
  right:12px;
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:50%;
  color:var(--bp-soft);
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.bp-faq-search__clear:hover,
.bp-faq-search__clear:focus-visible{
  outline:none;
  background:var(--bp-glass-3);
  color:var(--bp-text);
  box-shadow:none;
}

.bp-faq-search-status{
  grid-column:2;
  min-height:18px;
  margin:-20px 2px 0;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  font-weight:600;
}

.bp-faq-shortcuts,
.bp-faq-section{
  padding:22px;
  border:0;
  background:var(--bp-surface);
  box-shadow:var(--bp-shadow-soft);
}

.bp-faq-section-head{
  display:flex;
  align-items:flex-start;
  gap:13px;
  margin-bottom:13px;
}

.bp-faq-section-head--compact{
  margin-bottom:15px;
}

.bp-faq-section-head h2,
.bp-faq-support h2{
  font-size:var(--bp-text-section-title);
  line-height:var(--lh-tight);
}

.bp-faq-section-head p{
  margin:5px 0 0;
  color:var(--bp-soft);
  font-size:var(--bp-text-body);
  line-height:1.55;
}

.bp-faq-section-head__icon,
.bp-faq-icon-box{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:0;
  background:var(--bp-glass-3);
  color:var(--primary);
  box-shadow:none;
}

.bp-faq-section-head__icon{
  width:38px;
  height:38px;
  border-radius:12px;
}

.bp-faq-icon-box{
  width:36px;
  height:36px;
  border-radius:11px;
}

.bp-faq-section-head__icon .bp-hosted-icon,
.bp-faq-shortcut__icon{
  width:19px;
  height:19px;
  color:var(--primary);
}

.bp-faq-shortcuts__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.bp-faq-shortcut{
  appearance:none;
  display:flex;
  min-width:0;
  min-height:52px;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border:0;
  border-radius:var(--bp-radius-control);
  background:var(--bp-surface-2);
  color:var(--bp-text);
  font:700 var(--bp-text-body)/1.25 var(--bp-font);
  text-align:left;
  text-decoration:none !important;
  cursor:pointer;
  box-shadow:var(--bp-outline-control);
  transition:transform .15s ease,background .15s ease,box-shadow .15s ease;
}

.bp-faq-shortcut:hover{
  background:var(--bp-surface);
  color:var(--bp-text);
  transform:translateY(-1px);
  box-shadow:var(--bp-outline-control-strong);
}

.bp-faq-shortcut:focus,
.bp-faq-shortcut:focus-visible{
  outline:none;
  background:var(--bp-surface);
  color:var(--bp-text);
  box-shadow:var(--bp-outline-control-strong),var(--focus-ring);
}

.bp-faq-toc{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:2px 1px 7px;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}

.bp-faq-toc .bp-faq-toc__link{
  flex:0 0 auto;
  gap:8px;
  min-height:38px;
  padding:8px 12px;
  background:var(--bp-glass-4) !important;
  color:var(--bp-text);
  font-size:var(--bp-text-meta);
  font-weight:700;
  text-decoration:none !important;
}

.bp-faq-toc .bp-faq-toc__link:hover,
.bp-faq-toc .bp-faq-toc__link:focus-visible{
  outline:none;
  background:var(--bp-surface-2) !important;
  color:var(--bp-text);
  box-shadow:var(--bp-outline-control-strong);
}

.bp-faq-toc__link span{
  display:grid;
  min-width:22px;
  height:22px;
  place-items:center;
  padding:0 5px;
  border-radius:var(--bp-radius-pill);
  background:var(--bp-glass-3);
  color:var(--primary);
  font-size:11px;
  font-weight:800;
}

.bp-faq-sections{
  display:grid;
  gap:18px;
}

.bp-faq-section{
  scroll-margin-top:92px;
}

.bp-faq-list{
  display:grid;
  gap:8px;
}

.bp-faq-item{
  overflow:hidden;
  border:0;
  border-radius:var(--bp-radius-control);
  background:var(--bp-surface-2);
  box-shadow:var(--bp-outline-control);
}

.bp-faq-item[open]{
  background:var(--bp-surface);
  box-shadow:var(--bp-outline-control-strong);
}

.bp-faq-item > summary{
  display:flex;
  min-height:50px;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 15px;
  color:var(--bp-text);
  font-size:var(--bp-text-body);
  font-weight:700;
  line-height:1.4;
  list-style:none;
  cursor:pointer;
  user-select:none;
}

.bp-faq-item > summary::-webkit-details-marker{
  display:none;
}

.bp-faq-item > summary:hover{
  background:var(--bp-glass-2);
}

.bp-faq-item > summary:focus,
.bp-faq-item > summary:focus-visible{
  outline:none;
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 30%,var(--bp-border-subtle));
}

.bp-faq-item__chevron{
  display:grid;
  flex:0 0 auto;
  width:30px;
  height:30px;
  place-items:center;
  border:0;
  border-radius:50%;
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  box-shadow:none;
  transition:transform .18s ease,color .18s ease,background .18s ease;
}

.bp-faq-item__chevron svg{
  width:16px;
  height:16px;
}

.bp-faq-item[open] .bp-faq-item__chevron{
  transform:rotate(180deg);
  background:color-mix(in srgb,var(--primary) 10%,var(--bp-surface));
  color:var(--primary);
}

.bp-faq-item__answer{
  padding:0 58px 16px 15px;
  color:var(--bp-soft);
  font-size:var(--bp-text-body);
  line-height:1.65;
}

.bp-faq-item__answer p{
  margin:0 0 10px;
}

.bp-faq-item__answer p:last-child{
  margin-bottom:0;
}

.bp-faq-item__answer ol,
.bp-faq-item__answer ul{
  display:grid;
  gap:7px;
  margin:0 0 10px 20px;
  padding:0;
}

.bp-faq-item__answer strong{
  color:var(--bp-text);
  font-weight:700;
}

.bp-faq-item__answer a{
  color:var(--primary);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}

.bp-faq-empty{
  display:grid;
  justify-items:center;
  gap:8px;
  padding:36px 22px;
  border:0;
  border-radius:var(--bp-radius);
  background:var(--bp-surface);
  text-align:center;
  box-shadow:var(--bp-outline-control);
}

.bp-faq-empty[hidden]{
  display:none !important;
}

.bp-faq-empty__icon{
  width:38px;
  height:38px;
  margin-bottom:2px;
  padding:9px;
  box-sizing:border-box;
  border-radius:12px;
  background:var(--bp-glass-3);
  color:var(--bp-soft);
}

.bp-faq-empty strong{
  font-size:var(--bp-text-card-title);
}

.bp-faq-empty p{
  max-width:560px;
  margin:0 0 8px;
  color:var(--bp-soft);
  font-size:var(--bp-text-body);
  line-height:1.55;
}

.bp-faq-support{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:24px;
  border:0;
  background:var(--bp-surface);
  box-shadow:var(--bp-outline-control),var(--bp-shadow-soft);
}

.bp-faq-support p{
  max-width:680px;
  margin:7px 0 0;
  color:var(--bp-soft);
  font-size:var(--bp-text-body);
  line-height:1.55;
}

.bp-faq-support__actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:9px;
}

.bp-faq-support__actions .bp-btn{
  white-space:nowrap;
  text-decoration:none !important;
}

@media (max-width:980px){
  .bp-faq-hero{
    grid-template-columns:1fr;
    gap:20px;
  }

  .bp-faq-search-status{
    grid-column:1;
    margin:-12px 2px 0;
  }

  .bp-faq-shortcuts__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:767px){
  .bp-faq{
    gap:16px;
  }

  .bp-faq-hero,
  .bp-faq-section,
  .bp-faq-shortcuts,
  .bp-faq-support{
    padding:17px;
    border-radius:var(--bp-radius-control);
  }

  .bp-faq-search .bp-input{
    min-height:50px;
    padding-left:44px;
    font-size:var(--bp-text-body);
  }

  .bp-faq-shortcuts__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .bp-faq-shortcut{
    min-height:50px;
    padding:7px 10px;
  }

  .bp-faq-toc{
    margin-inline:-16px;
    padding-inline:16px;
    scrollbar-width:none;
  }

  .bp-faq-toc::-webkit-scrollbar{
    display:none;
  }

  .bp-faq-section-head__icon{
    width:34px;
    height:34px;
    border-radius:10px;
  }

  .bp-faq-item > summary{
    min-height:48px;
    padding:12px;
    gap:10px;
  }

  .bp-faq-item__answer{
    padding:0 12px 14px;
  }

  .bp-faq-support{
    align-items:stretch;
    flex-direction:column;
  }

  .bp-faq-support__actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }

  .bp-faq-support__actions .bp-btn{
    width:100%;
    justify-content:center;
  }
}

@media (max-width:440px){
  .bp-faq-shortcuts__grid{
    grid-template-columns:1fr;
  }
}

.bp-form-stack{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.bp-form-box{
  background:var(--bp-glass-3);
  border-radius: var(--bp-radius);
  padding:1px;
}

.bp-section-title{
  margin-bottom:10px;
  font-size:var(--bp-text-section-title);
  font-weight:800;
  line-height:var(--lh-tight);
}

.bp-label{
  display:block;
  font-weight:700;
  margin-bottom:8px;
}

.bp-input{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:0;
  border-radius:var(--bp-radius-control);
  background:var(--input-bg);
  color:var(--bp-text);
  font:inherit;
  font-size:var(--bp-text-control);
  line-height:var(--lh-normal);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
}

.bp-input:focus,
.bp-input:focus-visible{
  outline:none;
  border:0;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, var(--accent) 48%, var(--bp-border-subtle)),
    var(--focus-ring);
}

.bp-helptext{
  margin:8px 0 0;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  line-height:var(--lh-normal);
}

/* --- Shared title row -------------------------------------- */
.bp-card__title--between{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.bp-title-inline{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex:1 1 auto;
}

.bp-count-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:var(--bp-radius-pill);
  background:var(--bp-glass-3);
  font-weight:700;
}

.bp-card--soft{
  background:var(--bp-glass-2);
}

/* --- Icon buttons ------------------------------------------ */
.bp-icon-btn{
  all:unset;
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--bp-radius-control);
  cursor:pointer;
  background:var(--bp-action-secondary-bg);
  color:var(--bp-text);
  box-shadow:var(--bp-outline-control);
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
}

.bp-icon-btn:hover{
  background:var(--bp-action-secondary-hover-bg);
  color:var(--bp-text);
  box-shadow:var(--bp-outline-control);
}

.bp-icon-btn.is-active{
  background:var(--accent,#ff5a2a);
  color:var(--accent-contrast, #fff);
  box-shadow:none;
}

.bp-icon-btn svg{
  width:24px;
  height:24px;
  display:block;
  stroke:currentColor;
}


.bp-icon-btn .bp-hosted-icon--view,
.bp-icon-btn .bp-hosted-icon--gift{
  width:24px;
  height:24px;
}

.bp-view-toggle{
  display:flex;
  gap:8px;
  align-items:center;
}

/* --- Customers cards view ---------------------------------- */

/* --- Loyalty switch ---------------------------------------- */
.bp-loyalty-switchline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.bp-loyalty-switchline > div{
  flex:1 1 auto;
  min-width:0;
}

.bp-loyalty-switchline .bp-switch{
  flex:0 0 auto;
}

.bp-switch{
  position:relative;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  cursor:pointer;
}

.bp-switch input{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
}

.bp-switch__ui{
  position:relative;
  display:block;
  width:52px;
  height:30px;
  border-radius:var(--bp-radius-pill);
  background:rgba(15,23,42,.14);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.08);
  transition:background .2s ease, box-shadow .2s ease;
}

.bp-switch__ui::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--input-bg) !important;
  box-shadow:0 4px 12px rgba(0,0,0,.18);
  transition:transform .22s ease;
}

/* En mode sombre, l'état OFF reste volontairement neutre mais lisible.
   Ciblage uniquement des switches désactivés : l'état ON conserve son rendu accentué existant. */
body.page-panel[data-mode="dark"] .bp-switch input:not(:checked) + .bp-switch__ui{
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18), inset 0 1px 2px rgba(0,0,0,.18);
}

body.page-panel[data-mode="dark"] .bp-switch input:not(:checked) + .bp-switch__ui::after{
  background:rgba(255,255,255,.82) !important;
  box-shadow:0 3px 10px rgba(0,0,0,.32);
}

.bp-switch input:checked + .bp-switch__ui{
  background:var(--accent,#f97316);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.08), 0 0 0 4px rgba(249,115,22,.12);
}

.bp-switch input:checked + .bp-switch__ui::after{
  transform:translateX(22px);
}

/* --- Sheet modal ------------------------------------------- */
.bp-sheet{
  --bp-sheet-safe-bottom: 96px;
  position:fixed;
  inset:0;
  z-index:9999;
  padding:16px 16px calc(16px + var(--bp-sheet-safe-bottom));
}

.bp-sheet__overlay{
  position:absolute;
  inset:0;
  background:rgba(15,17,21,.28);
  backdrop-filter:blur(8px);
}

.bp-sheet__dialog{
  position:relative;
  z-index:1;
  width:min(920px, calc(100% - 24px));
  height:min(calc(100dvh - 32px - var(--bp-sheet-safe-bottom)), 920px);
  max-height:calc(100dvh - 32px - var(--bp-sheet-safe-bottom));
  margin:0 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:var(--bp-radius);
  background:linear-gradient(
    180deg,
    color-mix(in srgb, var(--bp-surface) 96%, transparent),
    color-mix(in srgb, var(--bp-surface) 90%, transparent)
  );
  box-shadow:0 18px 46px rgba(0,0,0,.14);
}

.bp-sheet__head{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  border-bottom:1px solid var(--bp-divider);
  background:var(--bp-glass-4);
  backdrop-filter:blur(12px);
  flex:0 0 auto;
}

.bp-sheet__title{
  font-size:var(--bp-text-section-title);
  font-weight:800;
  letter-spacing:-.01em;
}

.bp-sheet__body{
  flex:1 1 auto;
  min-height:0;
  padding:16px 18px 24px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}

@media (max-width: 1024px){
  .bp-sheet{
    --bp-sheet-safe-bottom: 100px;
  }
}

@media (max-width: 767px){
  .bp-sheet{
    --bp-sheet-safe-bottom: 80px;
    padding:15px 4px calc(8px + var(--bp-sheet-safe-bottom));
  }

  .bp-sheet__dialog{
    width:100%;
    height:calc(100dvh - 16px - var(--bp-sheet-safe-bottom));
    max-height:calc(100dvh - 16px - var(--bp-sheet-safe-bottom));
    border-radius:20px;
  }

  .bp-sheet__head{
    padding:14px 14px;
  }

  .bp-sheet__body{
    padding:14px 14px 20px;
  }
}

/* ============================================================
   04. Dashboard et statistiques
   ============================================================ */

/* --- KPIs ---------------------------------------------------- */
.bp-kpis{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin:14px 0 10px; }

.bp-kpi{
  position:relative;
  background: var(--bp-surface);
  border:0;
  box-shadow:var(--bp-shadow-soft);
  border-radius: var(--bp-radius);
  padding:14px 14px 12px;
  overflow:hidden;
}

.bp-kpi__label{ font-size:var(--bp-text-meta); color:var(--bp-soft); }
.bp-kpi__value{
  font-size:var(--bp-text-page-title);
  margin-top:8px;
  letter-spacing:-.2px;
  color:var(--bp-text); 
}

/* --- Orders list -------------------------------------------- */
.bp-orders{ display:flex; flex-direction:column; gap:6px; }

.bp-order{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 15px;
  border-radius: var(--ui-radius-panel);
  border:0;
  text-decoration:none;
  color:var(--bp-text);
  background:var(--bp-glass-2);
  transition:transform .12s ease, box-shadow .12s ease, filter .12s ease;
}

.bp-order:hover{ transform:translateY(-1px); filter:brightness(.99); }

.bp-order__id{
  font-size:var(--bp-fs-13);
  color:var(--bp-soft);
  font-family:var(--bp-mono);
  letter-spacing:.2px; /* ✅ ticket style */
}

.bp-order__name{ margin-top:4px; }
.bp-order__total{ text-align:right; }
.bp-order__status{ font-size:var(--bp-fs-13); color:var(--bp-soft); text-align:right; }
.bp-empty{ color:var(--bp-soft); }

/* --- Range buttons ------------------------------------------ */
.bp-range{ display:flex; gap:8px; }

.bp-range__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 10px;
  border-radius: var(--bp-radius-pill);
  text-decoration:none;
  font-weight:600;
  background:var(--bp-glass-3);
  box-shadow: inset 0 0 0 2px var(--bp-border-subtle);
  color:var(--bp-text);
}

.bp-range__btn.is-active{ background:var(--accent); color:var(--accent-contrast, #fff); border-color:transparent; }

/* --- Stats blocks ------------------------------------------- */
.bp-stats-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}

.bp-stat{
  padding:12px;
  border-radius: var(--bp-radius);
  background:var(--bp-glass-3);
}

.bp-stat__label{
  font-size:var(--bp-fs-13);
  opacity:.75;
}

.bp-stat__value{
  margin-top:6px;
  font-size:var(--bp-fs-20);
}

.bp-stats-row{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}

.bp-stats-pill{
  padding:12px;
  border-radius: var(--bp-radius);
  background:var(--bp-glass-2);
}

/* --- Delta --------------------------------------------------- */
.bp-stat__delta{
  margin-top:6px;
  font-size:var(--bp-fs-13);
  opacity:.95;
}

.bp-delta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  font-weight:600;
}

.bp-delta.is-up{
  background:color-mix(in srgb, var(--accent) 14%, transparent);
  color:var(--accent);
}

.bp-delta.is-down{
  background:color-mix(in srgb, var(--primary) 14%, transparent);
  color:var(--primary);
}

/* --- Split top lists ---------------------------------------- */
.bp-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:12px;
}

.bp-split__col{
  padding:12px;
  border-radius:16px;
  background:color-mix(in srgb, var(--bp-surface) 80%, transparent);
}

.bp-mini-title{
  margin-bottom:10px;
}

.bp-toplist{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.bp-topitem{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:baseline;
}

.bp-topitem__meta{
  white-space:nowrap;
  opacity:.92;
}

/* --- Sparkline ------------------------------------------------ */
.bp-spark{
  margin:10px 0 12px;
  padding:14px;
  border-radius: var(--bp-radius);
  border:0;
  background:var(--bp-glass-2);
  box-shadow: var(--bp-shadow-soft), var(--app-inset);
}

.bp-spark__meta{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.bp-spark__meta-left{ min-width:0; }
.bp-spark__meta-right{ flex:0 0 auto; }

.bp-spark__label{ font-weight:600; }

.bp-spark__sub{
  margin-top:2px;
  font-size:12px;
  color:var(--bp-soft);
  line-height:1.3;
}

.bp-spark__chart{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  align-items:stretch;
}

.bp-spark__yaxis{
  display:flex;
  flex-direction:column-reverse;
  justify-content:space-between;
  align-items:flex-end;
  padding:10px 0 18px;
  color:color-mix(in srgb, var(--bp-text) 42%, transparent);
  font-size:11px;
  font-weight:700;
  line-height:1;
  user-select:none;
  min-width:34px;
}

@media (max-width: 640px){
  .bp-spark__yaxis{
    font-size:10px;
    padding:10px 0 16px;
    min-width:28px;
  }
}

.bp-spark__plot{
  min-width:0;
}

.bp-spark__svg{
  position:relative;
  height:190px;
  width:100%;
  min-height:190px;
  border-radius:12px;
}

.bp-spark__svg svg{
  display:block;
  width:100%;
  height:190px;
  position:relative;
  z-index:1;
}

.bp-spark__svg::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:12px;
  pointer-events:none;
  opacity:.24;
  background:
    linear-gradient(to bottom, color-mix(in srgb, var(--bp-text) 5%, transparent), transparent 36%),
    repeating-linear-gradient(
      to right,
      color-mix(in srgb, var(--bp-text) 4.5%, transparent) 0,
      color-mix(in srgb, var(--bp-text) 4.5%, transparent) 1px,
      transparent 1px,
      transparent 44px
    );
}

.bp-spark__guide{
  stroke:color-mix(in srgb, var(--bp-text) 10%, transparent);
  stroke-width:1;
}

.bp-spark__area{
  fill:color-mix(in srgb, var(--primary) 10%, transparent);
}

.bp-spark__line{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.bp-spark__line--cur{
  stroke:var(--primary);
  stroke-width:4;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.06));
}

.bp-spark__line--prev{
  stroke:var(--bp-soft);
  opacity:.35;
  stroke-width:3;
}

.bp-spark__empty{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:190px;
  text-align:center;
  font-size:var(--bp-text-body);
  color:var(--bp-soft);
}

.bp-spark__legend{
  display:flex;
  gap:18px;
  margin-top:8px;
  font-size:var(--bp-fs-13);
  opacity:.82;
}

.bp-legend-item{
  display:flex;
  align-items:center;
  gap:6px;
}

.bp-legend-dot{
  width:10px;
  height:10px;
  border-radius:50%;
}

.bp-legend-dot--cur{ background:var(--primary); }
.bp-legend-dot--prev{ background:var(--bp-soft); opacity:.6; }

@media (max-width: 640px){
  .bp-spark{
    padding:12px;
  }

  .bp-spark__meta{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    margin-bottom:8px;
  }

  .bp-spark__sub{
    font-size:11px;
  }

  .bp-spark__chart{
    grid-template-columns:28px minmax(0,1fr);
    gap:8px;
  }

  .bp-spark__yaxis{
    font-size:10px;
    padding:10px 0 16px;
  }

  .bp-spark__svg{
    height:180px;
    min-height:180px;
  }

  .bp-spark__svg svg{
    height:180px;
  }

  .bp-spark__svg::before{
  opacity:.24;
  background:
    linear-gradient(to bottom, color-mix(in srgb, var(--bp-text) 5%, transparent), transparent 36%),
    repeating-linear-gradient(
      to right,
      color-mix(in srgb, var(--bp-text) 4.5%, transparent) 0,
      color-mix(in srgb, var(--bp-text) 4.5%, transparent) 1px,
      transparent 1px,
      transparent 44px
    );
}

  .bp-spark__legend{
    gap:10px;
    font-size:11px;
    flex-wrap:wrap;
  }
}


/* --- More stats button spacing ------------------------------ */
.bp-stats-more-wrap{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:nowrap;
  gap:8px;
}

.bp-stats-more-wrap .bp-btn{
  flex:0 1 auto;
  min-width:0;
  padding-inline:12px;
  white-space:nowrap;
}

.bp-stats-more-wrap .bp-stats-link .bp-hosted-icon{
  display:none !important;
}

/* --- AJAX loading ------------------------------------------- */
[data-bp-stats].is-loading{
  opacity:.55;
  pointer-events:none;
  filter:saturate(.9);
}

[data-bp-stats].is-loading:after{
  content:"Chargement…";
  display:block;
  margin-top:10px;
  opacity:.7;
  font-size:var(--bp-fs-13);
}


.bp-spark__yaxis span{
  display:block;
}

/* --- Responsive stats --------------------------------------- */
@media (max-width: 800px){
  .bp-stats-grid{
    grid-template-columns:1fr;
  }

  .bp-split{
    grid-template-columns:1fr;
  }

  .bp-stats-grid.bp-stats-grid--main{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .bp-stats-grid.bp-stats-grid--main .bp-stat:first-child{
    grid-column:1 / -1;
  }

  .bp-stats-grid:not(.bp-stats-grid--main){
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .bp-stats-grid:not(.bp-stats-grid--main) .bp-stat:nth-child(3){
    grid-column:1 / -1;
  }
}

@media (max-width: 640px){

  .bp-spark__plot{
    height:180px;
  }

  .bp-spark__plot::before{
    opacity:.18;
    background:
      linear-gradient(to bottom, rgba(0,0,0,.04), rgba(0,0,0,0) 36%),
      repeating-linear-gradient(
        to right,
        rgba(0,0,0,.04) 0,
        rgba(0,0,0,.04) 1px,
        transparent 1px,
        transparent 28px
      );
  }

}

/* --- AJAX loading ------------------------------------------- */

@media (min-width:768px){
  .bp-kpis{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:12px !important;
  }

  .bp-kpis .bp-kpi{
    grid-column:auto !important;
    min-width:0 !important;
  }

  .bp-kpi__value{
    font-size:clamp(20px, 2vw, 24px);
    white-space:nowrap;
  }
}

@media (max-width:767px){
  .bp-kpis{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }

  .bp-kpi__value{
    font-size:22px;
    white-space:nowrap;
  }
}

@media (max-width:380px){
  .bp-kpis{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
  }

  .bp-kpis .bp-kpi{
    min-width:0 !important;
    padding:12px 10px 10px !important;
    border-radius:16px;
  }

  .bp-kpi__label{
    font-size:12px;
    line-height:1.2;
  }

  .bp-kpi__value{
    margin-top:6px;
    font-size:20px;
    line-height:1.1;
    white-space:nowrap;
  }
}

@media (max-width:240px){
  .bp-kpis{
    gap:6px !important;
  }

  .bp-kpis .bp-kpi{
    padding:10px 8px 9px !important;
    border-radius:14px;
  }

  .bp-kpi__label{
    font-size:11px;
  }

  .bp-kpi__value{
    font-size:18px;
  }
}

@media (max-width:199px){
  .bp-kpis{
    grid-template-columns:1fr !important;
  }
}

.bp-spark__svg{
  border-radius:18px;
  overflow:hidden;
}

.bp-spark__svg::before{
  opacity:0 !important;
  background:none !important;
}

.bp-spark__guide{
  stroke:color-mix(in srgb, var(--bp-text) 12%, transparent) !important;
  stroke-width:1 !important;
  stroke-dasharray:6 10 !important;
  stroke-linecap:round !important;
}

.bp-spark__area{
  fill:color-mix(in srgb, var(--bp-text) 4%, transparent) !important;
}

.bp-spark__line{
  vector-effect:non-scaling-stroke;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.bp-spark__line--cur{
  stroke:color-mix(in srgb, var(--bp-text) 88%, transparent) !important;
  stroke-width:3.25 !important;
  filter:drop-shadow(0 2px 2px rgba(15,23,42,.08));
}

.bp-spark__line--prev{
  stroke:color-mix(in srgb, var(--bp-text) 36%, transparent) !important;
  stroke-width:2.5 !important;
  opacity:.26 !important;
}

.bp-legend-dot--cur{
  background:color-mix(in srgb, var(--bp-text) 88%, transparent) !important;
}

.bp-legend-dot--prev{
  background:color-mix(in srgb, var(--bp-text) 36%, transparent) !important;
  opacity:.55 !important;
}

@media (max-width:640px){
  .bp-spark__svg{
    border-radius:16px;
  }

  .bp-spark__line--cur{
    stroke-width:3 !important;
  }
}

.bp-spark__svg{
  position:relative !important;
  isolation:isolate;
  overflow:hidden !important;
}

.bp-spark__svg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  border-radius:18px !important;
  opacity:1 !important;
  background:
    linear-gradient(
      to bottom,
      color-mix(in srgb, var(--bp-text) 3.5%, transparent) 0%,
      transparent 38%
    ),
    repeating-linear-gradient(
      to right,
      color-mix(in srgb, var(--bp-text) 8%, transparent) 0,
      color-mix(in srgb, var(--bp-text) 8%, transparent) 1px,
      transparent 1px,
      transparent 72px
    ) !important;
}

.bp-spark__svg svg{
  position:relative !important;
  z-index:1 !important;
}

.bp-spark__guide{
  stroke:color-mix(in srgb, var(--bp-text) 13%, transparent) !important;
  stroke-width:1 !important;
  stroke-dasharray:7 10 !important;
  stroke-linecap:round !important;
}

@media (max-width:640px){
  .bp-spark__svg::before{
    border-radius:16px !important;
    background:
      linear-gradient(
        to bottom,
        color-mix(in srgb, var(--bp-text) 3.5%, transparent) 0%,
        transparent 38%
      ),
      repeating-linear-gradient(
        to right,
        color-mix(in srgb, var(--bp-text) 8%, transparent) 0,
        color-mix(in srgb, var(--bp-text) 8%, transparent) 1px,
        transparent 1px,
        transparent 56px
      ) !important;
  }
}


@media (max-width:640px){
  .bp-spark__meta{
    flex-direction:row !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin-bottom:8px !important;
  }

  .bp-spark__meta-left{
    flex:1 1 auto !important;
    min-width:0 !important;
  }

  .bp-spark__meta-right{
    flex:0 0 auto !important;
    margin-left:auto !important;
    align-self:flex-start !important;
  }

  .bp-spark__meta-right .bp-delta{
    width:max-content !important;
    max-width:none !important;
    white-space:nowrap !important;
    padding:6px 10px !important;
    border-radius:999px !important;
    font-size:12px !important;
    line-height:1 !important;
  }
}

@media (max-width:360px){
  .bp-spark__meta{
    gap:8px !important;
  }

  .bp-spark__meta-right .bp-delta{
    padding:5px 9px !important;
    font-size:11px !important;
  }
}

@media (max-width: 900px){
  .bp-panel{
    padding-left:clamp(10px, 2vw, 16px);
    padding-right:clamp(10px, 2vw, 16px);
  }
  .bp-card{ padding:16px; border-radius:18px; }
  .bp-kpi{ padding:16px; border-radius:18px; }
  .bp-kpis{ gap:12px; margin:14px 0; }
}

/* --- Actions slider (mobile) -------------------------------- */
@media (max-width: 900px){
  .bp-actions{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    gap:10px;
    padding:2px 2px 10px;
    margin:16px 0 10px;
    scroll-snap-type:x mandatory;
  }
  .bp-actions::-webkit-scrollbar{ height:6px; }
  .bp-actions::-webkit-scrollbar-thumb{ border-radius:999px; }
  .bp-btn{ flex:0 0 auto; white-space:nowrap; scroll-snap-align:start; }
}

@media (max-width: 800px){
  /* KPIs — 2 par ligne proprement */
  .bp-kpis{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .bp-kpis .bp-kpi{ grid-column:auto !important; }

  /* Topbar / badge tweaks */
  .bp-panel__topbar{ gap:10px; }
  .bp-status{ padding:10px 12px; border-radius:14px; }
  .bp-status__detail{ display:block; opacity:.75; margin-top:2px; }

}

/* ============================================================
   05. Horaires
   ============================================================ */

.bp-hours{ display:flex; flex-direction:column; gap:8px; }

.bp-hours__row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:12px 14px;
  border-radius: var(--bp-radius-control);
  background:color-mix(in srgb, var(--bp-surface) 86%, transparent);
  box-shadow:none;
  color:var(--bp-text);
}

.bp-hours__row strong{ font-weight:700; color:var(--bp-text); }
.bp-hours__row span{ opacity:.9; white-space:nowrap; color:var(--bp-text); }

/* Optional: a tiny separator feel without borders everywhere */
.bp-modal__body .bp-hours__row + .bp-hours__row{ margin-top:2px; }

.bp-hours-editor{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.bp-hours-guide{
  margin-top:12px;
  margin-bottom: 12px;
  padding:12px 14px;
  border-radius:var(--bp-radius-control);
  color:var(--bp-text);
}

.bp-hours-guide--warning{
  background:color-mix(in srgb, #f59e0b 10%, var(--bp-surface));
  border:1px solid color-mix(in srgb, #f59e0b 30%, var(--bp-border-subtle));
}

.bp-hours-guide strong{
  display:block;
  margin:0 0 4px;
  font-weight:800;
}

.bp-hours-guide p{
  margin:0;
  font-size:12px;
  line-height:1.5;
  color:var(--bp-soft);
}

.bp-hours-guide b{
  color:var(--bp-text);
  font-weight:700;
}

.bp-hours-editor__row{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:12px;
  align-items:start;
}

.bp-hours-editor__day{
  font-weight:700;
  padding-top:11px;
}

.bp-hours-editor__field{
  min-width:0;
}

.bp-closed-dates{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.bp-closed-dates__row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
}

.bp-form-actions{
  display:flex;
  justify-content:flex-end;
  gap:14px;
}

.bp-form-actions--start{
  justify-content:flex-start;
}

.bp-customer-points-form .bp-form-actions{
  margin-top:12px;
}

.bp-btn--sm{
  padding:8px 12px;
  font-size:var(--bp-text-control);
}

.bp-form-notice{
  padding:12px 14px;
  border-radius: var(--bp-radius-control);
  font-weight:600;
}

.bp-form-notice.is-success{
  background:color-mix(in srgb, var(--accent) 14%, #fff);
  color:var(--bp-text);
}

.bp-form-notice.is-error{
  background:color-mix(in srgb, #ef4444 14%, #fff);
  color:var(--bp-text);
}

@media (max-width: 800px){

  .bp-closed-dates__row{
    grid-template-columns:1fr;
  }
}

.bp-hours-read{
  margin-bottom:14px;
}

.bp-hours-meta{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}

.bp-hours-meta__item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius: var(--bp-radius);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  background:var(--bp-glass-2);
}

.bp-hours-meta__item strong{
  font-weight:700;
}

.bp-hours-meta__item span{
  text-align:right;
  color:var(--bp-soft);
}

.bp-hours-edit{
  margin-top:16px;
}


/* Box horaires plus douce */
.bp-hours-edit .bp-form-box{
  background:var(--bp-glass-2);
  border-radius:18px;
  padding:16px;
}

/* Inputs uniformes */
.bp-hours-edit .bp-input,
.bp-hours-edit input[type="text"],
.bp-hours-edit input[type="number"],
.bp-hours-edit input[type="date"]{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:44px;
  padding:12px 14px;
  border:0;
  border-radius:16px;
  background:var(--input-bg);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  color:var(--bp-text);
  font:inherit;
}

.bp-hours-edit .bp-input::placeholder,
.bp-hours-edit input::placeholder{
  color:var(--bp-faint);
  opacity:1;
}

.bp-hours-edit .bp-input:focus,
.bp-hours-edit input[type="text"]:focus,
.bp-hours-edit input[type="number"]:focus,
.bp-hours-edit input[type="date"]:focus{
  outline:none;
  border:0;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, var(--accent) 48%, var(--bp-border-subtle)),
    var(--focus-ring);
}

/* Ligne jour / champ un peu plus respirante */
.bp-hours-editor{
  gap:16px;
}

.bp-hours-editor__row{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:16px;
  align-items:start;
}

.bp-hours-editor__day{
  font-weight:700;
  padding-top:12px;
}

/* Aide un peu plus discrète */
.bp-hours-edit .bp-helptext{
  margin:8px 2px 0;
  font-size:12px;
  line-height:1.35;
  color:#9a6a2f;
}

/* Fermetures exceptionnelles */
.bp-hours-edit .bp-closed-dates{
  gap:14px;
}

.bp-hours-edit .bp-closed-dates__row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
}

/* Boutons plus espacés */
.bp-hours-edit .bp-form-actions{
  margin-top:16px;
}

.bp-hours-edit .bp-form-actions--start{
  margin-top:14px;
}

.bp-hours-edit .bp-btn--sm{
  min-height:44px;
  padding:10px 16px;
  border-radius: var(--bp-radius-control);
}

/* Notice plus clean */
.bp-hours-edit .bp-form-notice{
  margin-top:6px;
}

/* Responsive */
@media (max-width: 800px){
  .bp-hours-edit .bp-form-box{
    padding:14px;
  }

  .bp-hours-editor__row{
    grid-template-columns:1fr;
    gap:8px;
  }

  .bp-hours-editor__day{
    padding-top:0;
  }

  .bp-hours-edit .bp-closed-dates__row{
    grid-template-columns:1fr;
    gap:10px;
  }

  .bp-hours-edit .bp-closed-dates__row .bp-btn{
    width:100%;
  }

  .bp-hours-edit .bp-form-actions,
  .bp-hours-edit .bp-form-actions--start{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }

  .bp-hours-edit .bp-form-actions .bp-btn,
  .bp-hours-edit .bp-form-actions--start .bp-btn{
    width:100%;
  }
}

/* ============================================================
   06. Clients et fidélité
   ============================================================ */

.bp-customers{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.bp-customer{
  padding:12px;
  border-radius:var(--bp-radius);
  background:var(--bp-glass-2);
}

.bp-customer__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.bp-customer__identity{
  min-width:0;
  flex:1 1 auto;
}

.bp-customer__name{
  font-weight:700;
  font-size:var(--bp-text-card-title);
  line-height:1.2;
}

.bp-customer__meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  margin-top:5px;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  line-height:1.3;
}

.bp-customer__points{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  padding:8px 10px;
  border-radius:12px;
  background:var(--bp-glass-3);
}

.bp-customer__points-label{
  font-size:var(--bp-text-micro);
  color:var(--bp-soft);
  line-height:1;
}

.bp-customer__points strong{
  font-size:16px;
  line-height:1;
}

.bp-customer__stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}

.bp-customer__stat{
  padding:10px 12px;
  border-radius:12px;
  background:var(--bp-glass-3);
}

.bp-customer__stat span{
  display:block;
  margin-bottom:4px;
  font-size:var(--bp-text-control);
  line-height:1.2;
  color:var(--bp-soft);
}

.bp-customer__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.bp-guest-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:var(--bp-radius-pill);
  background:var(--bp-glass-3);
  font-weight:600;
}

/* --- Customer editor --------------------------------------- */
.bp-customer-editor{
  margin-top:12px;
  padding-top:12px;
  border-top:1px dashed rgba(0,0,0,.08);
}

.bp-customer-editor__grid{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:12px;
}

.bp-customer-editor .bp-input,
.bp-customer-editor input[type="text"],
.bp-customer-editor input[type="number"],
.bp-customer-editor select{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:44px;
  padding:12px 14px;
  border:0 !important;
  border-radius:16px !important;
  background:var(--input-bg) !important;
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  color:var(--bp-text);
  font:inherit;
}

.bp-customer-editor .bp-input:focus,
.bp-customer-editor input[type="text"]:focus,
.bp-customer-editor input[type="number"]:focus,
.bp-customer-editor select:focus{
  outline:none;
  border:0 !important;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, var(--accent) 48%, var(--bp-border-subtle)),
    var(--focus-ring);
}

/* --- Customers list view ----------------------------------- */
.bp-customers-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.bp-customers-list__head,
.bp-customers-list__row{
  display:grid;
  grid-template-columns:minmax(220px, 1.8fr) 90px 110px 150px 80px;
  gap:14px;
  align-items:center;
}

.bp-customers-list__head{
  padding:12px 14px;
  border-radius:14px;
  background:var(--bp-glass-3);
  font-size:var(--bp-text-meta);
  font-weight:700;
  color:var(--bp-soft);
}

.bp-customers-list__row{
  padding:14px;
  border-radius:14px;
  background:var(--bp-glass-2);
  font-size:14px;
}

.bp-customers-list__head > div,
.bp-customers-list__row > div{
  min-width:0;
}

.bp-customers-list__name{
  min-width:0;
}

.bp-customers-list__name strong{
  display:block;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.bp-customers-list__name span{
  display:block;
  margin-top:4px;
  font-size:var(--bp-text-meta);
  line-height:1.25;
  color:var(--bp-soft);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.bp-customers-list .col-orders,
.bp-customers-list .col-total,
.bp-customers-list .col-last,
.bp-customers-list .col-points{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.bp-customers-list .col-orders,
.bp-customers-list .col-points{
  text-align:center;
}

.bp-customers-list .col-total,
.bp-customers-list .col-last{
  text-align:right;
}

.bp-customers-list .col-total{
  color:var(--bp-soft);
  font-weight:700;
}

.bp-customers-list .col-points{
  font-weight:700;
}

.bp-customer__stat strong{
  display:block;
  font-size:14px;
  line-height:1.25;
  word-break:normal;
  overflow-wrap:normal;
}

.bp-customer__stat .woocommerce-Price-amount,
.bp-customer__stat .amount,
.bp-customer__stat bdi{
  display:inline !important;
  white-space:nowrap !important;
}

.bp-customer__stat .woocommerce-Price-currencySymbol{
  display:inline !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
}

/* --- Pagination -------------------------------------------- */
.bp-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  max-width:none;
  margin:18px auto 0;
  padding-top:14px;
  border-top:1px solid var(--bp-divider);
  flex-wrap:nowrap !important;
  white-space:nowrap;
}

.bp-pagination > *{
  flex:0 0 auto;
}

.bp-pagination__info{
  min-width:92px;
  text-align:center;
  font-size:var(--bp-text-body);
  font-weight:700;
  line-height:1;
  color:var(--bp-soft);
}

.bp-pagination__info-desktop{
  display:inline;
}

.bp-pagination__info-mobile{
  display:none;
}

.bp-pagination__nav{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:var(--bp-radius-control);
  text-decoration:none;
  color:var(--bp-text);
  background:var(--bp-glass-3);
  box-shadow: inset 0 0 0 2px var(--bp-border-subtle);
  transition:transform .15s ease, background .15s ease, opacity .15s ease;
}

button.bp-pagination__nav{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  cursor:pointer;
  font:inherit;
  color:var(--bp-text) !important;
  background:var(--bp-glass-3) !important;
}

.bp-pagination__nav:hover,
button.bp-pagination__nav:hover{
  color:var(--bp-text) !important;
  background:var(--bp-glass-4) !important;
  transform:translateY(-1px);
}

.bp-pagination__nav svg,
button.bp-pagination__nav svg{
  width:20px !important;
  height:20px !important;
  display:block !important;
  flex:0 0 20px;
  fill:none !important;
  stroke:currentColor !important;
}

.bp-pagination__nav.is-disabled{
  opacity:.35;
  pointer-events:none;
}

/* --- Loyalty ----------------------------------------------- */
.bp-card.bp-card--soft > .bp-card__title.bp-card__title--between{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  width:100% !important;
  text-align:left !important;
}

.bp-card.bp-card--soft > .bp-card__title.bp-card__title--between > span{
  display:block !important;
  flex:1 1 auto !important;
  width:auto !important;
  margin:0 !important;
  text-align:left !important;
}

.bp-card.bp-card--soft > .bp-card__title.bp-card__title--between > .bp-icon-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  width:42px;
  height:42px;
  margin:0 0 0 auto !important;
}

.bp-loyalty-summary{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  margin-top:14px;
  margin-bottom:14px;
}

.bp-loyalty-summary__item{
  padding:14px 16px;
  box-shadow: inset 0 0 0 2px var(--bp-border-subtle);
  border-radius:var(--bp-radius);
  background:var(--bp-glass-3);
}

.bp-loyalty-summary__item span{
  display:block;
  margin-bottom:6px;
  font-size:var(--bp-text-meta);
  color:var(--bp-muted, #6b7280);
}

.bp-loyalty-summary__item strong{
  display:block;
  font-size:var(--bp-text-control);
  line-height:1.35;
  font-weight:700;
  color:var(--bp-text);
}

.bp-loyalty-section{
  padding:14px;
  border-radius:var(--bp-radius);
  background:var(--bp-glass-3);
}

.bp-loyalty-section + .bp-loyalty-section{
  margin-top:12px;
}

.bp-loyalty-section__title{
  margin:0 0 6px;
  font-family:var(--bp-font, inherit) !important;
  font-size:var(--bp-text-card-title);
  line-height:1.25;
  font-weight:700;
  color:var(--bp-text);
}

.bp-loyalty-help{
  margin:0;
  font-size:var(--bp-text-meta);
  color:var(--bp-muted, #6b7280);
}

.bp-loyalty-form .bp-input{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:0 !important;
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  border-radius:12px;
  background:var(--input-bg) !important;
  color:var(--bp-text);
  font:inherit;
}

.bp-loyalty-form .bp-input:focus,
.bp-loyalty-form .bp-input:focus-visible,
.bp-loyalty-form input:focus,
.bp-loyalty-form input:focus-visible,
.bp-loyalty-form select:focus,
.bp-loyalty-form select:focus-visible,
.bp-loyalty-form textarea:focus,
.bp-loyalty-form textarea:focus-visible{
  outline:none !important;
  border:0 !important;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, var(--accent) 48%, var(--bp-border-subtle)),
    var(--focus-ring) !important;
}

/* --- Loyalty summary mobile dropdown ----------------------- */
.bp-loyalty-summary__item--main{
  margin-top:14px;
}

.bp-loyalty-summary-dropdown{
  margin-top:12px;
}

.bp-loyalty-summary-toggle{
  display:none;
  width:100%;
  min-height:52px;
  padding:14px 16px;
  border:0;
  border-radius:var(--bp-radius-control);
  background:var(--accent);
  color:var(--accent-contrast, #fff);
  font:inherit;
  font-weight:700;
  text-align:left;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.bp-loyalty-summary-toggle svg{
  width:18px;
  height:18px;
  flex:0 0 auto;
  transition:transform .2s ease;
}

.bp-loyalty-summary-toggle[aria-expanded="true"] svg{
  transform:rotate(180deg);
}

.bp-loyalty-summary[hidden]{
  display:none !important;
}

/* Mobile / Tablet */
@media (max-width:768px){

  .bp-loyalty-switchline{
    align-items:center;
  }


}


/* --- Hidden helpers ---------------------------------------- */
[data-bp-customers-cards][hidden],
[data-bp-customers-list][hidden],
[data-bp-customer-editor][hidden],
[data-bp-loyalty-settings][hidden]{
  display:none !important;
}

/* --- Responsive -------------------------------------------- */
@media (max-width: 1024px){
  .bp-customers-list__head,
  .bp-customers-list__row{
    grid-template-columns:minmax(180px, 1.6fr) 72px 96px 124px 64px;
    gap:10px;
  }

  .bp-customers-list__head{
    padding:10px 12px;
    font-size:11px;
  }

  .bp-customers-list__row{
    padding:12px;
    font-size:13px;
  }

  .bp-customers-list__name strong{
    font-size:13px;
  }

  .bp-customers-list__name span{
    font-size:11px;
  }

  .bp-customer__stat span{
    font-size:13px;
  }
}

@media (max-width: 982px){
  .bp-pagination{
    width:100%;
    justify-content:center;
    margin-left:auto;
    margin-right:auto;
  }
}

@media (max-width: 768px){
  .bp-loyalty-grid{
    grid-template-columns:1fr;
  }

  .bp-customer__actions{
    flex-direction:column;
    align-items:stretch;
    margin-top:8px;
  }

  .bp-customer__actions .bp-btn{
    width:100%;
  }

  .bp-customer-editor__grid{
    grid-template-columns:1fr;
  }

  .bp-view-toggle{
    gap:6px;
  }

  .bp-card__title--between{
    align-items:flex-start;
  }

  .bp-customers-list__head,
  .bp-customers-list__row{
    grid-template-columns:minmax(140px, 1.7fr) 56px 78px 56px;
    gap:10px;
  }

  .bp-customers-list__head .col-last,
  .bp-customers-list__row .col-last{
    display:none;
  }

  .bp-customers-list__head{
    padding:10px 12px;
    font-size:11px;
  }

  .bp-customers-list__row{
    padding:12px;
    font-size:12px;
  }

  .bp-customers-list__name strong{
    font-size:13px;
  }

  .bp-customers-list__name span{
    font-size:11px;
  }

  .bp-customer{
    padding:10px;
    border-radius:14px;
  }

  .bp-customer__head{
    gap:10px;
  }

  .bp-customer__name{
    font-size:14px;
  }

  .bp-customer__meta{
    font-size:11px;
  }

  .bp-customer__points{
    padding:7px 9px;
    border-radius:10px;
  }

  .bp-customer__points strong{
    font-size:15px;
  }

  .bp-customer__stats{
    grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
    gap:6px;
    margin-top:8px;
  }

  .bp-customer__stat{
    min-width:0;
    padding:8px 9px;
  }

  .bp-customer__stat span{
    margin-bottom:3px;
    font-size:12px;
  }

  .bp-customer__stat strong{
    font-size:var(--fs-sm);
  }

  .bp-customer__stat:last-child{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:8px;
    padding-block:7px;
  }

  .bp-customer__stat:last-child span{
    margin-bottom:0;
    white-space:nowrap;
  }

  .bp-customer__stat:last-child strong{
    min-width:0;
    text-align:right;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .bp-loyalty-summary{
    grid-template-columns:1fr;
    gap:10px;
  }

  .bp-loyalty-summary__item{
    padding:12px 14px;
  }

  .bp-loyalty-summary-toggle{
    display:flex;
  }

  .bp-loyalty-summary:not([hidden]){
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:10px;
  }

  .bp-loyalty-switchline{
    flex-direction:row !important;
    align-items:center;
  }

  .bp-loyalty-switchline .bp-switch{
    margin-top:0 !important;
  }
}

@media (max-width: 360px){
  .bp-customer__stat{
    padding-inline:8px;
  }

  .bp-customer__stat span{
    font-size:11px;
  }
}

@media (min-width: 768px){
  .bp-loyalty-summary{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
    margin-top:14px;
  }
}

@media (max-width: 640px){
  .bp-pagination__info-desktop{
    display:none;
  }

  .bp-pagination__info-mobile{
    display:inline;
  }

  .bp-pagination{
    gap:10px;
    flex-direction:row !important;
    justify-content:center;
    align-items:center;
    flex-wrap:nowrap !important;
  }

  .bp-pagination__nav{
    width:36px;
    height:36px;
  }

  .bp-pagination__info{
    min-width:64px;
    font-size:12px;
  }
}

@media (max-width: 480px){
  .bp-customers-list__head,
  .bp-customers-list__row{
    grid-template-columns:minmax(110px, 1fr) 44px 64px 48px;
    gap:8px;
  }

  .bp-customers-list__head{
    padding:8px 10px;
    font-size:10px;
  }

  .bp-customers-list__row{
    padding:10px;
    font-size:11px;
  }

  .bp-customers-list__name strong{
    font-size:12px;
  }

  .bp-customers-list__name span{
    display:none;
  }
}

@media (max-width: 386px){
  .bp-customers-list{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    padding-bottom:6px;
  }

  .bp-customers-list__head,
  .bp-customers-list__row{
    min-width:420px;
  }
}

.bp-card--loyalty-config,
.bp-card--onsite-claims{
  box-shadow:none !important;
}

.bp-loyalty-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.bp-loyalty-grid--2{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.bp-loyalty-grid--3{
  grid-template-columns:1.2fr .75fr .95fr;
}

.bp-loyalty-form textarea.bp-input,
.bp-loyalty-form .bp-input--textarea{
  min-height:92px;
  resize:vertical;
  line-height:1.35;
}

.bp-loyalty-rewards-editor{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.bp-loyalty-reward-row{
  overflow:hidden;
  padding:0;
  border-radius:var(--bp-radius);
  background:var(--bp-glass-2);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
}

.bp-loyalty-reward-row__top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  margin:0;
  padding:12px 14px;
}

.bp-loyalty-reward-toggle{
  all:unset;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:transparent;
  color:var(--bp-text);
  cursor:default;
  appearance:none;
  -webkit-appearance:none;
  border:0;
  -webkit-tap-highlight-color:transparent;
  -webkit-focus-ring-color:transparent;
  user-select:none;
}

.bp-loyalty-reward-toggle__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.bp-loyalty-reward-toggle strong{
  color:var(--bp-text);
  font-size:var(--bp-text-control);
  font-weight:800;
  line-height:1.2;
}

.bp-loyalty-reward-toggle small{
  display:block;
  max-width:100%;
  overflow:hidden;
  color:var(--bp-soft);
  font-size:11px;
  font-weight:650;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bp-loyalty-reward-toggle__chevron{
  width:30px;
  height:30px;
  display:none;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:10px;
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  transition:transform .18s ease, background .18s ease, color .18s ease;
}

.bp-loyalty-reward-toggle__chevron svg{
  width:17px;
  height:17px;
  display:block;
  stroke:currentColor;
}

.bp-loyalty-reward-toggle[aria-expanded="false"] .bp-loyalty-reward-toggle__chevron{
  transform:rotate(-90deg);
}

.bp-loyalty-reward-toggle:hover,
.bp-loyalty-reward-toggle:active,
.bp-loyalty-reward-toggle:focus,
.bp-loyalty-reward-toggle:focus-visible{
  outline:none !important;
  border-color:transparent !important;
  background:transparent !important;
  color:var(--bp-text) !important;
  box-shadow:none !important;
}

.bp-loyalty-reward-toggle::selection,
.bp-loyalty-reward-toggle *::selection{
  background:transparent;
  color:inherit;
}

.bp-loyalty-reward-row__body{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:0 14px 14px;
}

.bp-loyalty-reward-row__body[hidden]{
  display:none !important;
}

/* Les récompenses utilisent le même switch que le reste du panel.
   On garde ces règles seulement pour neutraliser d’anciens styles si la classe bp-switch--sm existe encore. */
.bp-switch--sm .bp-switch__ui{
  width:52px;
  height:30px;
}

.bp-switch--sm .bp-switch__ui::after{
  width:24px;
  height:24px;
}

.bp-switch--sm input:checked + .bp-switch__ui::after{
  transform:translateX(22px);
}

.bp-loyalty-online-fields{
  margin-top:12px;
}

.bp-card--onsite-claims{
  margin-top:14px;
}

.bp-loyalty-claims{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.bp-loyalty-claim{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:12px;
  border-radius:var(--bp-radius);
  background:var(--bp-glass-2);
}

.bp-loyalty-claim__main{
  min-width:0;
}

.bp-loyalty-claim__main strong,
.bp-loyalty-claim__main span,
.bp-loyalty-claim__main small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bp-loyalty-claim__main strong{
  color:var(--bp-text);
  font-size:var(--bp-text-control);
  font-weight:800;
  line-height:1.2;
}

.bp-loyalty-claim__main span{
  margin-top:4px;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  line-height:1.25;
}

.bp-loyalty-claim__main small{
  margin-top:4px;
  color:var(--bp-muted, #6b7280);
  font-size:11.5px;
  font-weight:700;
  line-height:1.2;
}

.bp-loyalty-claim__code{
  min-height:34px;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--bp-radius-pill);
  background:color-mix(in srgb, var(--accent) 12%, var(--bp-glass-3));
  color:var(--accent);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}

.bp-loyalty-claim__actions{
  display:flex;
  justify-content:flex-end;
}

.bp-empty--compact{
  margin-top:12px;
  padding:14px;
  border-radius:var(--bp-radius);
  background:var(--bp-glass-2);
}

@media (max-width:768px){
  .bp-loyalty-grid,
  .bp-loyalty-grid--2,
  .bp-loyalty-grid--3{
    grid-template-columns:1fr;
  }

  .bp-loyalty-claim{
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .bp-loyalty-claim__code{
    width:100%;
  }

  .bp-loyalty-claim__actions .bp-btn{
    width:100%;
  }
}


.bp-loyalty-reward-row__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}

.bp-loyalty-reward-row__actions .bp-switch{
  flex:0 0 auto;
}

.bp-loyalty-reward-remove{
  width:38px;
  height:38px;
  flex:0 0 38px;
  color:#b42318;
  background:var(--bp-glass-3);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
}

.bp-loyalty-reward-remove:hover{
  color:#991b1b;
  background:#fff1f2;
  transform:translateY(-1px);
}

.bp-loyalty-reward-remove .bp-hosted-icon{
  width:19px;
  height:19px;
}

.bp-loyalty-reward-remove:disabled,
.bp-loyalty-reward-remove.is-disabled{
  opacity:.35;
  cursor:not-allowed;
  pointer-events:none;
}

.bp-loyalty-rewards-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
}

.bp-loyalty-rewards-limit{
  color:var(--bp-muted, #6b7280);
  font-size:12px;
  font-weight:700;
  line-height:1.3;
}

.bp-loyalty-online-fields[hidden],
[data-bp-loyalty-online-fields][hidden]{
  display:none !important;
}

.bp-loyalty-reward-row + .bp-loyalty-reward-row{
  margin-top:0;
}

@media (max-width:1099px){
  .bp-loyalty-reward-toggle{
    cursor:pointer;
  }

  .bp-loyalty-reward-toggle__chevron{
    display:inline-flex;
  }

  .bp-loyalty-reward-row__top{
    padding:11px 12px;
  }

  .bp-loyalty-reward-row__body{
    padding:0 12px 12px;
  }
}

@media (max-width:768px){
  .bp-loyalty-reward-row__top{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
  }

  .bp-loyalty-reward-toggle{
    gap:8px;
  }

  .bp-loyalty-reward-toggle small{
    max-width:190px;
  }

  .bp-loyalty-reward-row__actions{
    gap:6px;
  }

  .bp-loyalty-reward-remove{
    width:36px;
    height:36px;
    flex-basis:36px;
  }

  .bp-loyalty-rewards-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .bp-loyalty-rewards-actions .bp-btn{
    width:100%;
  }

  .bp-loyalty-rewards-limit{
    text-align:center;
  }
}

@media (max-width:460px){
  .bp-loyalty-reward-row__top{
    grid-template-columns:minmax(0,1fr) auto;
  }

  .bp-loyalty-reward-toggle small{
    max-width:145px;
  }
}

.bp-card--loyalty-locked{
  box-shadow:none !important;
}

.bp-loyalty-locked{
  display:grid;
  grid-template-columns:54px minmax(0, 1fr);
  gap:14px;
  align-items:flex-start;

  margin-top:14px;
  padding:16px;

  border-radius:var(--bp-radius);
  background:var(--bp-glass-3);
}

.bp-loyalty-locked__icon{
  width:50px;
  height:50px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:var(--bp-radius-pill);
  background:color-mix(in srgb, var(--primary) 12%, var(--bp-surface));
  color:var(--primary);
}

.bp-loyalty-locked__icon svg{
  width:25px;
  height:25px;
  display:block;
}

.bp-loyalty-locked__content{
  min-width:0;
}

.bp-loyalty-locked__content strong{
  display:block;
  color:var(--bp-text);
  font-size:var(--bp-text-card-title);
  font-weight:800;
  line-height:1.25;
}

.bp-loyalty-locked__content p{
  margin:6px 0 0;
  color:var(--bp-soft);
  font-size:13px;
  font-weight:600;
  line-height:1.45;
}

.bp-customers-list.bp-customers-list--no-loyalty .bp-customers-list__head,
.bp-customers-list.bp-customers-list--no-loyalty .bp-customers-list__row{
  grid-template-columns:minmax(220px, 1.8fr) 90px 110px 150px;
}

@media (max-width:1024px){
  .bp-customers-list.bp-customers-list--no-loyalty .bp-customers-list__head,
  .bp-customers-list.bp-customers-list--no-loyalty .bp-customers-list__row{
    grid-template-columns:minmax(180px, 1.6fr) 72px 96px 124px;
  }
}

@media (max-width:768px){
  .bp-loyalty-locked{
    grid-template-columns:46px minmax(0, 1fr);
    padding:14px;
  }

  .bp-loyalty-locked__icon{
    width:44px;
    height:44px;
  }

  .bp-customers-list.bp-customers-list--no-loyalty .bp-customers-list__head,
  .bp-customers-list.bp-customers-list--no-loyalty .bp-customers-list__row{
    grid-template-columns:minmax(140px, 1.7fr) 56px 78px 56px;
  }
}

@media (max-width:480px){
  .bp-customers-list.bp-customers-list--no-loyalty .bp-customers-list__head,
  .bp-customers-list.bp-customers-list--no-loyalty .bp-customers-list__row{
    grid-template-columns:minmax(110px, 1fr) 44px 64px 48px;
  }
}

@media (max-width:440px){
  .bp-customers-list.bp-customers-list--no-loyalty .bp-customers-list__head,
  .bp-customers-list.bp-customers-list--no-loyalty .bp-customers-list__row{
    grid-template-columns:minmax(0,1fr) 70px 52px;
  }

  .bp-customers-list.bp-customers-list--no-loyalty .col-last{
    display:none;
  }
}


.bp-card--loyalty-activity,
.bp-card--top-customers{
  box-shadow:var(--bp-shadow-soft);
}

.bp-card--loyalty-activity .bp-card__title--between{
  align-items:center;
}

.bp-loyalty-period-filter{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
}

.bp-loyalty-period-control{
  position:relative;
  display:inline-flex;
  align-items:center;
  width:134px;
  min-width:134px;
  height:36px;
  margin:0;
  border:0;
  border-radius:var(--bp-radius-pill);
  background:var(--input-bg);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  overflow:hidden;
}

.bp-loyalty-period-control__icon{
  position:absolute;
  left:10px;
  z-index:1;
  width:19px;
  height:19px;
  color:var(--bp-soft);
  pointer-events:none;
}

.bp-loyalty-period-control select{
  width:100%;
  min-width:0;
  height:100%;
  margin:0;
  padding:0 22px 0 36px;
  border:0 !important;
  outline:0 !important;
  border-radius:inherit;
  background:transparent;
  color:var(--bp-text);
  font-family:inherit;
  font-size:var(--bp-text-meta);
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:none !important;
}

.bp-loyalty-period-control:focus-within{
  border:0;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, var(--accent) 48%, var(--bp-border-subtle)),
    var(--focus-ring);
}

.bp-loyalty-activity-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

.bp-loyalty-activity-stat{
  min-width:0;
  padding:12px;
  border-radius:var(--bp-radius);
  background:var(--bp-glass-2);
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
}

.bp-loyalty-activity-stat > span{
  display:block;
  min-height:30px;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  font-weight:800;
  line-height:1.22;
}

.bp-loyalty-activity-stat > strong{
  display:block;
  margin-top:7px;
  color:var(--bp-text);
  font-size:clamp(21px, 2.1vw, 26px);
  font-weight:900;
  line-height:1;
  letter-spacing:-.035em;
}

.bp-loyalty-activity-stat > em{
  display:block;
  margin-top:9px;
  font-style:normal;
}

.bp-loyalty-activity-stat .bp-delta{
  display:inline-flex;
  align-items:center;
  gap:3px;
  width:max-content;
  max-width:100%;
  padding:4px 7px;
  border-radius:999px;
  font-size:var(--bp-text-micro);
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}

.bp-loyalty-activity-stat .bp-delta__value,
.bp-loyalty-activity-stat .bp-delta__period{
  display:inline-block;
  min-width:0;
  white-space:nowrap;
}

.bp-loyalty-activity-stat .bp-delta__period{
  opacity:.82;
  font-weight:800;
}

.bp-delta.is-flat{
  background:var(--bp-glass-3);
  color:var(--bp-soft);
}

.bp-loyalty-activity-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
  padding:11px 13px;
  border-radius:var(--bp-radius-control);
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  font-size:12px;
  font-weight:700;
  line-height:1.3;
}

.bp-loyalty-activity-foot strong{
  color:var(--bp-text);
}

.bp-top-customers-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}

.bp-top-customer{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:var(--bp-radius);
  background:var(--bp-glass-2);
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
}

.bp-top-customer__rank{
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--accent,#ff5a2a);
}

.bp-top-customer__rank-icon{
  width:34px;
  height:34px;
}

.bp-top-customer__main{
  min-width:0;
}

.bp-top-customer__main strong{
  display:block;
  color:var(--bp-text);
  font-size:var(--bp-text-control);
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.bp-top-customer__main span{
  display:block;
  margin-top:4px;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  font-weight:600;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.bp-top-customer__metrics{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  justify-self:end;
  gap:16px;
  width:auto;
  min-width:0;
}

.bp-top-customer__metric{
  display:inline-flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:4px;
  min-width:0;
  padding:0;
  border-radius:0;
  background:transparent;
  text-align:right;
}

.bp-top-customer__metric strong{
  display:inline;
  color:var(--bp-text);
  font-size:var(--bp-text-card-title);
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}

.bp-top-customer__metric span{
  display:inline;
  margin-top:0;
  color:var(--bp-soft);
  font-size:11px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}

@media (max-width:980px){
  .bp-loyalty-activity-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .bp-top-customer{
    grid-template-columns:40px minmax(0,1fr) auto;
    gap:10px;
  }
}

@media (max-width:640px){
  .bp-card--loyalty-activity{
    padding:12px;
  }

  .bp-card--loyalty-activity .bp-card__title--between{
    align-items:center !important;
  }

  .bp-card--loyalty-activity .bp-card__title--between{
    align-items:center !important;
    flex-direction:row;
    justify-content:space-between;
    gap:10px;
  }

  .bp-loyalty-period-control{
    width:130px;
    min-width:130px;
    height:36px;
  }

  .bp-loyalty-period-control__icon{
    left:9px;
    width:19px;
    height:19px;
  }

  .bp-loyalty-period-control select{
    padding:0 20px 0 34px;
    font-size:11.5px;
  }

  .bp-loyalty-activity-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:10px;
  }

  .bp-loyalty-activity-stat{
    padding:10px;
    border-radius:16px;
  }

  .bp-loyalty-activity-stat > span{
    min-height:29px;
    font-size:11px;
    line-height:1.2;
  }

  .bp-loyalty-activity-stat > strong{
    margin-top:6px;
    font-size:22px;
  }

  .bp-loyalty-activity-stat > em{
    margin-top:8px;
  }

  .bp-loyalty-activity-stat .bp-delta{
    padding:4px 7px;
    font-size:10px;
    gap:3px;
  }

  .bp-loyalty-activity-foot{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
    padding:10px 11px;
    font-size:11px;
  }

  .bp-card--top-customers .bp-card__title--between{
    align-items:stretch !important;
    flex-direction:column;
  }

  .bp-card--top-customers .bp-card__title--between .bp-btn{
    width:100%;
  }

  .bp-top-customer{
    grid-template-columns:34px minmax(0,1fr);
    align-items:start;
    column-gap:9px;
    row-gap:7px;
    padding:10px;
  }

  .bp-top-customer__rank{
    grid-column:1;
    grid-row:1 / span 2;
    width:32px;
    height:32px;
  }

  .bp-top-customer__rank-icon{
    width:31px;
    height:31px;
  }

  .bp-top-customer__main{
    grid-column:2;
    grid-row:1;
    width:100%;
  }

  .bp-top-customer__metrics{
    grid-column:2;
    grid-row:2;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    justify-self:start;
    flex-wrap:nowrap;
    gap:12px;
    width:auto;
    max-width:100%;
  }

  .bp-top-customer__metric{
    justify-content:flex-start;
    width:max-content;
    min-height:0;
    padding:0;
    text-align:left;
  }
}

@media (max-width:299px){
  .bp-top-customer{
    grid-template-columns:30px minmax(0,1fr);
    column-gap:8px;
  }

  .bp-top-customer__rank{
    width:28px;
    height:28px;
  }

  .bp-top-customer__rank-icon{
    width:27px;
    height:27px;
  }

  .bp-top-customer__metrics{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }
}

/* ============================================================
   07. Produits
   ============================================================ */

.bp-products-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.bp-products-wrap{
  margin-top:10px;
}

/* --- Cards view -------------------------------------------- */
.bp-products-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}

.bp-product-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:20px;
  background:var(--bp-glass-2);
  box-shadow:var(--bp-shadow-soft);
}

.bp-product-card__media{
  aspect-ratio:16 / 9;
  background:var(--bp-glass-3);
}

.bp-product-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.bp-product-card__ph{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  color:var(--bp-soft);
}

.bp-product-card__body{
  padding:15px;
}

.bp-product-card__top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.bp-product-card__title{
  font-size:var(--bp-text-card-title);
  font-weight:700;
}

.bp-product-card__price{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  line-height:1.15;
  white-space:normal;
  font-weight:700;
}

.bp-product-card__price del{
  font-size:var(--bp-text-meta);
  color:var(--bp-soft);
  opacity:.8;
}

.bp-product-card__price del .amount,
.bp-product-card__price del bdi{
  text-decoration:line-through !important;
}

.bp-product-card__price ins{
  font-size:var(--bp-text-control);
  font-weight:700;
  color:var(--bp-text);
  text-decoration:none;
}

.bp-product-card__price .amount,
.bp-product-card__price del .amount,
.bp-product-card__price ins .amount{
  display:inline-block;
  white-space:nowrap;
}

.bp-product-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-top:6px;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
}

.bp-product-card__desc{
  margin-top:10px;
  font-size:var(--bp-text-body);
  line-height:1.4;
  color:var(--bp-soft);
}

.bp-product-card__footer{
  display:block;
  margin-top:12px;
}

.bp-product-card__bottom{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  min-width:0;
  margin:0;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 6px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.bp-product-card__bottom::-webkit-scrollbar{
  display:none;
}

.bp-product-card__bottom .bp-stock-pill,
.bp-product-card__bottom .bp-tag-pill{
  flex:0 0 auto;
  scroll-snap-align:start;
  white-space:nowrap;
}

.bp-product-card__mobile-actions{
  display:none;
}

.bp-stock-pill,
.bp-tag-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 15px;
  border-radius:var(--bp-radius-pill);
  background:var(--bp-glass-4) !important;
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  max-width:max-content;
  font-size:12px;
  font-weight:600;
}

.bp-stock-pill,
.bp-tag-pill{
  flex:0 0 auto; 
}


.bp-stock-pill.is-ok{
  color:var(--bp-text);
}

.bp-stock-pill.is-off{
  color:#b45309;
}

.bp-product-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

/* --- List view --------------------------------------------- */
.bp-products-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.bp-products-list__head,
.bp-products-list__row{
  display:grid;
  grid-template-columns:60px minmax(160px,1.8fr) 90px 70px 70px 120px;
  gap:12px;
  align-items:center;
}

.bp-products-list__head{
  padding:12px 14px;
  border-radius:var(--bp-radius-control);
  background:var(--bp-glass-3);
  font-size:12px;
  font-weight:700;
  color:var(--bp-soft);
}

.bp-products-list__row{
  padding:12px 14px;
  border-radius:16px;
  background:var(--bp-glass-2);
  font-size:13px;
}

.bp-products-list__row > div,
.bp-products-list__head > div{
  min-width:0;
}

.bp-products-list .col-thumb img,
.bp-products-list__ph{
  width:46px;
  height:46px;
  border-radius:12px;
  object-fit:cover;
  display:block;
  background:var(--bp-glass-3);
}


.bp-products-list .col-name{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  min-width:0;
}

.bp-products-list .col-name strong{
  display:block;
  flex:0 0 100%;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin:0;
}

.bp-products-list .col-name .bp-tag-pill,
.bp-products-list .col-name .bp-stock-pill{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:auto !important;
  max-width:max-content;
  font-size:11px;
  color:var(--bp-soft);
  margin-top:0 !important;
  white-space:nowrap;
}

.bp-products-list .bp-product-list__badges{
  display:flex;
  flex-wrap:nowrap;
  gap:6px;
  flex:0 0 100%;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:1px 2px 5px 0;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.bp-products-list .bp-product-list__badges::-webkit-scrollbar{
  display:none;
}

.bp-products-list .bp-product-list__badges .bp-tag-pill,
.bp-products-list .bp-product-list__badges .bp-stock-pill{
  flex:0 0 auto;
  scroll-snap-align:start;
  white-space:nowrap;
}

.bp-products-list .col-name > span:not(.bp-tag-pill):not(.bp-stock-pill){
  display:block;
  flex:0 0 100%;
  margin-top:4px;
  font-size:11px;
  color:var(--bp-soft);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.bp-products-list .col-price{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  font-size:var(--bp-text-control);
  line-height:1.15;
  font-weight:700;
  white-space:normal;
  text-align:right;
}

.bp-products-list .col-price del{
  font-size:14px;
  color:var(--bp-soft);
  opacity:.8;
}

.bp-products-list .col-price del .amount,
.bp-products-list .col-price del bdi{
  text-decoration:line-through !important;
}

.bp-products-list .col-price ins{
  font-size:14px;
  font-weight:700;
  color:var(--bp-text);
  text-decoration:none;
}

.bp-products-list .col-price .amount,
.bp-products-list .col-price del .amount,
.bp-products-list .col-price ins .amount{
  display:inline-block;
  white-space:nowrap;
}

.bp-products-list .col-stock,
.bp-products-list .col-status{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-weight:700;
  text-align:center;
}

.bp-products-list .col-actions{
  text-align:right;
}

.bp-product-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

.bp-product-row-actions .bp-icon-btn svg{
  width:20px;
  height:20px;
}

.bp-btn--danger{
  color:#b42318;
}

.bp-product-form .bp-form-stack{
  gap:16px;
}

.bp-product-form .bp-form-box{
  padding:16px;
  border-radius:20px;
  background:var(--bp-glass-2);
  box-shadow:none;
}

.bp-product-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}

.bp-textarea{
  min-height:110px;
  resize:vertical;
  border-radius:var(--bp-radius-control);
}

.bp-product-form .bp-input,
.bp-product-form input[type="text"],
.bp-product-form input[type="number"],
.bp-product-form input[type="file"],
.bp-product-form select,
.bp-product-form textarea{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:46px;
  padding:12px 14px;
  border:0 !important;
  border-radius:16px !important;
  background:var(--input-bg) !important;
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  color:var(--bp-text);
  font:inherit;
}

.bp-product-form textarea{
  min-height:110px;
  resize:vertical;
}

.bp-product-form .bp-input::placeholder,
.bp-product-form input::placeholder,
.bp-product-form textarea::placeholder{
  color:rgba(21,21,21,.52);
  opacity:1;
}

.bp-product-form .bp-input:focus,
.bp-product-form input[type="text"]:focus,
.bp-product-form input[type="number"]:focus,
.bp-product-form input[type="file"]:focus,
.bp-product-form select:focus,
.bp-product-form textarea:focus{
  outline:none;
  border:0 !important;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, var(--accent) 48%, var(--bp-border-subtle)),
    var(--focus-ring);
}

.bp-product-form select{
  padding-right:42px;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(0,0,0,.45) 50%),
    linear-gradient(135deg, rgba(0,0,0,.45) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 2px),
    calc(100% - 12px) calc(50% - 2px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
}

.bp-product-form input[type="file"]{
  padding:10px 12px;
}

.bp-product-form input[type="file"]::file-selector-button{
  margin-right:12px;
  border:0;
  border-radius:999px;
  padding:8px 12px;
  background:var(--bp-glass-2);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  cursor:pointer;
  font:inherit;
  font-weight:600;
}

/* --- File inputs : rendu Bloopin stable desktop / mobile --- */
.bp-file-input-native{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  min-height:0 !important;
  margin:-1px !important;
  padding:0 !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
  opacity:0 !important;
}

.bp-file-control{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-width:0;
  min-height:46px;
  box-sizing:border-box;
  padding:5px 8px;
  border-radius:16px;
  background:var(--input-bg);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  color:var(--bp-text);
}

.bp-file-control:focus-within{
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, var(--accent) 48%, var(--bp-border-subtle)),
    var(--focus-ring);
}

.bp-file-control__button{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px;
  border:0;
  border-radius:999px;
  background:var(--bp-action-secondary-bg);
  box-shadow:var(--bp-outline-control);
  color:var(--bp-action-secondary-text);
  font:inherit;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  transition:background .12s ease, color .12s ease, box-shadow .12s ease;
}

.bp-file-control__button:hover{
  background:var(--bp-action-secondary-hover-bg);
  color:var(--bp-action-secondary-text);
}

.bp-file-control__button:focus-visible{
  outline:none;
}

.bp-file-control__button:disabled,
.bp-file-control.is-disabled{
  cursor:not-allowed;
  opacity:.55;
}

.bp-file-control__name{
  display:block;
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  color:var(--bp-soft);
  font-size:13px;
  font-weight:500;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bp-file-control.has-file .bp-file-control__name{
  color:var(--bp-text);
  font-weight:600;
}

@media (max-width:640px){
  .bp-file-control{
    gap:8px;
    min-height:44px;
    padding:5px 6px;
  }

  .bp-file-control__button{
    min-height:32px;
    padding:7px 10px;
    font-size:12px;
  }

  .bp-file-control__name{
    font-size:12px;
  }
}

/* --- Takeaway builder -------------------------------------- */
.bp-takeaway-builder{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.bp-takeaway-group{
  padding:14px;
  border-radius:18px;
  background:var(--bp-glass-3);
  box-shadow:none;
}

.bp-takeaway-group__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}

.bp-takeaway-group__main{
  min-width:0;
}

.bp-takeaway-group__side{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}

.bp-takeaway-group__side .bp-input{
  width:auto !important;
  min-width:170px;
  max-width:170px;
}

.bp-takeaway-group__side .bp-icon-btn{
  flex:0 0 auto;
}

.bp-takeaway-group__choices{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
  margin-bottom:10px;
}

.bp-takeaway-choice{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}

.bp-form-actions--start{
  margin-top:10px;
}

.bp-icon-btn--danger{
  background:var(--bp-glass-4);
  color:#b42318;
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
}

.bp-icon-btn--danger:hover{
  background:var(--bp-glass-4);
}

/* --- More menu mobile -------------------------------------- */
.bp-product-more-wrap{
  position:relative;
  display:none;
}

.bp-product-more{
  display:none;
}

.bp-product-more .bp-product-more-icon{
  width:20px;
  height:20px;
}

.bp-product-more-menu[hidden]{
  display:none !important;
}

.bp-product-more-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:80;
  min-width:180px;
  padding:6px;
  border-radius:14px;
  background:var(--bp-glass-4);
  box-shadow:
    0 12px 28px rgba(0,0,0,.12),
    inset 0 0 0 1px rgba(0,0,0,.06);
  backdrop-filter:blur(10px);
  display:flex;
  flex-direction:column;
  gap:2px;
}

.bp-product-more-menu__item{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  border:0;
  border-radius:var(--bp-radius-control);
  background:transparent;
  cursor:pointer;
  font-family:var(--bp-font);
  font-size:var(--bp-text-body);
  font-weight:600;
  line-height:1.3;
  color:var(--bp-text) !important;
  text-align:left;
  white-space:nowrap;
}

.bp-product-more-menu__item:hover{
  background:color-mix(in srgb, var(--bp-text) 4%, transparent);
}

.bp-product-more-menu__item.is-danger{
  color:#b42318 !important;
}

/* Hidden helpers */
[data-bp-products-cards][hidden],
[data-bp-products-list][hidden],
[data-bp-product-sheet][hidden],
[data-bp-product-terms-sheet][hidden]{
  display:none !important;
}

/* --- Responsive -------------------------------------------- */
@media (max-width: 900px){
  .bp-products-grid{
    grid-template-columns:1fr;
  }

  .bp-products-list__head,
  .bp-products-list__row{
    grid-template-columns:50px minmax(120px,1fr) 72px 56px 52px 104px;
    gap:8px;
  }

  .bp-products-list__head{
    padding:10px 12px;
    font-size:11px;
  }

  .bp-products-list__row{
    padding:10px 12px;
    font-size:12px;
  }

  .bp-products-toolbar{
    justify-content:flex-end;
  }

  .bp-product-terms-grid{
    grid-template-columns:1fr;
  }

  .bp-product-grid{
    grid-template-columns:1fr;
  }

  .bp-takeaway-group__head{
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:start;
  }

  .bp-takeaway-group__side{
    flex-direction:row !important;
    align-items:center;
    justify-content:flex-end;
  }

  .bp-takeaway-group__side .bp-input{
    min-width:150px;
    max-width:150px;
  }

  .bp-takeaway-choice{
    grid-template-columns:1fr auto;
  }
}

@media (max-width: 640px){
  .bp-products-toolbar{
    width:100%;
    justify-content:stretch;
  }

  .bp-products-toolbar > .bp-btn{
    flex:1 1 auto;
    justify-content:center;
  }

  .bp-products-toolbar .bp-view-toggle{
    flex:0 0 auto;
  }

  .bp-product-term-row:not(.bp-product-term-row--sortable){
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .bp-product-term-row__actions{
    justify-content:flex-end;
  }

  .bp-products-list__head{
    display:none;
  }

  .bp-products-list__row{
    grid-template-columns:42px minmax(120px,1fr) 64px 44px 88px;
  }

  .bp-products-list__row .col-status{
    display:none;
  }

  .bp-products-list .col-name > span{
    display:none;
  }


  .bp-product-card__footer{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
  }


  .bp-product-card__actions{
    display:none;
  }

  .bp-product-card__mobile-actions,
  .bp-product-card__mobile-actions .bp-product-more{
    display:inline-flex;
  }

  .bp-product-card__mobile-actions{
    align-self:center;
  }

  .bp-product-card__mobile-actions .bp-product-more-menu{
    top:auto;
    right:0;
    bottom:calc(100% + 8px);
  }

  .bp-product-form .bp-form-box{
    padding:14px;
    border-radius:18px;
  }

  .bp-takeaway-group__head{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:10px;
  }

  .bp-takeaway-group__side .bp-input{
    min-width:138px;
    max-width:138px;
  }

  .bp-takeaway-choice{
    grid-template-columns:1fr auto;
  }
}

@media (max-width: 560px){
  .bp-products-list__head .col-stock,
  .bp-products-list__row .col-stock{
    display:none;
  }

  .bp-products-list__head,
  .bp-products-list__row{
    grid-template-columns:42px minmax(0,1fr) 70px 110px;
    gap:8px;
  }

  .bp-products-list .col-price{
    align-items:flex-end;
    text-align:right;
    white-space:nowrap;
  }
}

@media (max-width: 496px){
  .bp-product-row-actions > [data-bp-edit-product],
  .bp-product-row-actions > [data-bp-toggle-product-stock],
  .bp-product-row-actions > [data-bp-delete-product]{
    display:none;
  }

  .bp-product-more-wrap,
  .bp-product-more{
    display:inline-flex;
  }

  .bp-products-list__head,
  .bp-products-list__row{
    grid-template-columns:42px minmax(0,1fr) 70px 52px;
  }

  .bp-products-list__row .col-status{
    display:none;
  }

  .bp-products-list .col-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
  }

  .bp-product-row-actions{
    width:100%;
    justify-content:flex-end;
    margin-left:auto;
  }
}

@media (max-width: 440px){
  .bp-products-list__head .col-thumb,
  .bp-products-list__row .col-thumb{
    display:none;
  }

  .bp-products-list__head,
  .bp-products-list__row{
    grid-template-columns:minmax(0,1fr) 70px 52px;
    gap:10px;
  }

  .bp-products-list .col-name{
    min-width:0;
  }

  .bp-products-list .col-name strong{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .bp-products-list .col-price{
    align-items:flex-end;
    text-align:right;
    white-space:nowrap;
  }

  .bp-products-list .col-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
  }

  .bp-product-row-actions{
    width:100%;
    justify-content:flex-end;
    margin-left:auto;
  }

  .bp-product-more{
    margin-left:auto;
  }
}

.bp-products-search{
  display:block;
  margin:14px 0 4px;
}

.bp-products-search .bp-input{
  box-sizing:border-box;
  width:100%;
  min-height:48px;
  padding:11px 16px;
  border:2px solid var(--input-border, var(--bp-border-subtle)) !important;
  border-radius:var(--bp-radius-pill) !important;
  background:var(--bp-glass-2) !important;
  color:var(--input-text, var(--bp-text)) !important;
  box-shadow:none !important;
  font-family:var(--bp-font);
  font-size:14px !important;
  line-height:1.4;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.bp-products-search .bp-input::placeholder{
  color:var(--input-placeholder, var(--bp-faint)) !important;
  opacity:1;
}

.bp-products-search .bp-input:focus{
  outline:none !important;
  border-color:color-mix(in srgb, var(--accent) 46%, var(--input-border, var(--bp-border-subtle))) !important;
  box-shadow:var(--focus-ring, 0 0 0 4px color-mix(in srgb, var(--accent) 24%, transparent)) !important;
}

.bp-products-results{
  position:relative;
  min-height:90px;
  transition:opacity .18s ease;
}

.bp-products-results.is-loading{
  opacity:.52;
  pointer-events:none;
}

.bp-products-results.is-loading::after{
  content:"Recherche…";
  position:absolute;
  top:18px;
  left:50%;
  z-index:5;
  transform:translateX(-50%);
  padding:8px 12px;
  border-radius:999px;
  background:color-mix(in srgb, var(--bp-surface) 92%, transparent);
  color:var(--bp-soft);
  box-shadow:var(--bp-shadow-soft);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

.bp-products-empty{
  grid-column:1 / -1;
  padding:22px 14px;
  text-align:center;
  border-radius:18px;
  background:var(--bp-glass-2);
}

.bp-product-action-icon{
  width:19px;
  height:19px;
}

.bp-product-card__actions .bp-btn{
  gap:7px;
}

.bp-product-row-actions .bp-product-action-icon{
  width:20px;
  height:20px;
}

.bp-product-more-menu__item{
  display:flex;
  align-items:center;
  gap:9px;
}

.bp-product-more-menu__item .bp-product-action-icon{
  width:18px;
  height:18px;
}

/* Le modal Produit reprend volontairement la structure du panel Options. */
.bp-product-sheet__dialog{
  max-width:1120px;
}

.bp-product-editor-form{
  height:100%;
}

.bp-product-editor-app{
  min-height:0;
}

.bp-product-editor-main{
  scroll-padding-top:18px;
}

.bp-product-editor-section > .bp-form-stack{
  gap:14px;
}

.bp-product-editor-section > .bp-form-stack > .bp-form-box{
  background:var(--bp-glass-2);
  box-shadow:none;
}

.bp-product-subfield{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--bp-divider);
}

.bp-product-tags-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.bp-product-tags-head .bp-label{
  margin:0;
}

.bp-product-tags-count{
  flex:0 0 auto;
  min-width:42px;
  padding:5px 9px;
  border-radius:999px;
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  font-size:11px;
  font-weight:800;
  line-height:1;
  text-align:center;
}

.bp-product-tags-picker{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-height:42px;
  align-items:center;
}

.bp-product-tag-choice{
  position:relative;
  display:inline-flex;
  align-items:center;
  cursor:pointer;
}

.bp-product-tag-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.bp-product-tag-choice span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  transition:background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.bp-product-tag-choice:hover span{
  color:var(--bp-text);
}

.bp-product-tag-choice input:focus-visible + span{
  outline:none;
  box-shadow:var(--focus-ring, 0 0 0 4px color-mix(in srgb, var(--accent) 24%, transparent));
}

.bp-product-tag-choice input:checked + span{
  background:color-mix(in srgb, var(--accent) 14%, var(--bp-glass-3));
  color:var(--bp-text);
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 42%, var(--bp-border-subtle));
}

.bp-product-tags-empty{
  margin:0;
}

.bp-product-new-tag-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:stretch;
}

.bp-product-new-tag-row .bp-btn{
  align-self:stretch;
  white-space:nowrap;
}

.bp-tag-pill--taxonomy{
  background:color-mix(in srgb, var(--accent) 9%, var(--bp-glass-3));
}

/* --- Gestion catégories / étiquettes ---------------------- */
.bp-product-terms-sheet__dialog{
  max-width:980px;
}

.bp-product-terms-sheet__body{
  display:flex;
  flex-direction:column;
  gap:16px;
  overflow-x:hidden;
}

.bp-product-terms-intro{
  padding:14px 16px;
  border-radius:18px;
  background:var(--bp-glass-2);
  box-shadow:none;
}

.bp-product-terms-intro p{
  margin:0;
  color:var(--bp-soft);
  font-size:var(--bp-text-body);
  line-height:1.55;
}

.bp-product-terms-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  gap:14px;
  align-items:start;
}

.bp-product-terms-group{
  min-width:0;
  padding:16px;
  border-radius:20px;
  background:var(--bp-glass-2);
  box-shadow:none;
  container-type:inline-size;
}

.bp-product-terms-group__head{
  margin-bottom:12px;
}

.bp-product-terms-group__head h3{
  margin:0 0 4px;
  color:var(--bp-text);
  font-size:var(--bp-text-card-title);
  font-weight:800;
  line-height:1.25;
}

.bp-product-terms-group__head p{
  margin:0;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  line-height:1.45;
}

.bp-product-terms-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.bp-product-term-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border-radius:16px;
  background:var(--bp-glass-3);
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
  transition:box-shadow .18s ease, transform .18s ease, opacity .18s ease;
}

.bp-product-term-row--sortable{
  grid-template-columns:34px minmax(0,1fr) auto;
}

.bp-product-term-row.is-dragging{
  z-index:2;
  opacity:.9;
  transform:scale(.995);
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, var(--accent) 58%, transparent),
    0 12px 28px rgba(15,23,42,.12);
}

.bp-product-terms-list.is-saving-order{
  pointer-events:none;
}

.bp-product-term-row__drag{
  appearance:none;
  -webkit-appearance:none;
  display:inline-grid;
  place-items:center;
  width:34px;
  height:46px;
  margin:0;
  padding:0;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--bp-faint);
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
}

.bp-product-term-row__drag:hover,
.bp-product-term-row__drag:focus-visible,
.bp-product-term-row__drag.is-dragging{
  background:color-mix(in srgb, var(--accent) 9%, transparent);
  color:var(--accent);
  outline:none;
}

.bp-product-term-row__drag:active,
.bp-product-term-row__drag.is-dragging{
  cursor:grabbing;
}

.bp-product-term-row__drag > span{
  position:relative;
  display:block;
  width:4px;
  height:4px;
  border-radius:999px;
  background:currentColor;
  box-shadow:
    0 7px 0 currentColor,
    0 14px 0 currentColor,
    7px 0 0 currentColor,
    7px 7px 0 currentColor,
    7px 14px 0 currentColor;
  transform:translate(-3.5px,-7px);
}

.bp-product-term-row__main{
  min-width:0;
}

.bp-product-term-row__input{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:46px !important;
  padding:12px 14px !important;
  border:0 !important;
  border-radius:16px !important;
  background:var(--input-bg) !important;
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle) !important;
  color:var(--bp-text) !important;
  font:inherit !important;
}

.bp-product-term-row__input:focus{
  outline:none;
  border:0 !important;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, var(--accent) 48%, var(--bp-border-subtle)),
    var(--focus-ring) !important;
}

.bp-product-term-row__meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin-top:6px;
  color:var(--bp-faint);
  font-size:11px;
  font-weight:600;
}

.bp-product-term-default{
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border-radius:999px;
  background:color-mix(in srgb, var(--accent) 11%, transparent);
  color:var(--bp-soft);
  font-size:10px;
  font-weight:800;
}

.bp-product-term-row__actions{
  display:flex;
  align-items:center;
  gap:7px;
}

.bp-product-term-row__actions .bp-icon-btn[disabled]{
  opacity:.38;
  cursor:not-allowed;
}

@container (max-width: 410px){
  .bp-product-term-row{
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .bp-product-term-row--sortable{
    grid-template-columns:34px minmax(0,1fr);
  }

  .bp-product-term-row--sortable .bp-product-term-row__drag{
    grid-column:1;
    grid-row:1 / span 2;
    align-self:stretch;
    height:auto;
    min-height:46px;
  }

  .bp-product-term-row--sortable .bp-product-term-row__main,
  .bp-product-term-row--sortable .bp-product-term-row__actions{
    grid-column:2;
  }

  .bp-product-term-row__actions{
    width:100%;
    justify-content:stretch;
  }

  .bp-product-term-row__actions .bp-btn{
    flex:1 1 auto;
    justify-content:center;
  }

  .bp-product-term-row__actions .bp-icon-btn{
    flex:0 0 auto;
  }
}

.bp-product-terms-empty{
  padding:14px;
  border-radius:14px;
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  font-size:12px;
  text-align:center;
}

.bp-product-grid--triple{
  grid-template-columns:repeat(3, minmax(0,1fr));
}

.bp-product-editor-section .bp-product-grid > .bp-form-box{
  margin:0;
}

.bp-switch-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.bp-switch-row__text{
  min-width:0;
  flex:1 1 auto;
}

.bp-switch-row__text .bp-label{
  margin-bottom:4px;
}

.bp-switch-row .bp-switch{
  flex:0 0 auto;
}

.bp-product-wine-pairing{
  position:relative;
}

.bp-product-image-editor{
  display:grid;
  grid-template-columns:minmax(180px, 240px) minmax(0,1fr);
  gap:18px;
  align-items:start;
}

.bp-product-image-preview{
  position:relative;
  width:100%;
  aspect-ratio:4 / 3;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  background:var(--bp-glass-3);
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
}

.bp-product-image-preview img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.bp-product-image-preview img[hidden]{
  display:none !important;
}

.bp-product-image-preview__empty{
  width:100%;
  min-height:100%;
  padding:22px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:var(--bp-soft);
  text-align:center;
}

.bp-product-image-preview__empty[hidden]{
  display:none !important;
}

.bp-product-image-preview__icon{
  width:34px;
  height:34px;
  margin-bottom:3px;
  color:color-mix(in srgb, var(--bp-text) 56%, transparent);
}

.bp-product-image-preview__empty strong{
  color:var(--bp-text);
  font-size:14px;
  font-weight:750;
  line-height:1.2;
}

.bp-product-image-preview__empty small{
  display:block;
  max-width:190px;
  color:var(--bp-soft);
  font-size:12px;
  font-weight:500;
  line-height:1.4;
}

.bp-product-image-editor__controls{
  min-width:0;
}

.bp-product-image-remove{
  margin-top:14px;
  gap:8px;
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
}

.bp-product-image-remove[hidden]{
  display:none !important;
}

.bp-product-options-head{
  align-items:flex-start;
  margin-bottom:14px;
}

.bp-product-options-head > div{
  min-width:0;
}

.bp-product-options-head .bp-helptext{
  margin-top:5px;
}

.bp-product-feature-note strong{
  display:block;
  color:var(--bp-text);
  font-size:14px;
  font-weight:800;
}

.bp-product-savebar{
  position:relative;
  z-index:4;
}

.bp-product-savebar[hidden]{
  display:none !important;
}

.bp-product-editor-section[hidden]{
  display:none !important;
}

.bp-product-sheet .bp-takeaway-group{
  background:var(--bp-glass-3);
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
}

.bp-product-sheet .bp-takeaway-choice .bp-icon-btn,
.bp-product-sheet .bp-takeaway-group__side .bp-icon-btn{
  flex:0 0 auto;
}

@media (max-width:959px){
  .bp-product-grid--triple{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .bp-product-grid--triple > .bp-form-box:last-child:nth-child(odd){
    grid-column:1 / -1;
  }
}

@media (max-width:767px){
  .bp-products-search{
    margin-top:12px;
  }

  .bp-product-image-editor{
    grid-template-columns:1fr;
  }

  .bp-product-image-preview{
    max-width:100%;
    aspect-ratio:16 / 10;
  }

  .bp-product-grid--triple{
    grid-template-columns:1fr;
  }

  .bp-product-grid--triple > .bp-form-box:last-child:nth-child(odd){
    grid-column:auto;
  }

  .bp-product-options-head{
    flex-direction:column;
    align-items:stretch;
  }

  .bp-product-options-head .bp-btn{
    width:100%;
  }
}

@media (max-width:520px){
  .bp-switch-row{
    align-items:center;
  }
}

/* ============================================================
   08. Commandes et KDS
   ============================================================ */

.bp-orders-app{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.bp-order-card{
  padding:14px;
  border-radius: var(--bp-radius);
  background:var(--bp-glass-2);
  box-shadow:var(--bp-shadow-soft), var(--app-inset);
}

.bp-order-card__top{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}

.bp-order-card__main{
  min-width:0;
  flex:1 1 auto;
}

.bp-order-card__side{
  flex:0 0 auto;
  text-align:right;
}

.bp-order-card__idrow{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.bp-order-card__id{
  font-family:var(--bp-mono);
  font-weight:700;
  font-size:var(--bp-text-body);
  color:var(--bp-soft);
}

.bp-order-card__customer{
  margin-top:8px;
  font-size:var(--bp-text-card-title);
  font-weight:700;
  line-height:1.2;
}

.bp-order-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-top:6px;
  font-size:var(--bp-text-meta);
  color:var(--bp-soft);
}

.bp-order-card__total{
  font-size:var(--bp-text-section-title);
  font-weight:800;
  white-space:nowrap;
}

.bp-order-card__time{
  margin-top:6px;
  font-size:var(--bp-text-meta);
  color:var(--bp-soft);
}

/* Badges statut */
.bp-order-badge{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius: var(--bp-radius-pill);
  font-size:12px;
  font-weight:700;
}

.bp-order-badge.is-pending{
  background:var(--bp-glass-3);
  color:#8a5b14;
}

.bp-order-badge.is-hold,
.bp-order-badge.is-processing{
  background:var(--bp-glass-3);
  color:#1d4ed8;
}

.bp-order-badge.is-completed{
  background:var(--bp-glass-3);
  color:#15803d;
}

.bp-order-badge.is-cancelled,
.bp-order-badge.is-failed,
.bp-order-badge.is-refunded{
  background:var(--bp-glass-3);
  color:#b42318;
}

/* Actions */
.bp-order-card__actions{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:8px;
  align-items:stretch;
  margin-top:14px;
}

.bp-order-card__actions > *{
  min-width:0;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

.bp-seg-btn{
  all:unset;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  width:100%;
  max-width:100%;
  min-height:36px;
  padding:0 10px;
  border-radius:var(--bp-radius-control);
  cursor:pointer;
  background:var(--bp-action-secondary-bg);
  color:var(--bp-action-secondary-text);
  font-size:var(--bp-text-body);
  font-weight:700;
  line-height:var(--lh-tight);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-sizing:border-box;
  box-shadow:var(--bp-outline-control);
  transition:transform .12s ease, background .12s ease;
}

.bp-order-card__actions .bp-btn{
  min-width:0;
  width:100%;
  max-width:100%;
  min-height:36px;
  padding:0 10px;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-sizing:border-box;
}

.bp-seg-btn:hover{
  transform:translateY(-1px);
}

.bp-seg-btn.is-active{
  background:var(--accent,#ff5a2a);
  color:var(--accent-contrast, #fff);
  box-shadow:none;
}

/* Détail */
.bp-order-detail{
  margin-top:14px;
  padding-top:14px;
  border-top:1px dashed rgba(0,0,0,.08);
}

.bp-order-detail__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}

.bp-order-detail__block,
.bp-order-note{
  padding:12px 14px;
  border-radius: var(--bp-radius);
  background:var(--bp-glass-3);
}

.bp-order-detail__label{
  font-size:var(--bp-text-meta);
  color:var(--bp-soft);
  margin-bottom:6px;
}

.bp-order-detail__value{
  font-size:var(--bp-text-control);
  font-weight:700;
  line-height:1.35;
}

.bp-order-detail__sub{
  margin-top:4px;
  font-size:var(--bp-text-meta);
  color:var(--bp-soft);
  line-height:1.35;
}

.bp-order-lines{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}

.bp-order-line{
  padding:12px 14px;
  border-radius: var(--bp-radius);
  background:var(--bp-glass-3);
}

.bp-order-line__top strong{
  font-size:var(--bp-text-control);
  line-height:1.3;
}

.bp-order-line__meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:8px;
  font-size:var(--bp-text-meta);
  color:var(--bp-soft);
}

.bp-order-note{
  margin-top:12px;
}


/* Tablette */
@media (max-width: 900px){
  .bp-order-card__actions{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .bp-order-card__actions > *{
    grid-column:auto !important;
  }

  .bp-seg-btn,
  .bp-order-card__actions .bp-btn{
    min-height:34px;
    font-size:12px;
    padding:0 10px;
  }
}

/* Mobile */
@media (max-width: 768px){
  .bp-order-card{
    padding:12px;
    border-radius:18px;
  }

  .bp-order-card__top{
    gap:10px;
  }

  .bp-order-card__customer{
    font-size:15px;
  }

  .bp-order-card__total{
    font-size:16px;
  }

}

/* Petit mobile */
@media (max-width: 640px){
  .bp-order-card__actions{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:6px;
  }

  .bp-seg-btn,
  .bp-order-card__actions .bp-btn{
    min-height:34px;
    font-size:12px;
    padding:0 8px;
  }
}

/* Très petit écran */
@media (max-width: 520px){
  .bp-order-card__top{
    flex-direction:column;
    align-items:stretch;
  }

  .bp-order-card__side{
    text-align:left;
  }
}

@media (max-width: 420px){
  .bp-order-card__actions{
    grid-template-columns:1fr;
  }
}




.bp-slot-badge{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  padding:7px 10px;
  border-radius: var(--bp-radius-pill);
  font-size:12px;
  font-weight:700;
  line-height:1.1;
  background:var(--bp-glass-3);
  color:var(--bp-text);
  box-shadow: inset 0 0 0 2px var(--bp-border-subtle);
}

.bp-slot-badge small{
  font-size:11px;
  font-weight:600;
  opacity:.82;
}

/* normal */
.bp-slot-badge.is-normal{
  background:#e8f3ff;
  color:#1d4ed8;
}

/* bientôt */
.bp-slot-badge.is-soon{
  background:#fff4db;
  color:#b45309;
}

/* urgent */
.bp-slot-badge.is-urgent{
  background:#ffe4e6;
  color:#b91c1c;
}

/* retard */
.bp-slot-badge.is-late{
  background:#ffd6d9;
  color:#7f1d1d;
  animation:bp-kds-pulse 2s infinite;
}

@keyframes bp-kds-pulse{
  0%{ transform:scale(1); }
  50%{ transform:scale(1.03); }
  100%{ transform:scale(1); }
}

@media (max-width: 640px){
  .bp-slot-badge{
    font-size:11px;
    padding:6px 9px;
  }

  .bp-slot-badge small{
    font-size:10px;
  }
}


.bp-orders-app{
  scroll-margin-top:80px;
}

/* Sound toggle */
.bp-sound-toggle{
  gap:8px;
}

.bp-sound-toggle__ico{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.bp-sound-toggle__ico svg{
  width:18px;
  height:18px;
  display:block;
  stroke:currentColor;
}


.bp-sound-toggle__ico.bp-hosted-icon{
  width:18px;
  height:18px;
}

/* Badge créneau terminé */
.bp-slot-badge.is-done{
  background:var(--bp-glass-3);
  color:#2563eb;
}


.bp-orders-view-switch{
  position:relative;
  display:inline-grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  padding:4px;
  border-radius:999px;
  background:var(--bp-glass-2);
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.05),
    0 8px 22px rgba(0,0,0,.05);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  overflow:hidden;
}

.bp-orders-view-switch::before{
  content:"";
  position:absolute;
  top:4px;
  left:4px;
  width:calc(50% - 4px);
  height:calc(100% - 8px);
  border-radius:999px;
  background:var(--bp-glass-4);
  box-shadow:
    0 6px 14px rgba(0,0,0,.08),
    inset 0 1px 0 rgba(255,255,255,.85);
  transition:transform .22s cubic-bezier(.4,.0,.2,1);
}

.bp-orders-view-switch:has(.bp-seg-btn[data-bp-orders-view-btn="kds"].is-active)::before{
  transform:translateX(100%);
}

.bp-orders-view-switch .bp-seg-btn{
  all:unset;
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  height:38px;
  min-width:96px;
  padding:0 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  color:var(--bp-soft);
  transition:color .18s ease;
}

.bp-orders-view-switch .bp-seg-btn.is-active,
.bp-orders-view-switch .bp-seg-btn:hover{
  color:var(--bp-text);
}

.bp-orders-view-icon{
  display:none;
  width:19px;
  height:19px;
  flex:0 0 auto;
}

.bp-orders-view-label{
  min-width:0;
  line-height:1;
  white-space:nowrap;
}


.bp-kds-board{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
  align-items:start;
}

.bp-kds-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:100%;
  padding:16px;
  border-radius: var(--bp-radius);
  background:var(--bp-glass-1);
  box-shadow:var(--bp-shadow-soft), var(--app-inset);
}

.bp-kds-card.is-done{
  opacity:.78;
}

.bp-kds-card__head{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.bp-kds-card__topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.bp-kds-card__id{
  font-family:var(--bp-mono);
  font-size:16px;
  font-weight:800;
  line-height:1;
  color:var(--bp-text);
  letter-spacing:.2px;
}

.bp-kds-card__customer{
  font-size:var(--bp-text-card-title);
  font-weight:800;
  line-height:1.15;
  color:var(--bp-text);
  word-break:break-word;
}

.bp-kds-card__body{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.bp-kds-card__items{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.bp-kds-line{
  padding:14px 15px;
  border-radius: var(--bp-radius);
  background:var(--bp-glass-3);
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.05);
}

.bp-kds-line__main strong{
  display:block;
  font-size:17px;
  line-height:1.3;
  font-weight:800;
  color:var(--bp-text);
  word-break:break-word;
}

.bp-kds-line__meta{
  margin-top:7px;
  font-size:12px;
  line-height:1.4;
  color:var(--bp-soft);
  word-break:break-word;
}

.bp-kds-note{
  padding:14px 15px;
  border-radius:18px;
  background:#fff4db;
  box-shadow:inset 0 0 0 1px rgba(180,83,9,.10);
}

.bp-kds-note__label{
  font-size:var(--bp-text-body);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#9a6a2f;
  margin-bottom:6px;
}

.bp-kds-note__text{
  font-size:var(--bp-text-control);
  line-height:1.45;
  font-weight:700;
  color:var(--bp-text);
  word-break:break-word;
}

.bp-kds-card__actions{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:8px;
  margin-top:auto;
}

.bp-kds-card__actions .bp-seg-btn{
  min-height:42px;
  font-size:13px;
}

.bp-kds-card .bp-order-badge{
  font-size:12px;
}

.bp-kds-card .bp-slot-badge{
  align-self:flex-start;
  border-radius:16px;
  padding:10px 12px;
  font-size:13px;
  line-height:1.15;
}

.bp-kds-card .bp-slot-badge small{
  font-size:11px;
}

.bp-kds-card:has(.bp-slot-badge.is-urgent){
  box-shadow:
    0 0 0 2px rgba(185,28,28,.10),
    var(--bp-shadow-soft),
    var(--app-inset);
}

.bp-kds-card:has(.bp-slot-badge.is-late){
  box-shadow:
    0 0 0 2px rgba(127,29,29,.16),
    0 16px 36px rgba(127,29,29,.10),
    var(--app-inset);
}

@media (max-width: 1024px){

  .bp-kds-card__customer{
    font-size:22px;
  }

  .bp-kds-line__main strong{
    font-size:18px;
  }

  .bp-kds-card__actions .bp-seg-btn{
    min-height:46px;
    font-size:14px;
  }
}




.bp-orders-view,
.bp-orders-app,
.bp-kds-board{
  width:100%;
  min-width:0;
}

.bp-order-card,
.bp-kds-card{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}


/* Base mobile / tablette */
.bp-kds-board{
  grid-template-columns:1fr;
}

/* 2 colonnes plus tôt qu'avant */
@media (min-width: 980px){
  .bp-kds-board{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

/* 3 colonnes seulement si vraie place */
@media (min-width: 1400px){
  .bp-kds-board{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
}

/* confort desktop */
@media (min-width: 901px){
  .bp-kds-card{
    padding:18px;
  }

  .bp-kds-card__customer{
    font-size:22px;
  }

  .bp-kds-line__main strong{
    font-size:18px;
  }

  .bp-kds-card__actions .bp-seg-btn{
    min-height:46px;
    font-size:14px;
  }
}

/* petits écrans */
@media (max-width: 480px){
  .bp-kds-card__topline{
    align-items:flex-start;
    flex-direction:column;
  }

  .bp-kds-card{
    padding:14px;
    border-radius:20px;
  }

  .bp-kds-card__customer{
    font-size:18px;
  }

  .bp-kds-line{
    padding:12px 13px;
  }

  .bp-kds-line__main strong{
    font-size:16px;
  }

  .bp-kds-card__actions{
    grid-template-columns:1fr;
  }

  .bp-kds-card__actions .bp-seg-btn{
    min-height:40px;
  }

  .bp-kds-card .bp-slot-badge{
    width:100%;
  }
}


.bp-new-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:26px;
  padding:0 10px;
  border-radius: var(--bp-radius-pill);
  background:linear-gradient(180deg, #ff6a3d, #ff5a2a);
  color:#fff;
  font-size:var(--bp-text-micro);
  font-weight:800;
  letter-spacing:.02em;
  white-space:nowrap;
  box-shadow:
    0 8px 18px rgba(255,90,42,.24),
    inset 0 1px 0 rgba(255,255,255,.25);
  animation:bp-new-badge-pop .5s ease;
}

.bp-order-card.is-new-order,
.bp-kds-card.is-new-order{
  position:relative;
  box-shadow:
    0 0 0 2px rgba(255,90,42,.18),
    0 16px 34px rgba(255,90,42,.12),
    var(--app-inset);
}

.bp-order-card.is-new-order-flash,
.bp-kds-card.is-new-order-flash{
  animation:bp-new-order-flash 2s ease;
}

@keyframes bp-new-badge-pop{
  0%{
    opacity:0;
    transform:translateY(-4px) scale(.92);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes bp-new-order-flash{
  0%{
    box-shadow:
      0 0 0 0 rgba(255,90,42,.00),
      0 0 0 0 rgba(255,90,42,.00),
      var(--app-inset);
  }
  25%{
    box-shadow:
      0 0 0 3px rgba(255,90,42,.22),
      0 18px 38px rgba(255,90,42,.18),
      var(--app-inset);
  }
  100%{
    box-shadow:
      0 0 0 2px rgba(255,90,42,.18),
      0 16px 34px rgba(255,90,42,.12),
      var(--app-inset);
  }
}

@media (max-width: 640px){
  .bp-new-badge{
    height:24px;
    padding:0 9px;
    font-size:10px;
  }
}


.bp-card__title--between{
  align-items:flex-start;
  flex-wrap:wrap;
}

.bp-title-inline{
  min-width:0;
  flex:1 1 auto;
}

.bp-orders-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:nowrap;
}

.bp-orders-title-row .bp-title-inline{
  min-width:0;
  flex:1 1 auto;
}

.bp-orders-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
  flex:0 0 auto;
}

/* --- Fullscreen button ------------------------------------- */
.bp-kds-fullscreen-btn{
  all:unset;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:0;
  height:38px;
  padding:0 14px;
  border-radius: var(--bp-radius-control);
  cursor:pointer;
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  box-shadow:
    inset 0 0 0 2px rgba(0,0,0,.05),
    0 6px 16px rgba(0,0,0,.04);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:
    background .18s ease,
    color .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

.bp-kds-fullscreen-btn:hover{
  color:var(--bp-text);
  background:var(--bp-glass-4);
}

.bp-kds-fullscreen-btn.is-active{
  color:var(--bp-text);
  background:var(--bp-glass-4);
  box-shadow:
    0 8px 18px rgba(0,0,0,.06),
    inset 0 1px 0 rgba(255,255,255,.82);
}

.bp-kds-fullscreen-btn__ico{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.bp-kds-fullscreen-btn__ico.bp-hosted-icon{
  width:18px;
  height:18px;
}

.bp-kds-fullscreen-btn__txt{
  min-width:0;
  font-size:13px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}

/* --- Fullscreen container ---------------------------------- */
[data-bp-orders-page].is-kds-fullscreen,
[data-bp-orders-page]:fullscreen{
  background:var(--bp-bg);
  padding:18px;
  overflow:auto;
}

[data-bp-orders-page].is-kds-fullscreen .bp-card,
[data-bp-orders-page]:fullscreen .bp-card{
  margin-top:0;
  min-height:100%;
  background:transparent;
  box-shadow:none;
  padding:0;
}

[data-bp-orders-page].is-kds-fullscreen .bp-title-inline,
[data-bp-orders-page]:fullscreen .bp-title-inline{
  display:none;
}

[data-bp-orders-page].is-kds-fullscreen [data-bp-orders-view-panel="list"],
[data-bp-orders-page]:fullscreen [data-bp-orders-view-panel="list"]{
  display:none !important;
}

[data-bp-orders-page].is-kds-fullscreen [data-bp-orders-view-panel="kds"],
[data-bp-orders-page]:fullscreen [data-bp-orders-view-panel="kds"]{
  display:block !important;
}

/* --- Header orders fullscreen ------------------------------ */
[data-bp-orders-page].is-kds-fullscreen .bp-orders-title-row,
[data-bp-orders-page]:fullscreen .bp-orders-title-row{
  position:sticky;
  top:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-bottom:14px;
  padding:0 0 14px;
  background:linear-gradient(
    180deg,
    color-mix(in srgb, var(--bp-surface) 96%, transparent),
    color-mix(in srgb, var(--bp-surface) 72%, transparent),
    transparent
  );
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

[data-bp-orders-page].is-kds-fullscreen .bp-orders-head-actions,
[data-bp-orders-page]:fullscreen .bp-orders-head-actions{
  width:100%;
  justify-content:space-between;
}

/* --- KDS fullscreen comfort ------------------------------- */
[data-bp-orders-page].is-kds-fullscreen .bp-kds-board,
[data-bp-orders-page]:fullscreen .bp-kds-board{
  gap:18px;
}

[data-bp-orders-page].is-kds-fullscreen .bp-kds-card,
[data-bp-orders-page]:fullscreen .bp-kds-card{
  padding:20px;
  border-radius:24px;
}

[data-bp-orders-page].is-kds-fullscreen .bp-kds-card__customer,
[data-bp-orders-page]:fullscreen .bp-kds-card__customer{
  font-size:24px;
}

[data-bp-orders-page].is-kds-fullscreen .bp-kds-line__main strong,
[data-bp-orders-page]:fullscreen .bp-kds-line__main strong{
  font-size:19px;
  line-height:1.35;
}

[data-bp-orders-page].is-kds-fullscreen .bp-kds-card .bp-slot-badge,
[data-bp-orders-page]:fullscreen .bp-kds-card .bp-slot-badge{
  font-size:14px;
  padding:11px 14px;
}

[data-bp-orders-page].is-kds-fullscreen .bp-kds-card__actions .bp-seg-btn,
[data-bp-orders-page]:fullscreen .bp-kds-card__actions .bp-seg-btn{
  min-height:48px;
  font-size:14px;
}

/* --- Fullscreen grid breakpoints --------------------------- */

/* --- Responsive header controls ---------------------------- */
@media (max-width:768px){
  .bp-orders-title-row{
    gap:8px;
  }

  .bp-orders-head-actions{
    gap:6px;
  }

  .bp-orders-view-switch{
    width:auto;
    padding:3px;
  }

  .bp-orders-view-switch::before{
    top:3px;
    left:3px;
    width:calc(50% - 3px);
    height:calc(100% - 6px);
  }

  .bp-orders-view-switch .bp-seg-btn{
    width:40px;
    min-width:40px;
    height:38px;
    padding:0;
  }

  .bp-orders-view-icon{
    display:block;
  }

  .bp-orders-view-label,
  .bp-kds-fullscreen-btn__txt{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }

  .bp-kds-fullscreen-btn{
    width:44px;
    height:44px;
    padding:0;
    gap:0;
  }

  .bp-kds-fullscreen-btn__ico,
  .bp-kds-fullscreen-btn__ico.bp-hosted-icon{
    width:19px;
    height:19px;
  }

  [data-bp-orders-page].is-kds-fullscreen .bp-kds-card,
  [data-bp-orders-page]:fullscreen .bp-kds-card{
    padding:16px;
  }
}

@media (max-width:420px){
  .bp-orders-title-row .bp-count-pill{
    min-width:24px;
    padding:0 7px;
  }

  .bp-orders-view-switch .bp-seg-btn{
    width:38px;
    min-width:38px;
  }

  .bp-kds-fullscreen-btn{
    width:42px;
    height:42px;
  }
}

.bp-order-card__side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:9px;
}

.bp-order-card__quick-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

.bp-order-quick-btn{
  width:38px;
  height:38px;
  flex:0 0 38px;
  background:var(--bp-glass-3);
  transform:translateY(0);
}

.bp-order-quick-btn:hover{
  transform:translateY(-1px);
}

.bp-order-quick-btn:disabled{
  opacity:.45;
  cursor:wait;
  pointer-events:none;
}

.bp-order-cancel-btn,
.bp-order-delete-btn{
  color:#b42318;
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
}

.bp-order-cancel-btn:hover,
.bp-order-delete-btn:hover{
  color:#991b1b;
  background:#fff1f2;
}

.bp-order-quick-btn .bp-hosted-icon{
  width:20px;
  height:20px;
}

@media (max-width:520px){
  .bp-order-card__side{
    align-items:flex-start;
  }

  .bp-order-card__quick-actions{
    justify-content:flex-start;
  }
}

.bp-slot-badge.is-table{
  background:color-mix(in srgb, var(--accent, #ff7a3d) 12%, #fff) !important;
  color:var(--accent, #ff7a3d) !important;
  box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent, #ff7a3d) 22%, transparent) !important;
}

.bp-slot-badge.is-table span{
  font-weight:800;
}

.bp-order-detail__value .bp-table-label,
.bp-table-label{
  color:var(--accent, #ff7a3d);
  font-weight:900;
}

.bp-orders-card{
  overflow:visible;
}

.bp-orders-title-row{
  margin-bottom:12px;
}

.bp-orders-period-bar{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin:0 0 12px;
  padding:8px;
  border-radius:18px;
  background:var(--bp-glass-2);
  box-shadow:
    inset 0 0 0 1px var(--bp-border-subtle),
    0 8px 22px rgba(0,0,0,.035);
}

.bp-orders-period-switch{
  display:inline-grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  min-width:260px;
  padding:4px;
  border-radius:14px;
  background:color-mix(in srgb, var(--bp-surface) 55%, transparent);
}

.bp-orders-period-switch__item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:11px;
  color:var(--bp-soft);
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .15s ease;
}

.bp-orders-period-switch__item:hover{
  color:var(--bp-text);
  transform:translateY(-1px);
}

.bp-orders-period-switch__item.is-active{
  color:var(--bp-text);
  background:var(--bp-glass-4);
  box-shadow:
    0 6px 16px rgba(0,0,0,.065),
    inset 0 1px 0 rgba(255,255,255,.76);
}

.bp-orders-period-bar.has-date-form{
  justify-content:space-between;
}

.bp-orders-date-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) 40px;
  align-items:center;
  gap:8px;
  min-width:min(100%, 390px);
}

.bp-orders-date-selectors{
  display:grid;
  grid-template-columns:68px minmax(116px,1fr) 86px;
  gap:6px;
  min-width:0;
}

.bp-orders-date-select{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-width:0;
  min-height:40px;
  padding:0 28px 0 11px;
  border:0;
  border-radius:11px;
  background-color:var(--input-bg);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m7 10 5 5 5-5' stroke='%2364758b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position:right 10px center;
  background-size:14px 14px;
  background-repeat:no-repeat;
  color:var(--bp-text);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  font-family:var(--bp-font);
  font-size:var(--bp-text-control);
  font-weight:800;
  line-height:1;
  cursor:pointer;
}

.bp-orders-date-select:hover{
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 34%,var(--bp-border-subtle));
}

.bp-orders-date-select:focus,
.bp-orders-date-select:focus-visible{
  outline:none !important;
  border:0 !important;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb,var(--accent) 48%,var(--bp-border-subtle)),
    var(--focus-ring) !important;
}

.bp-orders-date-select option:disabled{
  color:var(--bp-soft);
}

.bp-orders-date-submit{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  border:0;
  border-radius:11px;
  background:var(--bp-glass-4);
  color:var(--bp-text);
  box-shadow:
    inset 0 0 0 2px var(--bp-border-subtle),
    0 6px 14px rgba(0,0,0,.035);
  cursor:pointer;
  transition:transform .15s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}

.bp-orders-date-submit .bp-hosted-icon{
  width:19px;
  height:19px;
}

.bp-orders-date-submit:hover{
  background:color-mix(in srgb,var(--accent) 9%,var(--bp-glass-4));
  color:var(--accent);
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb,var(--accent) 34%,var(--bp-border-subtle)),
    0 8px 18px color-mix(in srgb,var(--accent) 9%,transparent);
  transform:translateY(-1px);
}

.bp-orders-date-submit:focus,
.bp-orders-date-submit:focus-visible{
  outline:none !important;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb,var(--accent) 48%,var(--bp-border-subtle)),
    var(--focus-ring) !important;
}

.bp-orders-empty{
  display:grid;
  place-items:center;
  gap:6px;
  min-height:190px;
  padding:28px;
  border-radius:20px;
  text-align:center;
  background:var(--bp-glass-2);
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
}

.bp-orders-empty strong{
  color:var(--bp-text);
  font-size:var(--bp-text-card-title);
  font-weight:800;
}

.bp-orders-empty span{
  color:var(--bp-soft);
  font-size:12px;
  line-height:1.45;
}

.bp-slot-badge.is-history{
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  animation:none;
}

/* Actions : texte sur desktop, pictogrammes sur mobile. */
.bp-order-action{
  gap:7px;
}

.bp-order-action__icon{
  display:none;
  width:20px;
  height:20px;
}

.bp-order-action--detail.is-open{
  background:color-mix(in srgb,var(--accent) 10%,var(--bp-glass-3));
  color:var(--accent);
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent);
}

/* Cuisine : cartes plus lisibles et deux colonnes réellement confortables. */
.bp-kds-board{
  grid-template-columns:1fr !important;
  gap:14px;
}

.bp-kds-card{
  gap:12px;
  padding:16px;
  border-radius:20px;
  background:color-mix(in srgb,var(--bp-surface) 88%,transparent);
  box-shadow:
    0 10px 28px rgba(0,0,0,.045),
    inset 0 0 0 1px var(--bp-border-subtle);
}

.bp-kds-card.is-done{
  opacity:.84;
}

.bp-kds-card__head{
  gap:9px;
}

.bp-kds-card__topline{
  justify-content:flex-start;
  gap:8px;
}

.bp-kds-card__id{
  font-size:13px;
  color:var(--bp-soft);
}

.bp-kds-card__customer{
  font-size:18px;
  line-height:1.18;
}

.bp-kds-card__body{
  flex:1 1 auto;
  gap:10px;
}

.bp-kds-card__items{
  gap:8px;
}

.bp-kds-line{
  padding:12px 13px;
  border-radius:16px;
  background:var(--bp-glass-3);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
}

.bp-kds-line__main strong{
  font-size:15px;
  line-height:1.34;
}

.bp-kds-line__meta{
  margin-top:6px;
  font-size:11px;
  line-height:1.4;
}

.bp-kds-note{
  padding:13px 14px;
  border-radius:16px;
  background:#fff4db;
  box-shadow:inset 0 0 0 2px rgba(180,83,9,.13);
}

.bp-kds-card .bp-slot-badge{
  align-self:flex-start;
  width:auto;
  max-width:100%;
  padding:8px 11px;
  border-radius:14px;
  font-size:12px;
}

.bp-kds-card__actions{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:7px;
}

.bp-kds-card__actions .bp-seg-btn{
  min-height:40px;
  font-size:12px;
}

@media (min-width:980px){
  .bp-kds-board{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Le mode plein écran peut exploiter une troisième colonne. */
@media (max-width:1100px){
  [data-bp-orders-page].is-kds-fullscreen .bp-kds-board,
  [data-bp-orders-page]:fullscreen .bp-kds-board{
    grid-template-columns:1fr !important;
  }
}

@media (min-width:1101px) and (max-width:1399px){
  [data-bp-orders-page].is-kds-fullscreen .bp-kds-board,
  [data-bp-orders-page]:fullscreen .bp-kds-board{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (min-width:1400px){
  [data-bp-orders-page].is-kds-fullscreen .bp-kds-board,
  [data-bp-orders-page]:fullscreen .bp-kds-board{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

[data-bp-orders-page].is-kds-fullscreen .bp-orders-period-bar,
[data-bp-orders-page]:fullscreen .bp-orders-period-bar{
  display:none;
}

@media (max-width:768px){
  .bp-orders-period-bar{
    align-items:stretch;
    flex-direction:column;
    padding:7px;
  }

  .bp-orders-period-bar.has-date-form{
    gap:8px;
  }

  .bp-orders-period-switch{
    width:100%;
    min-width:0;
  }

  .bp-orders-date-form{
    width:100%;
    grid-template-columns:minmax(0,1fr) 40px;
    gap:7px;
  }

  .bp-orders-date-selectors{
    grid-template-columns:62px minmax(104px,1fr) 80px;
    gap:5px;
  }

  .bp-orders-date-select{
    min-height:40px;
    padding-left:9px;
    padding-right:24px;
    font-size:11px;
    background-position:right 8px center;
    background-size:13px 13px;
  }
}

@media (max-width:640px){
  .bp-order-card{
    padding:12px;
  }

  .bp-order-card__top{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:stretch;
    gap:10px;
  }

  .bp-order-card__main{
    min-width:0;
  }

  .bp-order-card__side{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    align-self:stretch;
    justify-content:space-between;
    gap:10px;
    min-width:62px;
    min-height:100%;
    text-align:right !important;
  }

  .bp-order-card__quick-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:auto;
  }

  .bp-order-delete-btn{
    width:36px;
    height:36px;
  }

  .bp-order-card__idrow{
    padding-right:2px;
  }

  .bp-order-card__actions{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:7px;
    margin-top:12px;
  }

  .bp-order-card__actions .bp-order-action,
  .bp-kds-card__actions .bp-order-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    padding:0;
    border-radius:13px;
  }

  .bp-order-action__icon{
    display:inline-block;
    width:22px;
    height:22px;
  }

  .bp-order-action__label{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }

  .bp-order-action.is-active .bp-order-action__icon{
    color:var(--accent-contrast,#fff);
  }

  .bp-order-action--detail.is-open .bp-order-action__icon{
    color:var(--accent);
  }

  .bp-kds-card__topline{
    flex-direction:row !important;
    align-items:center !important;
    flex-wrap:wrap;
  }

  .bp-kds-card__customer{
    font-size:17px;
  }

  .bp-kds-card .bp-slot-badge{
    width:auto !important;
  }

  .bp-kds-card__actions{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px;
  }

  .bp-kds-card__actions .bp-seg-btn{
    min-height:44px;
    padding:0;
  }
}

@media (max-width:420px){
  .bp-orders-date-form{
    grid-template-columns:minmax(0,1fr) 40px;
  }

  .bp-orders-date-selectors{
    grid-template-columns:58px minmax(96px,1fr) 76px;
  }

  .bp-order-card__actions{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  .bp-kds-card__actions{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}



.bp-orders-date-select:disabled{
  opacity:.48;
  cursor:not-allowed;
  background-color:color-mix(in srgb,var(--bp-glass-4) 70%,transparent);
}

.bp-order-detail{
  margin-top:14px;
  padding-top:16px;
  border-top:1px dashed color-mix(in srgb,var(--bp-text) 10%,transparent);
}

.bp-order-detail__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.bp-order-detail__block{
  min-height:92px;
  padding:14px 15px;
  border:2px solid var(--bp-border-subtle);
  border-radius:16px;
  background:color-mix(in srgb,var(--bp-surface) 92%,transparent);
  box-shadow:none;
}

.bp-order-detail__label{
  margin-bottom:6px;
  color:var(--bp-soft);
  font-size:11px;
  font-weight:700;
  line-height:1.2;
}

.bp-order-detail__value{
  color:var(--bp-text);
  font-size:14px;
  font-weight:800;
  line-height:1.35;
}

.bp-order-detail__sub{
  margin-top:4px;
  color:var(--bp-soft);
  font-size:12px;
  font-weight:500;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.bp-order-detail__section-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:16px;
  color:var(--bp-text);
  font-size:12px;
  font-weight:800;
}

.bp-order-detail__section-title span:last-child{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  font-size:11px;
}

.bp-order-lines{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin-top:9px;
}

.bp-order-line{
  padding:13px 14px;
  border:2px solid var(--bp-border-subtle);
  border-radius:16px;
  background:color-mix(in srgb,var(--bp-surface) 94%,transparent);
  box-shadow:none;
}

.bp-order-line__top strong{
  color:var(--bp-text);
  font-size:14px;
  font-weight:800;
  line-height:1.35;
}

.bp-order-line__meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px 8px;
  margin-top:8px;
  color:var(--bp-soft);
  font-size:12px;
  line-height:1.35;
}

.bp-order-line__meta span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 8px;
  border-radius:999px;
  background:var(--bp-glass-3);
}

.bp-order-note{
  margin-top:12px;
  padding:14px 15px;
  border:2px solid color-mix(in srgb,#d99a32 28%,var(--bp-border-subtle));
  border-radius:16px;
  background:color-mix(in srgb,#f6c966 16%,var(--bp-surface));
  box-shadow:none;
}

@media (max-width:768px){
  .bp-order-detail__grid{
    grid-template-columns:1fr;
  }

  .bp-order-detail__block{
    min-height:0;
  }
}

/* ============================================================
   09. Options
   ============================================================ */

.bp-options-logo{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:16px;
  align-items:center;
}

.bp-options-logo__preview{
  width:120px;
  height:120px;
  border:1px solid var(--bp-border, rgba(255,255,255,.08));
  border-radius:18px;
  background:color-mix(in srgb, var(--bp-surface) 50%, transparent);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.bp-options-logo__preview img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.bp-options-logo__placeholder{
  font-size:13px;
  color:var(--bp-soft, #6b7280);
}

.bp-options-colors-box{
  padding:18px;
}

.bp-options-colors-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}

.bp-options-colors-head .bp-card__title{
  margin:0;
}

.bp-options-colors-head__text{
  max-width:600px;
  margin:6px 0 0;
  color:var(--bp-soft);
  font-size:var(--bp-text-body);
  font-weight:500;
  line-height:1.45;
}

.bp-options-color-subtitle{
  margin-bottom:10px;
  color:var(--bp-text);
  font-size:var(--bp-text-body);
  font-weight:700;
  line-height:1.3;
}

.bp-options-color-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);
  gap:18px;
  align-items:stretch;
}

.bp-options-colors-custom{
  min-width:0;
}

.bp-options-colors{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.bp-options-color-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 166px;
  gap:14px;
  align-items:center;
  min-height:78px;
  padding:12px 14px;
  border-radius:16px;
  background:color-mix(in srgb,var(--bp-glass-3) 78%,transparent);
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
}

.bp-options-color-row__label{
  min-width:0;
}

.bp-options-color-row__label .bp-label{
  margin:0 0 5px;
}

.bp-options-color-row__label p{
  margin:0;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  font-weight:500;
  line-height:1.45;
}

.bp-options-color-row__controls{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:9px;
  align-items:center;
}

.bp-options-color-row__controls .bp-input{
  min-width:0;
  min-height:40px;
  padding:8px 10px;
  font:inherit;
  font-weight:700;
  text-transform:uppercase;
}

.bp-options-color{
  width:48px;
  height:40px;
  padding:0;
  border:0;
  border-radius:12px;
  background:transparent;
  cursor:pointer;
  overflow:hidden;
}

.bp-options-color::-webkit-color-swatch-wrapper{
  padding:0;
}

.bp-options-color::-webkit-color-swatch{
  border:0;
  border-radius:11px;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.10);
}

.bp-options-color::-moz-color-swatch{
  border:0;
  border-radius:11px;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.10);
}

.bp-options-color-preview{
  min-width:0;
  display:flex;
  flex-direction:column;
}

.bp-options-color-preview__stage{
  flex:1 1 auto;
  min-height:260px;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:14px;
  border-radius:18px;
  background:var(--bp-preview-bg,#f6f7fb);
  box-shadow:
    inset 0 0 0 1px rgba(15,23,42,.07),
    0 12px 28px rgba(15,23,42,.08);
  transition:background .18s ease;
}

.bp-options-color-preview__brand{
  display:flex;
  align-items:center;
  gap:8px;
  color:#101828;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
}

.bp-options-color-preview__brand span{
  width:10px;
  height:10px;
  flex:0 0 auto;
  border-radius:999px;
  background:var(--bp-preview-accent,#10b981);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--bp-preview-accent,#10b981) 14%,transparent);
}

.bp-options-color-preview__brand strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bp-options-color-preview__card{
  margin:auto 0;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:8px;
  border-radius:16px;
  background:#fff;
  color:#101828;
  box-shadow:0 10px 22px rgba(15,23,42,.09);
}

.bp-options-color-preview__badge{
  width:fit-content;
  padding:5px 8px;
  border-radius:999px;
  background:color-mix(in srgb,var(--bp-preview-accent,#10b981) 12%,#fff);
  color:var(--bp-preview-accent,#10b981);
  font-size:11px;
  font-weight:700;
  line-height:1;
}

.bp-options-color-preview__card > strong{
  font-size:var(--bp-text-control);
  font-weight:800;
  line-height:1.3;
}

.bp-options-color-preview__card > p{
  margin:0;
  color:#667085;
  font-size:12px;
  font-weight:500;
  line-height:1.45;
}

.bp-options-color-preview__footer{
  margin-top:3px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.bp-options-color-preview__price{
  color:var(--bp-preview-accent,#10b981);
  font-size:var(--bp-text-control);
  font-weight:800;
}

.bp-options-color-preview__button{
  min-height:32px;
  padding:7px 11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:var(--bp-preview-primary,#6a5cff);
  color:var(--bp-preview-primary-contrast,#fff);
  font-size:12px;
  font-weight:700;
  line-height:1;
}

.bp-options-color-preview__note{
  margin:8px 2px 0;
  color:var(--bp-soft);
  font-size:12px;
  font-weight:500;
  line-height:1.45;
}

/* L’aperçu des couleurs reflète le thème public choisi par le restaurateur. */
.bp-options-color-preview[data-preview-mode="dark"] .bp-options-color-preview__stage{
  background:#111;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 12px 28px rgba(0,0,0,.28);
}

.bp-options-color-preview[data-preview-mode="dark"] .bp-options-color-preview__brand{
  color:#f5f7fa;
}

.bp-options-color-preview[data-preview-mode="dark"] .bp-options-color-preview__card{
  background:#12161d;
  color:#f5f7fa;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 10px 22px rgba(0,0,0,.28);
}

.bp-options-color-preview[data-preview-mode="dark"] .bp-options-color-preview__badge{
  background:color-mix(in srgb,var(--bp-preview-accent,#10b981) 18%,#12161d);
}

.bp-options-color-preview[data-preview-mode="dark"] .bp-options-color-preview__card > p{
  color:#b6c0cf;
}


.bp-options-header-box{
  padding:18px;
}

.bp-options-header-preview{
  --bp-preview-header-bg:#eef1f4;
  --bp-preview-header-fg:#101828;
  margin:0 0 18px;
  padding:14px;
  border-radius:18px;
  background:color-mix(in srgb,var(--bp-glass-3) 72%,transparent);
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
}

.bp-options-header-preview__bar{
  position:relative;
  min-height:66px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  overflow:hidden;
  background:var(--bp-preview-header-bg);
  color:var(--bp-preview-header-fg);
  transition:background .18s ease,border-radius .18s ease;
}

.bp-options-header-preview[data-shape="rounded"] .bp-options-header-preview__bar{
  border-radius:0 0 28px 28px;
}

.bp-options-header-preview[data-shape="square"] .bp-options-header-preview__bar{
  border-radius:0;
}

.bp-options-header-preview__brand{
  min-width:0;
  display:flex;
  align-items:center;
  color:var(--bp-preview-header-fg);
}

.bp-options-header-preview__brand img{
  display:block;
  width:auto;
  max-width:170px;
  height:34px;
  object-fit:contain;
}

.bp-options-header-preview[data-size="large"] .bp-options-header-preview__brand img{
  height:44px;
}

.bp-options-header-preview__brand strong{
  max-width:180px;
  overflow:hidden;
  color:currentColor;
  font-size:var(--bp-text-control);
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bp-options-header-preview[data-position="center"] .bp-options-header-preview__brand{
  position:absolute;
  left:50%;
  top:50%;
  max-width:42%;
  transform:translate(-50%,-50%);
}

.bp-options-header-preview[data-position="center"] .bp-options-header-preview__brand img{
  max-width:100%;
}

.bp-options-header-preview__actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:9px;
}

.bp-options-header-preview__cta{
  min-height:34px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:var(--bp-primary,#101828);
  color:var(--bp-primary-contrast,#fff);
  font-size:10px;
  font-weight:800;
}

.bp-options-header-preview__burger{
  width:36px;
  height:36px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:var(--bp-preview-header-fg);
}

.bp-options-header-preview__burger i{
  display:block;
  width:19px;
  height:2px;
  border-radius:999px;
  background:currentColor;
}

.bp-options-header-fields{
  gap:16px;
}

.bp-options-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:8px;
}

.bp-options-choice{
  position:relative;
  display:flex;
  align-items:center;
  min-height:52px;
  padding:0 14px;
  border:2px solid var(--bp-border, rgba(255,255,255,.08));
  border-radius:16px;
  background:color-mix(in srgb, var(--bp-surface) 36%, transparent);
  color:var(--bp-text);
  cursor:pointer;
  transition:.2s ease;
}

.bp-options-choice:hover{
  border-color:color-mix(in srgb, var(--bp-accent, #6A5CFF) 30%, transparent);
}

.bp-options-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.bp-options-choice span{
  font-size:var(--bp-text-control);
  font-weight:400;
}

.bp-options-choice.is-selected{
  border-color:color-mix(in srgb, var(--bp-accent, #6A5CFF) 45%, transparent);
  background:color-mix(in srgb, var(--bp-accent, #6A5CFF) 10%, var(--bp-surface));
}

.bp-options-choice input:focus-visible + span{
  text-decoration:underline;
  text-underline-offset:3px;
}

.bp-options-header-color-row{
  margin:0;
}


.bp-options-auth-login__preview{
  position:relative;
  min-height:220px;
  margin:0 0 18px;
  overflow:hidden;
  border-radius:20px;
  background:
    linear-gradient(180deg,rgba(15,23,42,.02),rgba(15,23,42,.08)),
    var(--bp-auth-login-preview) center/cover no-repeat;
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
}

.bp-options-auth-login__preview::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(15,23,42,.28));
  pointer-events:none;
}

.bp-options-auth-login__preview-label{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:1;
  display:inline-flex;
  min-height:34px;
  align-items:center;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#101828;
  backdrop-filter:blur(8px);
  font-size:12px;
  font-weight:700;
}

.bp-options-auth-login__controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
}

.bp-options-auth-login__controls .bp-input{
  width:100%;
  min-width:0;
}

.bp-options-auth-login__controls .bp-btn{
  min-height:46px;
  align-self:stretch;
  white-space:nowrap;
}

.bp-options-auth-login__help{
  margin-top:8px;
}

.bp-options-layouts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.bp-options-layout{
  position:relative;
  display:flex;
  align-items:center;
  min-height:52px;
  padding:0 14px;
  border:2px solid var(--bp-border, rgba(255,255,255,.08));
  border-radius:16px;
  background:color-mix(in srgb, var(--bp-surface) 36%, transparent);
  cursor:pointer;
  transition:.2s ease;
}

.bp-options-layout:hover{
  border-color:color-mix(in srgb, var(--bp-accent, #6A5CFF) 30%, transparent);
}

.bp-options-layout input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.bp-options-layout.is-selected{
  border-color:color-mix(in srgb, var(--bp-accent, #6A5CFF) 45%, transparent);
  background:color-mix(in srgb, var(--bp-accent, #6A5CFF) 10%, var(--bp-surface));
}

.bp-options-slot-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.bp-options-slot-step{
  position:relative;
  display:block;
  min-width:0;
  cursor:pointer;
}

.bp-options-slot-step input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.bp-options-slot-step span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 12px;
  border:2px solid var(--bp-border, rgba(255,255,255,.08));
  border-radius:16px;
  background:color-mix(in srgb, var(--bp-surface) 36%, transparent);
  color:var(--bp-text);
  font-weight:800;
  text-align:center;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.bp-options-slot-step:hover span{
  border-color:color-mix(in srgb, var(--bp-accent, #6A5CFF) 30%, transparent);
}

.bp-options-slot-step input:checked + span{
  border-color:color-mix(in srgb, var(--bp-accent, #6A5CFF) 45%, transparent);
  background:color-mix(in srgb, var(--bp-accent, #6A5CFF) 10%, var(--bp-surface));
}

.bp-options-slot-step input:focus-visible + span{
  box-shadow:0 0 0 3px color-mix(in srgb, var(--bp-accent, #6A5CFF) 18%, transparent);
}

.bp-options-slot-step input:disabled + span{
  cursor:not-allowed;
  opacity:.48;
}

@media (max-width: 767px){
  .bp-options-logo{
    grid-template-columns:1fr;
  }

  .bp-options-color-workspace{
    grid-template-columns:1fr;
  }

  .bp-options-color-row{
    grid-template-columns:1fr;
    gap:9px;
  }

  .bp-options-color-row__controls{
    grid-template-columns:44px minmax(0,1fr);
  }

  .bp-options-color-preview__stage{
    min-height:220px;
  }

  .bp-options-header-box{
    padding:14px;
  }

  .bp-options-header-preview{
    padding:10px;
  }

  .bp-options-header-preview__bar{
    min-height:60px;
    padding:0 12px;
  }

  .bp-options-header-preview__cta{
    display:none;
  }

  .bp-options-header-preview__brand img{
    height:30px;
    max-width:130px;
  }

  .bp-options-header-preview[data-size="large"] .bp-options-header-preview__brand img{
    height:38px;
  }

  .bp-options-choice-grid{
    gap:8px;
  }

  .bp-options-auth-login__preview{
    min-height:180px;
  }

  .bp-options-auth-login__controls{
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .bp-options-auth-login__controls .bp-btn{
    width:100%;
  }

  .bp-options-layouts{
    grid-template-columns:1fr;
  }

  .bp-options-slot-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 480px){
  .bp-options-colors-box{
    padding:14px;
  }

  .bp-options-color-row{
    padding:10px;
  }
}

.bp-options-accordion{
  padding:0 !important;
  overflow:hidden;
}

.bp-options-accordion__summary{
  list-style:none;
  cursor:pointer;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;

  padding:16px;

  color:var(--bp-text);
}

.bp-options-accordion__summary::-webkit-details-marker{
  display:none;
}

.bp-options-accordion__summary strong{
  display:block;
  font-size:var(--bp-text-card-title);
  font-weight:800;
  line-height:1.2;
}

.bp-options-accordion__summary small{
  display:block;
  margin-top:4px;

  color:var(--bp-soft);

  font-size:var(--bp-text-meta);
  font-weight:600;
  line-height:1.3;
}

.bp-options-accordion__chevron{
  width:20px;
  height:20px;
  flex:0 0 auto;

  transition:transform .18s ease;
}

.bp-options-accordion[open] .bp-options-accordion__chevron{
  transform:rotate(180deg);
}

.bp-options-accordion__body{
  padding:0 16px 16px;
}

/* Preview bandeau */

.bp-options-hero__preview{
  position:relative;
  isolation:isolate;
  overflow:hidden;

  min-height:220px;
  margin-bottom:16px;
  padding:26px;

  display:flex;
  align-items:center;

  border-radius:24px;
  color:#fff;

  background:
    radial-gradient(circle at 76% 42%, rgba(79,70,229,.32), transparent 28%),
    radial-gradient(circle at 42% 10%, rgba(255,255,255,.10), transparent 24%),
    linear-gradient(135deg, #082616 0%, #06140d 58%, #172b52 100%);

  box-shadow:
    0 18px 38px rgba(15,23,42,.14),
    inset 0 1px 0 rgba(255,255,255,.14);
}

.bp-options-hero__preview.has-image::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;

  background-image:
    linear-gradient(
      90deg,
      rgba(6,20,13,.96) 0%,
      rgba(6,20,13,.82) 44%,
      rgba(6,20,13,.28) 100%
    ),
    var(--bp-hero-preview-img);

  background-size:cover;
  background-position:center right;
}

.bp-options-hero__preview-content{
  max-width:430px;

  display:grid;
  gap:10px;
}

.bp-options-hero__preview-content span{
  width:fit-content;
  padding:8px 14px;
  border-radius:999px;

  background:linear-gradient(135deg, #4ade80, #16a34a);
  color:#fff;

  font-size:13px;
  font-weight:900;
  line-height:1;
}

.bp-options-hero__preview-content strong{
  display:block;

  color:#fff;

  font-size:clamp(28px, 4vw, 42px);
  font-weight:900;
  line-height:.95;
  letter-spacing:-.055em;
}

.bp-options-hero__preview-content small{
  display:block;
  max-width:340px;

  color:rgba(255,255,255,.9);

  font-size:14px;
  font-weight:700;
  line-height:1.4;
}

.bp-options-hero__preview-content em{
  box-sizing:border-box;
  width:fit-content;
  min-height:48px;
  margin-top:8px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  padding:13px 20px;
  border-radius:16px;

  color:#0f172a;
  background:#fff;

  font-size:14px;
  font-style:normal;
  font-weight:900;
  line-height:1;

  box-shadow:0 18px 32px rgba(0,0,0,.22);
}

.bp-options-hero__image-row{
  min-width:0;
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  align-items:stretch;
}

.bp-options-hero__image-control{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:center;
  gap:12px;
}

.bp-options-hero__image-control > .bp-input{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

.bp-options-hero__image-control .bp-btn{
  width:auto;
  white-space:nowrap;
}

.bp-options-showcase-media-stack{
  min-width:0;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

.bp-options-showcase-media-stack > div{
  min-width:0;
}

.bp-options-hero__reset{
  display:flex;
  justify-content:flex-start;
}


.bp-options-media-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.bp-btn--danger-soft{
  background:#fff1f2 !important;
  color:#b42318 !important;
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle) !important;
}

.bp-btn--danger-soft:hover{
  background:#ffe4e6 !important;
  color:#991b1b !important;
}

.bp-options-media-actions .bp-btn--soft{
  background:var(--bp-glass-3) !important;
  color:var(--bp-text) !important;
}

.bp-options-media-actions .bp-btn--soft:hover{
  background:var(--bp-glass-4) !important;
  color:var(--bp-text) !important;
  filter:none !important;
}

.bp-options-media-actions .bp-btn--soft:focus-visible{
  color:var(--bp-text) !important;
}


.bp-options-showcase-fonts{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.bp-options-font-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:8px;
}

.bp-options-font-choice{
  position:relative;
  min-width:0;
  min-height:92px;
  padding:12px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:7px;
  border:2px solid var(--bp-border, rgba(255,255,255,.08));
  border-radius:16px;
  background:color-mix(in srgb, var(--bp-surface) 36%, transparent);
  color:var(--bp-text);
  cursor:pointer;
  transition:.2s ease;
}

.bp-options-font-choice:hover{
  border-color:color-mix(in srgb, var(--bp-accent, #6A5CFF) 30%, transparent);
}

.bp-options-font-choice.is-selected{
  border-color:color-mix(in srgb, var(--bp-accent, #6A5CFF) 45%, transparent);
  background:color-mix(in srgb, var(--bp-accent, #6A5CFF) 10%, var(--bp-surface));
}

.bp-options-font-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.bp-options-font-choice__sample{
  max-width:100%;
  font-family:var(--bp-font-preview, 'Poppins', sans-serif);
  font-size:22px;
  font-weight:600;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.bp-options-font-choice small{
  color:var(--bp-soft);
  font-size:12px;
  line-height:1.2;
}

.bp-options-font-choice:has(input:focus-visible){
  outline:2px solid color-mix(in srgb, var(--bp-accent, #6A5CFF) 60%, transparent);
  outline-offset:2px;
}

.bp-options-showcase-preview{
  position:relative;
  isolation:isolate;
  overflow:hidden;

  min-height:320px;
  margin-bottom:16px;
  padding:30px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:28px;
  color:#fff;

  background:
    radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 32%),
    radial-gradient(circle at 86% 16%, color-mix(in srgb, var(--primary) 26%, transparent), transparent 34%),
    linear-gradient(135deg, #020617 0%, #07111f 58%, #111827 100%);

  box-shadow:
    0 22px 46px rgba(15,23,42,.14),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.bp-options-showcase-preview.has-image::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;

  background-image:
    linear-gradient(
      180deg,
      rgba(2,6,23,.48) 0%,
      rgba(2,6,23,.74) 100%
    ),
    var(--bp-showcase-preview-img);

  background-size:cover;
  background-position:center;
}

.bp-options-showcase-preview::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;

  background:
    radial-gradient(circle at 50% 34%, rgba(255,255,255,.08), transparent 30%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.28));

  pointer-events:none;
}

.bp-options-showcase-preview__content{
  width:100%;
  max-width:760px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:13px;

  text-align:center;
}

.bp-options-showcase-preview__content span{
  width:fit-content;
  padding:7px 13px;

  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;

  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
  backdrop-filter:blur(10px);

  font-size:12px;
  font-weight:900;
  line-height:1;
}

.bp-options-showcase-preview[data-bp-showcase-font="modern"] .bp-options-showcase-preview__content strong{font-family:'Poppins',sans-serif;font-weight:300;text-transform:uppercase;letter-spacing:.01em;}
.bp-options-showcase-preview[data-bp-showcase-font="elegant"] .bp-options-showcase-preview__content strong{font-family:'Playfair Display',serif;font-weight:600;text-transform:none;letter-spacing:-.02em;}
.bp-options-showcase-preview[data-bp-showcase-font="gastronomic"] .bp-options-showcase-preview__content strong{font-family:'Cormorant Garamond',serif;font-weight:600;text-transform:none;letter-spacing:-.015em;}
.bp-options-showcase-preview[data-bp-showcase-font="contemporary"] .bp-options-showcase-preview__content strong{font-family:'Montserrat',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.005em;}
.bp-options-showcase-preview[data-bp-showcase-font="signature"] .bp-options-showcase-preview__content strong{font-family:'DM Serif Display',serif;font-weight:400;text-transform:none;letter-spacing:-.015em;}
.bp-options-showcase-preview[data-bp-showcase-font="impact"] .bp-options-showcase-preview__content strong{font-family:'Bebas Neue',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.025em;}

.bp-options-showcase-preview__content strong{
  display:block;
  max-width:100%;

  color:#fff;

  font-size:clamp(38px, 6vw, 72px);
  font-weight:400;
  line-height:.9;
  letter-spacing:-.035em;
  text-transform:uppercase;

  text-wrap:balance;
  word-break:normal;
  overflow-wrap:normal;
}

.bp-options-showcase-preview__content small{
  display:block;
  max-width:540px;

  color:rgba(255,255,255,.88);

  font-size:14px;
  font-weight:800;
  line-height:1.35;
}

.bp-options-showcase-preview__content em{
  box-sizing:border-box;
  width:fit-content;
  min-height:46px;
  margin-top:13px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  padding:0 24px;
  border-radius:var(--radius-button);

  color:#050505;
  background:#fff;

  font-size:13px;
  font-style:normal;
  font-weight:900;
  line-height:1;

  box-shadow:0 18px 34px rgba(0,0,0,.22);
}


@media (max-width:767px){
  .bp-options-accordion__summary{
    padding:14px;
  }

  .bp-options-accordion__body{
    padding:0 14px 14px;
  }

  .bp-options-hero__preview{
    min-height:210px;
    padding:22px;
    border-radius:22px;
  }

  .bp-options-hero__preview-content strong{
    font-size:32px;
  }

  .bp-options-hero__image-row{
    grid-template-columns:1fr;
  }

  .bp-options-hero__image-control{
    grid-template-columns:minmax(0,1fr);
  }

  .bp-options-hero__image-control,
  .bp-options-hero__reset{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  .bp-options-hero__image-control .bp-btn,
  .bp-options-hero__reset .bp-btn{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }

    .bp-options-font-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .bp-options-font-choice{
    min-height:82px;
    padding:10px;
  }

  .bp-options-font-choice__sample{
    font-size:19px;
  }

  .bp-options-showcase-preview{
    min-height:260px;
    padding:22px;
    border-radius:22px;
  }

  .bp-options-showcase-preview__content strong{
    font-size:clamp(30px, 10vw, 48px);
    line-height:.96;
  }

  .bp-options-showcase-preview__content small{
    font-size:13px;
  }
}

.bp-options-identity__location{
  grid-template-columns:minmax(130px, .55fr) minmax(0, 1.45fr);
}

.bp-options-identity .bp-input:invalid:not(:focus):not(:placeholder-shown){
  border:0 !important;
  box-shadow:inset 0 0 0 2px color-mix(in srgb, #ef4444 58%, var(--bp-border-subtle));
}

@media (max-width:767px){
  .bp-options-identity__location{
    grid-template-columns:1fr;
  }
}

.bp-options-sheet{
  --bp-options-adminbar:0px;
}

body.admin-bar .bp-options-sheet{
  --bp-options-adminbar:32px;
  inset:32px 0 0;
}

.bp-options-sheet__dialog{
  width:min(1120px, calc(100% - 24px));
  height:min(
    calc(100dvh - var(--bp-options-adminbar) - 48px - var(--bp-sheet-safe-bottom)),
    820px
  );
  max-height:calc(100dvh - var(--bp-options-adminbar) - 48px - var(--bp-sheet-safe-bottom));
}

@media (min-width:1100px){
  .bp-options-sheet{
    --bp-sheet-safe-bottom:0px;
  }

  .bp-options-sheet:not([hidden]){
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .bp-options-sheet__dialog{
    margin:0;
  }
}

@media (max-width:782px){
  body.admin-bar .bp-options-sheet{
    --bp-options-adminbar:46px;
    inset:46px 0 0;
  }
}

.bp-options-sheet__head{
  padding:14px 18px;
}

.bp-options-sheet__heading{
  min-width:0;
}

.bp-options-sheet__subtitle{
  margin-top:3px;
  color:var(--bp-soft);
  font-size:12px;
  font-weight:600;
  line-height:1.2;
}

.bp-options-sheet__body{
  padding:0 !important;
  overflow:hidden !important;
  display:flex;
}

.bp-options-form{
  flex:1 1 auto;
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
}

.bp-options-app{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  grid-template-columns:224px minmax(0,1fr);
}

.bp-options-nav{
  min-height:0;
  padding:16px 12px;
  display:flex;
  flex-direction:column;
  gap:6px;
  overflow:auto;
  border-right:1px solid var(--bp-divider);
  background:color-mix(in srgb, var(--bp-surface) 78%, transparent);
}

.bp-options-nav__item{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:44px;
  padding:0 12px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  border:0;
  border-radius:15px;
  background:transparent;
  color:color-mix(in srgb, var(--bp-text) 74%, transparent);
  font:inherit;
  font-size:var(--bp-text-body);
  font-weight:700;
  line-height:1;
  text-align:left;
  cursor:pointer;
  transition:
    background .18s ease,
    color .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

.bp-options-nav__item:hover{
  background:color-mix(in srgb, var(--accent) 7%, transparent) !important;
  color:var(--bp-text) !important;
  transform:translateX(2px);
}

.bp-options-nav__item.is-active,
.bp-options-nav__item.is-active:hover{
  background:color-mix(in srgb, var(--accent) 13%, #fff) !important;
  color:var(--accent) !important;
  box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 11%, transparent) !important;
  transform:none;
}

.bp-options-nav__item:active{
  transform:scale(.985);
}

.bp-options-nav__item:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);
}

.bp-options-nav__icon{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:currentColor;
}

.bp-options-nav__icon::before{
  content:"";
  width:20px;
  height:20px;
  display:block;
  background:currentColor;
  -webkit-mask:var(--bp-options-icon) center / contain no-repeat;
  mask:var(--bp-options-icon) center / contain no-repeat;
}

.bp-options-nav__icon svg{
  display:none !important;
}

.bp-options-nav__text{
  min-width:0;
  display:block;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
  line-height:1.35;
  padding-block:2px;
}

.bp-options-section__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:4px 8px;
  border-radius:999px;
  background:color-mix(in srgb, var(--primary) 12%, var(--bp-surface));
  color:var(--primary);
  font-size:10px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.bp-options-main{
  min-width:0;
  min-height:0;
  padding:22px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
}

.bp-options-section{
  width:100%;
  max-width:780px;
  margin:0 auto;
  outline:none;
}

.bp-options-section[hidden]{
  display:none !important;
}

.bp-options-section__head{
  margin-bottom:18px;
  padding:0 2px;
}

.bp-options-section__title-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.bp-options-section__title{
  margin:0;
  color:var(--bp-text);
  font-family:var(--bp-font);
  font-size:var(--bp-text-section-title);
  font-weight:800;
  line-height:1.1;
  letter-spacing:-.025em;
}

.bp-options-section__description{
  max-width:640px;
  margin:7px 0 0;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  font-weight:500;
  line-height:1.45;
}

/* Action globale : prévisualiser la carte publique depuis Mon restaurant. */
.bp-options-menu-preview{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:58px;
  margin:-2px 0 16px;
  padding:10px 14px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:12px;
  border:2px solid color-mix(in srgb, var(--accent) 22%, var(--bp-border-subtle));
  border-radius:16px;
  background:color-mix(in srgb, var(--accent) 9%, var(--bp-surface));
  color:var(--bp-text);
  box-shadow:none;
  text-decoration:none !important;
  cursor:pointer;
  transition:
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.bp-options-menu-preview:visited{
  color:var(--bp-text);
}

.bp-options-menu-preview:hover{
  border-color:color-mix(in srgb, var(--accent) 46%, var(--bp-border-subtle));
  background:color-mix(in srgb, var(--accent) 13%, var(--bp-surface));
  color:var(--bp-text) !important;
  box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 10%, transparent);
  transform:translateY(-1px);
}

.bp-options-menu-preview:active{
  color:var(--bp-text) !important;
  transform:translateY(0) scale(.995);
}

.bp-options-menu-preview:focus{
  outline:none;
}

.bp-options-menu-preview:focus-visible{
  outline:3px solid color-mix(in srgb, var(--accent) 24%, transparent);
  outline-offset:3px;
}

.bp-options-menu-preview__icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:var(--accent);
  background:color-mix(in srgb, var(--accent) 14%, var(--bp-surface));
}

.bp-options-menu-preview__icon::before{
  content:"";
  width:21px;
  height:21px;
  display:block;
  background:currentColor;
  -webkit-mask:var(--bp-options-preview-icon) center / contain no-repeat;
  mask:var(--bp-options-preview-icon) center / contain no-repeat;
}

.bp-options-menu-preview__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.bp-options-menu-preview__copy strong{
  color:var(--bp-text);
  font-family:var(--bp-font);
  font-size:13px;
  font-weight:800;
  line-height:1.2;
}

.bp-options-menu-preview__copy > span{
  color:var(--bp-soft);
  font-size:11px;
  font-weight:550;
  line-height:1.3;
}

.bp-options-section .bp-input,
.bp-options-section input[type="file"]{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

.bp-options-section input[type="file"].bp-input{
  display:block;
  overflow:hidden;
}

.bp-options-section > .bp-form-stack{
  gap:14px;
}

.bp-options-section > .bp-form-stack > .bp-form-box,
.bp-options-section > .bp-form-stack > .bp-options-accordion{
  background:var(--bp-glass-2);
  box-shadow:none;
}

.bp-options-section .bp-form-box .bp-form-box{
  background:var(--bp-glass-3);
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
}

.bp-options-section input:disabled,
.bp-options-section select:disabled,
.bp-options-section textarea:disabled,
.bp-options-section .bp-switch input:disabled + .bp-switch__ui{
  opacity:.52;
  cursor:not-allowed;
}

.bp-options-savebar{
  flex:0 0 auto;
  min-height:72px;
  padding:12px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-top:1px solid var(--bp-divider);
  background:color-mix(in srgb, var(--bp-surface) 90%, transparent);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.bp-options-savebar__feedback{
  min-width:0;
  flex:1 1 auto;
}

.bp-options-savebar__state{
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--bp-soft);
  font-size:12px;
  font-weight:700;
  line-height:1.25;
}

.bp-options-savebar__dot{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--bp-soft);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--bp-soft) 12%, transparent);
}

.bp-options-savebar__state.is-dirty{
  color:#9a6700;
}

.bp-options-savebar__state.is-dirty .bp-options-savebar__dot{
  background:#f59e0b;
  box-shadow:0 0 0 4px rgba(245,158,11,.14);
}

.bp-options-savebar__state.is-saving{
  color:var(--primary);
}

.bp-options-savebar__state.is-saving .bp-options-savebar__dot{
  background:var(--primary);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 14%, transparent);
  animation:bp-options-saving-pulse 1s ease-in-out infinite;
}

.bp-options-savebar__state.is-saved{
  color:#15803d;
}

.bp-options-savebar__state.is-saved .bp-options-savebar__dot{
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.14);
}

.bp-options-savebar__state.is-error{
  color:#b42318;
}

.bp-options-savebar__state.is-error .bp-options-savebar__dot{
  background:#ef4444;
  box-shadow:0 0 0 4px rgba(239,68,68,.14);
}

@keyframes bp-options-saving-pulse{
  0%,100%{ opacity:.55; transform:scale(.88); }
  50%{ opacity:1; transform:scale(1); }
}

.bp-options-savebar__notice{
  width:auto;
  margin:5px 0 0;
  padding:0;
  border-radius:0;
  background:transparent !important;
  font-size:11px;
  font-weight:600;
  line-height:1.35;
}

.bp-options-savebar__notice.is-success{
  color:#15803d;
}

.bp-options-savebar__notice.is-error{
  color:#b42318;
}

.bp-options-savebar__submit{
  min-width:132px;
  min-height:46px;
  padding:12px 18px;
  border:0;
  cursor:pointer;
}

.bp-options-savebar__submit:disabled{
  opacity:.62;
  cursor:wait;
  transform:none !important;
}

@media (max-width:959px){
  .bp-options-app{
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
  }

  .bp-options-nav{
    padding:10px 12px;
    flex-direction:row;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    border-right:0;
    border-bottom:1px solid var(--bp-divider);
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }

  .bp-options-nav::-webkit-scrollbar{
    display:none;
  }

  .bp-options-nav__item{
    flex:0 0 auto;
    width:auto;
    min-width:142px;
    min-height:44px;
    padding:0 12px;
    grid-template-columns:22px auto;
    scroll-snap-align:start;
  }

  .bp-options-nav__icon{
    width:22px;
    height:22px;
  }

  .bp-options-main{
    padding:18px;
  }
}

@media (max-width:767px){
  .bp-options-sheet__dialog{
    width:100%;
  }

  .bp-options-sheet__head{
    padding:12px 14px;
  }

  .bp-options-nav{
    padding:10px 16px;
    scroll-padding-inline:16px;
  }

  .bp-options-nav__item{
    min-width:126px;
    min-height:44px;
    border-radius:14px;
    font-size:12px;
  }

  .bp-options-main{
    padding:16px 12px 20px;
  }

  .bp-options-section__head{
    margin-bottom:14px;
  }

  .bp-options-section__title{
    font-size:20px;
  }

  .bp-options-section__description{
    font-size:12px;
  }

  .bp-options-menu-preview{
    min-height:56px;
    margin:0 0 14px;
    padding:9px 11px;
    grid-template-columns:32px minmax(0,1fr);
    gap:10px;
    border-radius:15px;
  }

  .bp-options-menu-preview__icon{
    width:32px;
    height:32px;
    border-radius:10px;
  }

  .bp-options-menu-preview__icon::before{
    width:20px;
    height:20px;
  }

  .bp-options-menu-preview__copy strong{
    font-size:12px;
  }

  .bp-options-menu-preview__copy > span{
    font-size:10px;
  }

  .bp-options-menu-preview__external{
    width:26px;
    height:26px;
    font-size:16px;
  }

  .bp-options-section > .bp-form-stack{
    gap:12px;
  }

  .bp-options-section > .bp-form-stack > .bp-form-box,
  .bp-options-section > .bp-form-stack > .bp-options-accordion{
    border-radius:18px;
  }

  .bp-options-savebar{
    min-height:68px;
    padding:10px 12px;
    gap:10px;
  }

  .bp-options-savebar__state{
    font-size:11px;
  }

  .bp-options-savebar__notice{
    max-width:190px;
    font-size:10px;
  }

  .bp-options-savebar__submit{
    min-width:112px;
    min-height:44px;
    padding:11px 14px;
    font-size:13px;
  }
}

@media (max-width:460px){
  .bp-options-sheet__subtitle{
    display:none;
  }

  .bp-options-nav__item{
    min-width:116px;
    grid-template-columns:22px auto;
  }

  .bp-options-nav__icon{
    width:22px;
    height:22px;
  }

  .bp-options-main{
    padding:14px 8px 18px;
  }

  .bp-options-savebar__notice{
    display:none !important;
  }

  .bp-options-savebar__submit{
    min-width:108px;
  }
}


@media (max-width:1099px){
  .bp-options-sheet__dialog{
    height:calc(
      100dvh - var(--bp-options-adminbar) - 16px - var(--bp-sheet-safe-bottom)
    );
    max-height:calc(
      100dvh - var(--bp-options-adminbar) - 16px - var(--bp-sheet-safe-bottom)
    );
  }
}

@media (max-width:767px){
  .bp-options-nav__item:first-child{
    margin-left:0;
  }
}

.bp-options-savebar[hidden]{ display:none !important; }

/* ============================================================
   10. Carte des vins
   ============================================================ */

.bp-sidebar__link[href*="view=wines"] .bp-sidebar__label{
  white-space:normal;
  line-height:1.15;
}

.bp-wine-entry{
  display:none;
  align-items:center;
  gap:14px;
  text-decoration:none;
  color:var(--bp-text);
  overflow:hidden;
}

.bp-wine-entry:hover{
  color:var(--bp-text);
}

.bp-wine-entry__icon,
.bp-wines-title__icon{
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:16px;
  background:color-mix(in srgb, var(--primary) 13%, transparent);
  color:var(--primary);
}

.bp-wine-entry__icon svg,
.bp-wines-title__icon svg{
  width:25px;
  height:25px;
  display:block;
  stroke:currentColor;
}

.bp-wine-entry__content{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:4px;
}

.bp-wine-entry__content strong{
  font-size:var(--bp-text-card-title);
  font-weight:800;
  line-height:1.2;
}

.bp-wine-entry__content small{
  color:var(--bp-soft);
  font-size:12px;
  font-weight:600;
  line-height:1.35;
}

.bp-wine-entry__arrow{
  margin-left:auto;
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:999px;
  background:var(--bp-glass-4);
  font-weight:900;
}

@media (max-width:1024px){
  .bp-wine-entry{
    display:flex;
  }
}

.bp-card--wines{
  overflow:hidden;
}

.bp-wines-back{
  display:none;
}

@media (max-width:1099px){
  .bp-wines-back{
    width:100%;
    min-height:46px;
    margin:0 0 14px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:9px;
    border-radius:var(--bp-radius-control);
    background:var(--bp-glass-3);
    color:var(--bp-text);
    box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
    font-size:13px;
    font-weight:800;
    line-height:1.2;
    text-decoration:none;
    transition:background .18s ease, color .18s ease, transform .15s ease;
  }

  .bp-wines-back:hover{
    background:var(--bp-glass-4);
    color:var(--bp-text);
    transform:translateY(-1px);
  }

  .bp-wines-back:focus,
  .bp-wines-back:focus-visible{
    outline:none;
    color:var(--bp-text);
    box-shadow:inset 0 0 0 2px var(--bp-border-strong);
  }

  .bp-wines-back__icon{
    width:20px;
    height:20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
  }

  .bp-wines-back__icon svg{
    width:20px;
    height:20px;
    display:block;
    stroke:currentColor;
  }
}

.bp-wines-head{
  align-items:flex-start;
}

.bp-wines-title{
  align-items:flex-start;
}

.bp-wines-title > span:last-child{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.bp-wines-title strong{
  display:block;
  color:var(--bp-text);
  font-size:20px;
  font-weight:900;
  line-height:1.1;
  letter-spacing:-.02em;
}

.bp-wines-title small{
  display:block;
  max-width:620px;
  color:var(--bp-soft);
  font-size:var(--bp-text-body);
  font-weight:600;
  line-height:1.4;
}


.bp-wines-form{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:16px;
}

.bp-wines-switchline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px;
  border-radius:var(--bp-radius);
  background:var(--bp-glass-2);
}

.bp-wines-switchline strong{
  display:block;
  color:var(--bp-text);
  font-size:var(--bp-text-card-title);
  font-weight:800;
  line-height:1.2;
}

.bp-wines-switchline p{
  margin:6px 0 0;
  color:var(--bp-soft);
  font-size:var(--bp-text-body);
  font-weight:600;
  line-height:1.4;
}

.bp-wines-switchline .bp-switch{
  flex:0 0 auto;
}

.bp-wines-summary{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}

.bp-wines-summary > div{
  padding:14px 16px;
  border-radius:var(--bp-radius);
  background:var(--bp-glass-3);
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
}

.bp-wines-summary span{
  display:block;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  font-weight:700;
  line-height:1.2;
}

.bp-wines-summary strong{
  display:block;
  margin-top:6px;
  color:var(--bp-text);
  font-size:var(--bp-text-page-title);
  font-weight:900;
  line-height:1;
}

.bp-wines-intro{
  margin:0;
  background:var(--bp-glass-2);
  padding:16px;
}

.bp-wine-grid{
  display:grid;
  gap:12px;
  margin: 5px;
}

.bp-wine-grid--intro,
.bp-wine-grid--prices{
  grid-template-columns:repeat(2, minmax(0,1fr));
}

.bp-wine-grid--main{
  grid-template-columns:repeat(3, minmax(0,1fr));
}

.bp-wine-grid--taste{
  grid-template-columns:repeat(4, minmax(0,1fr));
}

.bp-wine-grid--text{
  grid-template-columns:1fr;
}

.bp-wines-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 0 0;
}

.bp-wines-toolbar strong{
  display:block;
  color:var(--bp-text);
  font-size:var(--bp-text-card-title);
  font-weight:800;
  line-height:1.2;
}

.bp-wines-toolbar small{
  display:block;
  margin-top:4px;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  font-weight:600;
  line-height:1.35;
}

.bp-wines-list{
  display:grid;
  gap:12px;
}

.bp-wine-row{
  padding:16px;
  border-radius:22px;
  background:var(--bp-glass-2);
  box-shadow:var(--bp-shadow-soft);
  overflow:hidden;
  transition:box-shadow .18s ease, background .18s ease;
}

.bp-wine-row__top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin-bottom:0;
}

.bp-wine-row.is-open .bp-wine-row__top{
  margin-bottom:14px;
}

.bp-wine-row__toggle{
  all:unset;
  box-sizing:border-box;
  min-width:0;
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  align-items:center;
  gap:10px;
  margin:-4px;
  padding:4px;
  border-radius:16px;
  color:var(--bp-text);
  text-align:left;
  cursor:pointer;
  transition:background .18s ease, box-shadow .18s ease;
}

.bp-wine-row__toggle:hover{
  background:color-mix(in srgb, var(--bp-text) 4%, transparent);
}

.bp-wine-row__toggle:focus,
.bp-wine-row__toggle:active{
  outline:none !important;
  background:transparent !important;
  color:var(--bp-text) !important;
  box-shadow:none !important;
}

.bp-wine-row__toggle:focus-visible{
  outline:none !important;
  background:transparent !important;
  color:var(--bp-text) !important;
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle) !important;
}

.bp-wine-row__heading{
  display:block;
  min-width:0;
}

.bp-wine-row__top strong{
  display:block;
  min-width:0;
  color:var(--bp-text);
  font-size:var(--bp-text-card-title);
  font-weight:900;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bp-wine-row__top small{
  display:block;
  min-width:0;
  margin-top:4px;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  font-weight:600;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bp-wine-row__chevron{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
}

.bp-wine-row__chevron svg{
  width:18px;
  height:18px;
  display:block;
  transition:transform .2s ease;
}

.bp-wine-row.is-open .bp-wine-row__chevron svg{
  transform:rotate(180deg);
}

.bp-wine-row__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}

.bp-wine-row__actions .bp-switch{
  width:52px;
  min-width:52px;
  height:30px;
  margin:0;
  padding:0;
  flex:0 0 52px;
  line-height:0;
}

.bp-wine-row__actions .bp-switch__ui{
  width:52px;
  min-width:52px;
  height:30px;
  flex:0 0 52px;
  box-sizing:border-box;
}

.bp-wine-row__actions .bp-switch__ui::after{
  top:3px;
  left:3px;
  width:24px;
  height:24px;
  box-sizing:border-box;
}

.bp-wine-row__actions .bp-switch input:checked + .bp-switch__ui::after{
  transform:translateX(22px);
}

.bp-wine-remove{
  width:38px;
  height:38px;
  flex:0 0 38px;
  color:#b42318;
  background:var(--bp-glass-3);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
}

.bp-wine-remove:hover{
  color:#991b1b;
  background:#fff1f2;
}

.bp-wine-remove .bp-hosted-icon{
  width:19px;
  height:19px;
}

.bp-wine-row__content{
  min-width:0;
}

.bp-wine-row__content[hidden]{
  display:none !important;
}

.bp-wines-form .bp-label{
  margin:0;
  color:var(--bp-text);
  font-size:12px;
  font-weight:800;
  line-height:1.25;
}

.bp-wines-form .bp-input,
.bp-wines-form input[type="text"],
.bp-wines-form input[type="number"],
.bp-wines-form select,
.bp-wines-form textarea{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:46px;
  margin-top:8px;
  padding:12px 14px;
  border:0 !important;
  border-radius:16px !important;
  background:var(--input-bg) !important;
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  color:var(--bp-text);
  font:inherit;
}

.bp-wines-form textarea.bp-input,
.bp-wine-entry-appearance{
  margin-top:14px;
  padding:16px;
}

.bp-wine-entry-appearance__head strong{
  display:block;
  color:var(--bp-text);
  font-size:var(--bp-text-control);
  font-weight:900;
  line-height:1.2;
}

.bp-wine-entry-appearance__head p{
  margin:5px 0 0;
  color:var(--bp-soft);
  font-size:12px;
  font-weight:600;
  line-height:1.4;
}

.bp-wine-entry-theme-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.bp-wine-entry-theme-option{
  --entry-bg:#f4efe6;
  --entry-shape:#ead8b5;
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:66px;
  padding:8px 10px;
  border-radius:16px;
  background:var(--bp-glass-3);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  cursor:pointer;
}

.bp-wine-entry-theme-option--sage{
  --entry-bg:#edf1ec;
  --entry-shape:#cbd7cb;
}

.bp-wine-entry-theme-option--burgundy{
  --entry-bg:#f3e9eb;
  --entry-shape:#d8b7c0;
}

.bp-wine-entry-theme-option input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.bp-wine-entry-theme-option__preview{
  position:relative;
  width:58px;
  height:44px;
  display:block;
  overflow:hidden;
  border-radius:12px;
  background:var(--entry-bg);
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);
}

.bp-wine-entry-theme-option__shape{
  position:absolute;
  top:-13px;
  right:-8px;
  width:42px;
  height:42px;
  border-radius:46% 54% 47% 53% / 58% 44% 56% 42%;
  background:var(--entry-shape);
  transform:rotate(-8deg);
}

.bp-wine-entry-theme-option__watermark{
  position:absolute;
  right:2px;
  bottom:1px;
  width:34px;
  height:28px;
  opacity:.30;
  background:url("../img/wine_watermark.svg") center / contain no-repeat;
}

.bp-wine-entry-theme-option__label{
  min-width:0;
  color:var(--bp-text);
  font-size:12px;
  font-weight:800;
  line-height:1.2;
}

.bp-wine-entry-theme-option:has(input:checked){
  box-shadow:inset 0 0 0 2px var(--accent), 0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent);
}

.bp-wine-entry-theme-option:has(input:focus-visible){
  outline:2px solid var(--accent);
  outline-offset:2px;
}

.bp-wine-entry-live-preview{
  --entry-bg:#f4efe6;
  --entry-shape:#ead8b5;
  --entry-ink:#2c2925;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:min(100%,360px);
  min-height:104px;
  margin-top:14px;
  padding:20px 116px 20px 20px;
  display:flex;
  align-items:center;
  border-radius:22px;
  background:var(--entry-bg);
  box-shadow:0 8px 22px rgba(47,39,29,.07);
}

.bp-wine-entry-live-preview--sage{
  --entry-bg:#edf1ec;
  --entry-shape:#cbd7cb;
  --entry-ink:#263128;
}

.bp-wine-entry-live-preview--burgundy{
  --entry-bg:#f3e9eb;
  --entry-shape:#d8b7c0;
  --entry-ink:#3a222a;
}

.bp-wine-entry-live-preview::before,
.bp-wine-entry-live-preview::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
  background:var(--entry-shape);
}

.bp-wine-entry-live-preview::before{
  top:-52px;
  right:-34px;
  width:164px;
  height:164px;
  border-radius:46% 54% 47% 53% / 58% 44% 56% 42%;
  transform:rotate(-8deg);
}

.bp-wine-entry-live-preview::after{
  left:-52px;
  bottom:-78px;
  width:124px;
  height:124px;
  border-radius:48% 52% 56% 44% / 44% 58% 42% 56%;
  opacity:.62;
  transform:rotate(16deg);
}

.bp-wine-entry-live-preview__text{
  position:relative;
  z-index:2;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.bp-wine-entry-live-preview__text strong{
  color:var(--entry-ink);
  font-size:16px;
  font-weight:900;
  line-height:1.1;
}

.bp-wine-entry-live-preview__text small{
  color:color-mix(in srgb,var(--entry-ink) 68%,transparent);
  font-size:var(--bp-text-meta);
  font-weight:700;
}

.bp-wine-entry-live-preview__watermark{
  position:absolute;
  z-index:1;
  right:8px;
  bottom:3px;
  width:112px;
  height:82px;
  opacity:.30;
  background:url("../img/wine_watermark.svg") center / contain no-repeat;
}

@media (max-width:700px){
  .bp-wine-entry-theme-options{
    grid-template-columns:1fr;
  }

  .bp-wine-entry-live-preview{
    width:100%;
  }
}

.bp-wines-form .bp-input--textarea{
  min-height:94px;
  line-height:1.4;
  resize:vertical;
}

.bp-wines-form .bp-input:focus,
.bp-wines-form input[type="text"]:focus,
.bp-wines-form input[type="number"]:focus,
.bp-wines-form select:focus,
.bp-wines-form textarea:focus{
  outline:none;
  border:0 !important;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, var(--accent) 48%, var(--bp-border-subtle)),
    var(--focus-ring);
}

.bp-wines-form input[type="range"]{
  padding:0 !important;
  min-height:34px !important;
  background:transparent !important;
  box-shadow:none !important;
  accent-color:var(--accent);
}

.bp-wine-visual-settings{
  margin-top:14px;
  padding:16px;
}

.bp-wine-visual-settings__head strong{
  display:block;
  color:var(--bp-text);
  font-size:var(--bp-text-control);
  font-weight:900;
  line-height:1.2;
}

.bp-wine-visual-settings__head p{
  margin:5px 0 0;
  color:var(--bp-soft);
  font-size:12px;
  font-weight:600;
  line-height:1.4;
}

.bp-wine-visual-grid{
  display:grid;
  grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr);
  gap:16px;
  margin-top:14px;
}

.bp-wine-photo-field,
.bp-wine-tone-field{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}

.bp-wine-photo-field > .bp-label,
.bp-wine-tone-field > .bp-label{
  display:block;
}

.bp-wine-photo-field > .bp-label small{
  margin-left:5px;
  color:var(--bp-soft);
  font-size:11px;
  font-weight:700;
}

.bp-wine-photo-preview{
  --bp-wine-preview-tone:#d8bd8d;
  position:relative;
  width:100%;
  min-height:176px;
  margin-top:8px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:18px;
  background:color-mix(in srgb, var(--bp-wine-preview-tone) 18%, var(--bp-glass-3));
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
  isolation:isolate;
}

.bp-wine-photo-preview::before{
  content:"";
  position:absolute;
  width:112px;
  height:112px;
  border-radius:36% 64% 58% 42% / 48% 38% 62% 52%;
  background:color-mix(in srgb, var(--bp-wine-preview-tone) 48%, transparent);
  transform:rotate(-9deg);
  z-index:0;
}

.bp-wine-photo-preview img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:176px;
  padding:10px;
  object-fit:contain;
}

.bp-wine-photo-preview img[hidden],
.bp-wine-photo-preview__empty[hidden]{
  display:none !important;
}

.bp-wine-photo-preview__empty{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:18px;
  color:var(--bp-soft);
  font-size:12px;
  font-weight:700;
  text-align:center;
}

.bp-wine-photo-preview__icon{
  width:34px;
  height:34px;
  display:block;
  background:currentColor;
  -webkit-mask:var(--bp-wine-photo-icon) center / contain no-repeat;
  mask:var(--bp-wine-photo-icon) center / contain no-repeat;
  opacity:.78;
}

.bp-wine-photo-preview--tone-burgundy{ --bp-wine-preview-tone:#8a3349; }
.bp-wine-photo-preview--tone-rose{ --bp-wine-preview-tone:#dca0ad; }
.bp-wine-photo-preview--tone-sand{ --bp-wine-preview-tone:#d8bd8d; }
.bp-wine-photo-preview--tone-sage{ --bp-wine-preview-tone:#92a594; }
.bp-wine-photo-preview--tone-slate{ --bp-wine-preview-tone:#6f7b89; }
.bp-wine-photo-preview--tone-plum{ --bp-wine-preview-tone:#7b5671; }

.bp-wine-photo-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.bp-wine-photo-upload{
  position:relative;
  overflow:hidden;
  cursor:pointer;
}

.bp-wine-photo-upload:hover,
.bp-wine-photo-upload:focus-within{
  color:var(--bp-text) !important;
}

.bp-wine-photo-upload input[type="file"]{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}

.bp-wine-photo-field .bp-helptext,
.bp-wine-tone-field .bp-helptext{
  margin:8px 0 0;
  color:var(--bp-soft);
  font-size:12px;
  line-height:1.4;
}

.bp-wine-tone-options{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}

.bp-wine-tone-option{
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:46px;
  padding:8px 10px;
  border-radius:14px;
  background:var(--bp-glass-3);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  cursor:pointer;
}

.bp-wine-tone-option input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.bp-wine-tone-option__swatch{
  width:30px;
  height:30px;
  display:block;
  border-radius:10px;
  background:#d8dde6;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.08);
  transition:box-shadow .15s ease, transform .15s ease;
}

.bp-wine-tone-option__label{
  min-width:0;
  color:var(--bp-text);
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bp-wine-tone-option input:checked + .bp-wine-tone-option__swatch{
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent), inset 0 0 0 2px var(--bp-surface);
  transform:scale(.94);
}

.bp-wine-tone-option input:focus-visible + .bp-wine-tone-option__swatch{
  outline:2px solid var(--accent);
  outline-offset:3px;
}

.bp-wine-tone-option--auto .bp-wine-tone-option__swatch{
  background:linear-gradient(135deg,#8a3349 0 25%,#d8b98a 25% 50%,#9da89a 50% 75%,#6f7480 75% 100%);
}
.bp-wine-tone-option--burgundy .bp-wine-tone-option__swatch{ background:#8a3349; }
.bp-wine-tone-option--rose .bp-wine-tone-option__swatch{ background:#dca0ad; }
.bp-wine-tone-option--sand .bp-wine-tone-option__swatch{ background:#d8bd8d; }
.bp-wine-tone-option--sage .bp-wine-tone-option__swatch{ background:#92a594; }
.bp-wine-tone-option--slate .bp-wine-tone-option__swatch{ background:#6f7b89; }
.bp-wine-tone-option--plum .bp-wine-tone-option__swatch{ background:#7b5671; }

.bp-wine-detail-section{
  margin-top:14px;
}

.bp-wine-detail-section__toggle{
  display:none;
}

.bp-wine-detail-section__content{
  display:block;
}

.bp-wine-detail-section__content[hidden]{
  display:none !important;
}

.bp-card--wine-locked{
  box-shadow:none !important;
}

@media (max-width:900px){
  .bp-wine-row{
    padding:14px;
    border-radius:18px;
  }

  .bp-wine-row__top{
    gap:10px;
  }

  .bp-wine-row.is-open .bp-wine-row__top{
    margin-bottom:12px;
  }

  .bp-wine-grid--main{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .bp-wine-grid--taste{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .bp-wine-visual-grid{
    grid-template-columns:1fr;
  }

  .bp-wine-photo-preview{
    min-height:154px;
  }

  .bp-wine-photo-preview img{
    height:154px;
  }
}

@media (max-width:768px){
  .bp-wines-head{
    flex-direction:column;
    align-items:stretch;
  }


  .bp-wines-switchline{
    padding:14px;
  }

  .bp-wine-grid--intro,
  .bp-wine-grid--prices,
  .bp-wine-grid--main,
  .bp-wine-grid--taste{
    grid-template-columns:1fr;
  }

  .bp-wines-toolbar{
    align-items:stretch;
    flex-direction:column;
  }

  .bp-wines-toolbar .bp-btn{
    width:100%;
  }

  .bp-wine-row__top{
    align-items:center;
  }
}

@media (max-width:520px){
  .bp-wines-switchline{
    align-items:center;
  }

  .bp-wines-summary{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:10px;
  }

  .bp-wines-summary > div{
    padding:12px;
  }

  .bp-wines-summary strong{
    font-size:20px;
  }

  .bp-wine-row{
    padding:12px;
  }

  .bp-wine-row__toggle{
    grid-template-columns:minmax(0,1fr) 30px;
    gap:7px;
  }

  .bp-wine-row__chevron{
    width:30px;
    height:30px;
    border-radius:10px;
  }

  .bp-wine-row__actions{
    gap:6px;
  }

  .bp-wine-remove{
    width:36px;
    height:36px;
    flex-basis:36px;
  }

  .bp-wine-tone-options{
    grid-template-columns:1fr;
  }
}

@media (max-width:900px){
  .bp-wine-detail-section{
    margin-top:10px;
    padding:14px;
    overflow:hidden;
    border:0;
    border-radius:16px;
    background:var(--bp-surface);
    box-shadow:none;
  }

  .bp-wine-detail-section__toggle{
    width:100%;
    min-height:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    color:var(--bp-text) !important;
    box-shadow:none !important;
    font:inherit;
    font-size:14px;
    font-weight:900;
    line-height:1.2;
    text-align:left;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }

  .bp-wine-detail-section.is-open .bp-wine-detail-section__toggle,
  .bp-wine-detail-section__toggle:hover,
  .bp-wine-detail-section__toggle:active,
  .bp-wine-detail-section__toggle:focus,
  .bp-wine-detail-section__toggle:focus-visible{
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    color:var(--bp-text) !important;
    box-shadow:none !important;
  }

  .bp-wine-detail-section__chevron{
    width:9px;
    height:9px;
    flex:0 0 9px;
    margin-right:3px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg);
    transition:transform .18s ease;
  }

  .bp-wine-detail-section.is-open .bp-wine-detail-section__chevron{
    transform:rotate(225deg);
  }

  .bp-wine-detail-section__content{
    padding:12px 0 0;
  }

  .bp-wine-detail-section:not(.is-open) .bp-wine-detail-section__content{
    display:none;
  }

  .bp-wine-detail-section .bp-wine-visual-settings{
    margin:0;
    padding:0;
    background:transparent;
    box-shadow:none;
  }

  .bp-wine-detail-section .bp-wine-visual-settings__head{
    display:none;
  }

  .bp-wine-detail-section .bp-wine-visual-grid{
    gap:12px;
    margin-top:0;
  }

  .bp-wine-detail-section .bp-wine-photo-preview{
    min-height:132px;
  }

  .bp-wine-detail-section .bp-wine-photo-preview img{
    height:132px;
    padding:8px;
  }

  .bp-wine-detail-section .bp-wine-photo-preview::before{
    width:92px;
    height:92px;
  }

  .bp-wine-detail-section .bp-wine-photo-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .bp-wine-detail-section .bp-wine-photo-actions .bp-btn{
    width:100%;
    min-width:0;
    justify-content:center;
  }

  .bp-wine-detail-section .bp-wine-tone-options{
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:7px;
    margin-top:9px;
  }

  .bp-wine-detail-section .bp-wine-tone-option{
    min-height:68px;
    padding:8px 5px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    border-radius:13px;
    text-align:center;
  }

  .bp-wine-detail-section .bp-wine-tone-option__swatch{
    width:28px;
    height:28px;
    border-radius:9px;
  }

  .bp-wine-detail-section .bp-wine-tone-option__label{
    width:100%;
    font-size:11px;
    line-height:1.15;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }

  .bp-wine-detail-section .bp-wine-grid--prices{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:9px;
  }

  .bp-wine-detail-section .bp-wine-grid--prices .bp-label{
    min-width:0;
  }

  .bp-wine-detail-section .bp-wine-grid--prices .bp-input{
    min-width:0;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .bp-wine-detail-section .bp-wine-grid--text,
  .bp-wine-detail-section .bp-wine-grid--taste{
    margin-top:0;
  }

  .bp-wine-detail-section .bp-helptext{
    font-size:11px;
  }
}

@media (max-width:380px){
  .bp-wine-detail-section .bp-wine-photo-actions{
    grid-template-columns:1fr;
  }
}


.bp-panel .bp-nav-item[href*="view=wines"] .bp-nav-svg,
.bp-panel .bp-mobile-nav__link[href*="view=wines"] .bp-nav-svg,
.bp-wine-entry__icon .bp-nav-svg,
.bp-wines-title__icon .bp-nav-svg{
  width:24px !important;
  height:24px !important;
  display:block !important;
  color:currentColor !important;
  stroke:currentColor !important;
  fill:none !important;
}

.bp-wine-entry__icon,
.bp-wines-title__icon{
  background:color-mix(in srgb, #7c2d12 10%, var(--bp-surface));
  color:#7c2d12;
}

.bp-card--wines .bp-section-title,
.bp-wines-toolbar strong,
.bp-wines-switchline strong,
.bp-wine-row__top strong{
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1.22 !important;
}

.bp-card--wines .bp-label,
.bp-wines-form .bp-label{
  color:var(--bp-text) !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
}

.bp-card--wines .bp-input,
.bp-card--wines input[type="text"],
.bp-card--wines input[type="number"],
.bp-card--wines select,
.bp-card--wines textarea{
  min-height:52px !important;
  padding:14px 16px !important;
  border-radius:18px !important;
  font-weight:400 !important;
  line-height:1.35 !important;
}

.bp-card--wines .bp-input::placeholder,
.bp-card--wines input::placeholder,
.bp-card--wines textarea::placeholder{
  color:color-mix(in srgb, var(--bp-soft) 82%, transparent) !important;
  opacity:1 !important;
  font-size:14px !important;
  font-weight:400 !important;
}

.bp-card--wines textarea.bp-input,
.bp-card--wines .bp-input--textarea{
  min-height:104px !important;
}

.bp-wine-grid--taste{
  gap:10px !important;
}

.bp-label--meter{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  min-height:46px !important;
  padding:10px 12px !important;
  border-radius:16px !important;
  background:var(--bp-glass-3) !important;
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle) !important;
}

.bp-meter{
  display:inline-flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
}

.bp-meter__dot{
  appearance:none;
  -webkit-appearance:none;
  width:16px;
  height:7px;
  padding:0;
  border:0;
  border-radius:999px;
  background:color-mix(in srgb, var(--bp-text) 14%, transparent);
  cursor:pointer;
  transition:background .14s ease, transform .12s ease;
}

.bp-meter__dot.is-on{
  background:color-mix(in srgb, var(--accent) 82%, #111827 6%);
}

.bp-meter__dot:hover{
  transform:translateY(-1px);
  background:color-mix(in srgb, var(--accent) 55%, var(--bp-text) 10%);
}

.bp-meter__dot:focus-visible{
  outline:2px solid color-mix(in srgb, var(--accent) 35%, white);
  outline-offset:3px;
}

@media (max-width:900px){
  .bp-wine-grid--taste{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width:560px){
  .bp-card--wines .bp-input,
  .bp-card--wines input[type="text"],
  .bp-card--wines input[type="number"],
  .bp-card--wines select,
  .bp-card--wines textarea{
    min-height:50px !important;
    font-size:14px !important;
  }

  .bp-wine-grid--taste{
    grid-template-columns:1fr !important;
  }

  .bp-label--meter{
    min-height:44px !important;
  }
}



.bp-sidebar__icon .bp-nav-svg--grape,
.bp-mobile-nav__link .bp-nav-svg--grape,
.bp-wine-entry__icon .bp-nav-svg--grape,
.bp-wines-title__icon .bp-nav-svg--grape{
  display:block !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  max-width:24px !important;
  max-height:24px !important;
  object-fit:contain !important;
  object-position:center !important;
  flex:0 0 24px !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
}

.bp-sidebar__icon:has(.bp-nav-svg--grape),
.bp-wine-entry__icon:has(.bp-nav-svg--grape),
.bp-wines-title__icon:has(.bp-nav-svg--grape){
  overflow:hidden;
}

.bp-sidebar__link[href*="view=wines"] .bp-sidebar__icon{
  color:#7c2d12;
}

.bp-sidebar__link[href*="view=wines"].is-active .bp-sidebar__icon{
  color:var(--accent,#ff5a2a);
}



.bp-sidebar__link[href*="view=wines"] .bp-sidebar__icon,
.bp-wine-entry__icon,
.bp-wines-title__icon{
  color:currentColor !important;
}

.bp-sidebar__link[href*="view=wines"]:not(.is-active) .bp-sidebar__icon,
.bp-sidebar__link[href*="view=wines"]:not(.is-active) .bp-nav-svg--grape{
  color:inherit !important;
}

.bp-sidebar__link[href*="view=wines"].is-active .bp-sidebar__icon,
.bp-sidebar__link[href*="view=wines"].is-active .bp-nav-svg--grape,
.bp-mobile-nav__link[href*="view=wines"].is-active .bp-nav-svg--grape,
.bp-card--wines .bp-wines-title__icon,
.bp-card--wines .bp-wines-title__icon .bp-nav-svg--grape{
  color:var(--accent,#ff5a2a) !important;
}

.bp-nav-svg--grape,
.bp-nav-svg--grape *{
  stroke:currentColor !important;
  fill:none !important;
}

.bp-sidebar__icon .bp-nav-svg--grape,
.bp-mobile-nav__link .bp-nav-svg--grape,
.bp-wine-entry__icon .bp-nav-svg--grape,
.bp-wines-title__icon .bp-nav-svg--grape{
  display:block !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  max-width:24px !important;
  max-height:24px !important;
  flex:0 0 24px !important;
}

/* ============================================================
   11. Équipe
   ============================================================ */

.bp-team{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.bp-team-intro{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:16px;
  border:2px solid color-mix(in srgb, var(--accent) 18%, var(--bp-border-subtle));
  border-radius:18px;
  background:color-mix(in srgb, var(--accent) 8%, var(--bp-surface));
}

.bp-team-intro__icon{
  width:44px !important;
  height:44px !important;
  padding:10px;
  border-radius:14px;
  background-color:var(--accent) !important;
  -webkit-mask-origin:content-box;
  mask-origin:content-box;
}

.bp-team-intro strong{
  display:block;
  color:var(--bp-text);
  font-size:var(--bp-text-control);
  font-weight:800;
  line-height:1.3;
}

.bp-team-intro p{
  margin:5px 0 0;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  line-height:1.5;
}

.bp-team-icon{
  display:inline-block;
  width:19px;
  height:19px;
  flex:0 0 auto;
  background-color:currentColor;
  -webkit-mask:var(--bp-team-icon) center / contain no-repeat;
  mask:var(--bp-team-icon) center / contain no-repeat;
  pointer-events:none;
}

.bp-team-create,
.bp-team-list{
  margin:0;
  background:var(--bp-glass-2);
  box-shadow:none;
}

.bp-team-create__head{
  margin-bottom:14px;
}

.bp-team-create__head .bp-card__title{
  margin-bottom:4px;
}

.bp-team-create__fields{
  margin-bottom:14px;
}

.bp-team-invite-row{
  margin:0;
  padding:13px 14px;
  border-radius:16px;
  background:var(--bp-glass-3);
}

.bp-team-invite-row__title{
  display:flex;
  align-items:center;
  gap:9px;
}

.bp-team-invite-row__title .bp-label{
  margin:0;
}

.bp-team-create__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
}

.bp-team-notice{
  flex:1 1 auto;
  margin:0;
}

.bp-team-create__button{
  flex:0 0 auto;
  gap:9px;
  border:0;
  cursor:pointer;
}

.bp-team-create__button:disabled,
.bp-team-action:disabled{
  opacity:.55;
  cursor:wait;
  pointer-events:none;
}

.bp-team-members__heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.bp-team-members__heading strong{
  display:block;
  color:var(--bp-text);
  font-size:var(--bp-text-control);
  font-weight:800;
}

.bp-team-members__heading span{
  display:block;
  margin-top:3px;
  color:var(--bp-soft);
  font-size:var(--bp-text-micro);
  font-weight:650;
}

.bp-team-empty{
  padding:18px;
  border-radius:16px;
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  font-size:12px;
  line-height:1.5;
  text-align:center;
}

.bp-team-members{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.bp-team-member-card{
  padding:14px;
  border-radius:18px;
  background:var(--bp-glass-3);
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
}

.bp-team-member-card__main{
  display:flex;
  align-items:flex-start;
  gap:12px;
}

.bp-team-member-card__avatar{
  width:40px !important;
  height:40px !important;
  padding:9px;
  border-radius:13px;
  color:var(--accent);
  background-color:var(--accent) !important;
  -webkit-mask-origin:content-box;
  mask-origin:content-box;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent);
}

.bp-team-member-card__identity{
  min-width:0;
  flex:1 1 auto;
}

.bp-team-member-card__name-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.bp-team-member-card__identity strong{
  color:var(--bp-text);
  font-size:var(--bp-text-control);
  font-weight:800;
}

.bp-team-member-card__identity > span{
  display:block;
  margin-top:4px;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  overflow-wrap:anywhere;
}

.bp-team-member-card__identity small{
  display:block;
  margin-top:5px;
  color:var(--bp-soft);
  font-size:var(--bp-text-micro);
  line-height:1.4;
}

.bp-team-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

.bp-team-status .bp-team-icon{
  width:15px;
  height:15px;
}

.bp-team-status.is-active{
  color:#15803d;
  background:rgba(34,197,94,.12);
}

.bp-team-status.is-paused{
  color:#b45309;
  background:rgba(245,158,11,.14);
}

.bp-team-member-card__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid var(--bp-divider);
}

.bp-team-action{
  appearance:none;
  -webkit-appearance:none;
  min-height:38px;
  padding:8px 11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:0;
  border-radius:13px;
  background:var(--bp-glass-4);
  color:var(--bp-text);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  font:inherit;
  font-size:var(--bp-text-control);
  font-weight:700;
  cursor:pointer;
  transition:transform .15s ease, background .15s ease;
}

.bp-team-action:hover{
  background:color-mix(in srgb, var(--accent) 8%, var(--bp-glass-4));
  transform:translateY(-1px);
}

.bp-team-action.is-danger{
  color:#b42318;
}

.bp-fixedbar__status-icon{
  width:22px;
  height:22px;
  color:currentColor;
}

body.bp-team-member .bp-topbar__left{
  gap:8px;
}

@media (max-width:1099px){
  body.bp-team-member .bp-panel{
    padding-bottom:28px !important;
  }
}

@media (max-width:767px){
  .bp-team-intro{
    grid-template-columns:38px minmax(0,1fr);
    padding:14px;
  }

  .bp-team-intro__icon{
    width:38px !important;
    height:38px !important;
    padding:8px;
  }

  .bp-team-create__footer{
    flex-direction:column;
    align-items:stretch;
  }

  .bp-team-create__button,
  .bp-team-notice{
    width:100%;
  }

  .bp-team-member-card__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .bp-team-action{
    width:100%;
  }
}

@media (max-width:480px){
  .bp-team-member-card__main{
    align-items:flex-start;
  }

  .bp-team-member-card__name-row{
    align-items:flex-start;
    flex-direction:column;
  }

  .bp-team-member-card__actions{
    grid-template-columns:1fr;
  }
}

.bp-team-role-picker{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.bp-team-role-option{
  position:relative;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:13px;
  align-items:center;
  min-height:78px;
  padding:13px;
  border:2px solid var(--bp-border-subtle);
  border-radius:17px;
  background:var(--bp-glass-3);
  cursor:pointer;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}

.bp-team-role-option:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--accent) 28%,var(--bp-border-subtle));
}

.bp-team-role-option.is-selected{
  border-color:color-mix(in srgb,var(--accent) 55%,var(--bp-border-subtle));
  background:color-mix(in srgb,var(--accent) 9%,var(--bp-surface));
}

.bp-team-role-option input{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.bp-team-role-option__icon{
  width:44px !important;
  height:44px !important;
  padding:0;
  border-radius:12px;
  color:var(--accent);
  background-color:var(--accent) !important;
  -webkit-mask-origin:content-box;
  mask-origin:content-box;
}

.bp-team-role-option strong,
.bp-team-role-option small{
  display:block;
}

.bp-team-role-option strong{
  color:var(--bp-text);
  font-size:var(--bp-text-body);
  font-weight:800;
}

.bp-team-role-option small{
  margin-top:4px;
  color:var(--bp-soft);
  font-size:10.5px;
  line-height:1.35;
}

.bp-team-role-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:27px;
  padding:5px 9px;
  border-radius:999px;
  background:color-mix(in srgb,var(--primary) 9%,var(--bp-glass-3));
  color:var(--primary);
  font-size:var(--bp-text-micro);
  font-weight:800;
  white-space:nowrap;
}

.bp-team-role-badge.is-service{
  background:color-mix(in srgb,var(--accent) 10%,var(--bp-glass-3));
  color:var(--accent);
}

.bp-team-role-badge .bp-team-icon{
  width:15px;
  height:15px;
}

.bp-order-source-badge{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:5px 9px;
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 10%,var(--bp-glass-3));
  color:var(--accent);
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

@media (max-width:640px){
  .bp-team-role-picker{ grid-template-columns:1fr; }
}

/* ============================================================
   12. Prise de commande manuelle
   ============================================================ */

.bp-manual-order{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding-bottom:6px;
}

.bp-manual-icon{
  display:inline-block;
  width:20px;
  height:20px;
  flex:0 0 auto;
  background-color:currentColor;
  -webkit-mask:var(--bp-manual-icon) center / contain no-repeat;
  mask:var(--bp-manual-icon) center / contain no-repeat;
  pointer-events:none;
}

.bp-manual-order__header{
  margin-top:0;
  padding:16px 18px;
}

.bp-manual-order__heading{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  align-items:center;
  gap:14px;
}

.bp-manual-order__heading-icon{
  width:46px !important;
  height:46px !important;
  padding:11px;
  border-radius:15px;
  color:var(--accent);
  background-color:var(--accent) !important;
  -webkit-mask-origin:content-box;
  mask-origin:content-box;
}

.bp-manual-order__heading h1{
  margin:0;
  color:var(--bp-text);
  font-family:var(--bp-font);
  font-size:20px;
  font-weight:800;
  line-height:1.15;
}

.bp-manual-order__heading p{
  margin:5px 0 0;
  color:var(--bp-soft);
  font-size:var(--bp-text-micro);
  line-height:1.45;
}

.bp-manual-order__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:14px;
  align-items:start;
}

.bp-manual-order__catalog{
  min-width:0;
}

.bp-manual-order__toolbar{
  margin-top:0;
  padding:14px;
}

.bp-manual-order__search .bp-input{
  min-height:46px;
  border:0;
}

.bp-manual-order__categories{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:11px;
  padding-bottom:2px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}


.bp-manual-category{
  appearance:none;
  flex:0 0 auto;
  min-height:35px;
  padding:7px 12px;
  border:0;
  border-radius:999px;
  background:var(--bp-glass-3);
  color:var(--bp-text);
  box-shadow:inset 0 0 0 1px var(--bp-border-subtle);
  font:inherit;
  font-size:11px;
  font-weight:750;
  cursor:pointer;
}

.bp-manual-category.is-active{
  background:var(--accent);
  color:var(--accent-contrast,#fff);
  box-shadow:none;
}

.bp-manual-products{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}

.bp-manual-product{
  min-width:0;
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  overflow:hidden;
  border-radius:19px;
  background:var(--bp-surface);
  box-shadow:var(--bp-shadow-soft);
}

.bp-manual-product[hidden]{ display:none !important; }

.bp-manual-product.is-unavailable{
  opacity:.55;
  filter:grayscale(.35);
}

.bp-manual-product__media{
  min-height:132px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  font-size:10px;
}

.bp-manual-product__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.bp-manual-product__body{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:13px;
}

.bp-manual-product__top{
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:9px;
}

.bp-manual-product__top > div{
  min-width:0;
}

.bp-manual-product__top strong{
  display:block;
  color:var(--bp-text);
  font-size:13px;
  font-weight:800;
  line-height:1.3;
}

.bp-manual-product__top p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin:5px 0 0;
  color:var(--bp-soft);
  font-size:var(--bp-text-micro);
  line-height:1.4;
}

.bp-manual-product__price{
  flex:0 0 auto;
  color:var(--bp-text);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.bp-manual-product__footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px;
  margin-top:auto;
  padding-top:12px;
}

.bp-manual-product__hint{
  color:var(--bp-soft);
  font-size:var(--bp-text-micro);
  font-weight:650;
  line-height:1.25;
}

.bp-manual-qty{
  display:grid;
  grid-template-columns:34px minmax(25px,auto) 34px;
  align-items:center;
  gap:4px;
}

.bp-manual-qty__btn{
  appearance:none;
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:11px;
  background:var(--bp-glass-3);
  color:var(--bp-text);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  cursor:pointer;
  transition:transform .14s ease,background .14s ease;
}

.bp-manual-qty__btn:hover{ transform:translateY(-1px); }

.bp-manual-qty__btn.is-add{
  background:var(--accent);
  color:var(--accent-contrast,#fff);
  box-shadow:none;
}

.bp-manual-qty__btn:disabled{
  opacity:.45;
  cursor:not-allowed;
  pointer-events:none;
}

.bp-manual-qty__btn .bp-manual-icon{
  width:18px;
  height:18px;
}

.bp-manual-qty__value{
  min-width:25px;
  color:var(--bp-text);
  font-size:12px;
  font-weight:850;
  text-align:center;
}

.bp-manual-order__no-result{
  margin-top:12px;
  color:var(--bp-soft);
  text-align:center;
}

.bp-manual-cart{
  position:sticky;
  top:58px;
  max-height:calc(100vh - 76px);
  display:flex;
  flex-direction:column;
  margin-top:0;
  overflow:auto;
  padding:15px;
}

.bp-manual-cart__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--bp-divider);
}

.bp-manual-cart__head strong,
.bp-manual-cart__head span{
  display:block;
}

.bp-manual-cart__head strong{
  color:var(--bp-text);
  font-size:14px;
  font-weight:850;
}

.bp-manual-cart__head > div > span{
  margin-top:3px;
  color:var(--bp-soft);
  font-size:var(--bp-text-micro);
}

.bp-manual-cart__total{
  color:var(--bp-text);
  font-size:var(--bp-text-section-title);
  font-weight:850;
  white-space:nowrap;
}

.bp-manual-cart__empty{
  margin-top:12px;
  padding:17px 13px;
  border-radius:15px;
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  font-size:var(--bp-text-body);
  line-height:1.45;
  text-align:center;
}

.bp-manual-cart__lines{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:12px;
}

.bp-manual-cart-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  padding:11px;
  border-radius:15px;
  background:var(--bp-glass-3);
}

.bp-manual-cart-line__main{
  min-width:0;
}

.bp-manual-cart-line__main strong,
.bp-manual-cart-line__main small,
.bp-manual-cart-line__main span{
  display:block;
}

.bp-manual-cart-line__main strong{
  color:var(--bp-text);
  font-size:11.5px;
  font-weight:800;
  line-height:1.3;
}

.bp-manual-cart-line__main small{
  margin-top:4px;
  color:var(--bp-soft);
  font-size:9.5px;
  line-height:1.35;
}

.bp-manual-cart-line__main > span{
  margin-top:5px;
  color:var(--bp-soft);
  font-size:var(--bp-text-micro);
}

.bp-manual-cart-line__side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}

.bp-manual-cart-line__side > strong{
  color:var(--bp-text);
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}

.bp-manual-qty--cart{
  grid-template-columns:29px minmax(22px,auto) 29px;
}

.bp-manual-qty--cart .bp-manual-qty__btn{
  width:29px;
  height:29px;
  border-radius:9px;
}

.bp-manual-qty--cart .bp-manual-icon{
  width:16px;
  height:16px;
}

.bp-manual-cart__fields{
  display:flex;
  flex-direction:column;
  gap:11px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--bp-divider);
}

.bp-manual-cart__fields .bp-label{
  margin-bottom:6px;
  font-size:11px;
}

.bp-manual-cart__fields .bp-input{
  min-height:42px;
  border:0;
  font-size:var(--bp-text-meta);
}

.bp-manual-cart__fields textarea.bp-input{
  min-height:74px;
  resize:vertical;
}

.bp-manual-optional{
  color:var(--bp-soft);
  font-size:var(--bp-text-micro);
  font-weight:600;
}

.bp-manual-cart__notice{
  margin-top:12px;
  font-size:var(--bp-text-micro);
  line-height:1.4;
}

.bp-manual-cart__confirm{
  width:100%;
  min-height:46px;
  gap:9px;
  margin-top:12px;
  border:0;
  cursor:pointer;
}

.bp-manual-cart__confirm:disabled{
  opacity:.48;
  cursor:not-allowed;
  pointer-events:none;
}

.bp-manual-cart__payment-note{
  margin:8px 0 0;
  color:var(--bp-soft);
  font-size:var(--bp-text-meta);
  line-height:1.4;
  text-align:center;
}

.bp-manual-mobile-bar{
  display:none;
}

.bp-manual-options__dialog{
  width:min(620px,calc(100% - 24px));
  height:auto;
  max-height:calc(100dvh - 120px);
  margin:32px auto 0;
}

.bp-manual-options__subtitle{
  margin-top:3px;
  color:var(--bp-soft);
  font-size:var(--bp-text-micro);
}

.bp-manual-options__groups{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.bp-manual-option-group{
  min-width:0;
  margin:0;
  padding:13px;
  border:0;
  border-radius:17px;
  background:var(--bp-glass-3);
}

.bp-manual-option-group legend{
  padding:0;
  color:var(--bp-text);
  font-size:12px;
  font-weight:800;
}

.bp-manual-option-choices{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}

.bp-manual-option-choice{
  position:relative;
  min-height:42px;
  display:flex;
  align-items:center;
  padding:10px 11px;
  border-radius:13px;
  background:var(--bp-glass-4);
  box-shadow:inset 0 0 0 2px var(--bp-border-subtle);
  cursor:pointer;
}

.bp-manual-option-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.bp-manual-option-choice:has(input:checked){
  background:color-mix(in srgb,var(--accent) 10%,var(--bp-glass-4));
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent);
  color:var(--accent);
}

.bp-manual-option-choice span{
  font-size:11px;
  font-weight:750;
  line-height:1.3;
}

.bp-manual-options__notice{
  margin-top:12px;
}

.bp-manual-options__add{
  width:100%;
  min-height:46px;
  gap:9px;
  margin-top:14px;
  border:0;
  cursor:pointer;
}

.bp-mobile-nav--team{
  justify-content:center;
}

.bp-mobile-nav--team .bp-mobile-nav__link{
  max-width:220px;
}

@media (max-width:1250px) and (min-width:1100px){
  .bp-manual-order__layout{ grid-template-columns:minmax(0,1fr) 310px; }
  .bp-manual-products{ grid-template-columns:1fr; }
}

@media (max-width:1099px){
  body.bp-team-member .bp-panel{
    padding-bottom:98px !important;
  }

  .bp-panel-shell[data-bp-panel-view="take-order"] > .bp-panel{
    padding-bottom:160px !important;
  }

  .bp-manual-order__layout{
    grid-template-columns:1fr;
  }

  .bp-manual-cart{
    position:relative;
    top:auto;
    max-height:none;
    scroll-margin-top:58px;
  }

  .bp-manual-products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .bp-manual-mobile-bar:not([hidden]){
    position:fixed;
    left:12px;
    right:12px;
    bottom:82px;
    z-index:9996;
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 14px;
    border:0;
    border-radius:17px;
    background:var(--accent);
    color:var(--accent-contrast,#fff);
    box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 34%,transparent);
    font:inherit;
    cursor:pointer;
  }

  .bp-manual-mobile-bar span:first-child{
    min-width:0;
    text-align:left;
  }

  .bp-manual-mobile-bar strong,
  .bp-manual-mobile-bar small{
    display:block;
  }

  .bp-manual-mobile-bar strong{
    font-size:11.5px;
    font-weight:850;
  }

  .bp-manual-mobile-bar small{
    margin-top:2px;
    font-size:10px;
    opacity:.85;
  }

  .bp-manual-mobile-bar > span:last-child{
    flex:0 0 auto;
    font-size:11px;
    font-weight:800;
  }
}

@media (max-width:720px){
  .bp-manual-products{ grid-template-columns:1fr; }
  .bp-manual-product{ grid-template-columns:104px minmax(0,1fr); }
  .bp-manual-product__media{ min-height:126px; }
  .bp-manual-option-choices{ grid-template-columns:1fr; }
}

@media (max-width:490px){
  .bp-manual-order{
    gap:10px;
  }

  .bp-manual-order__header{
    padding:14px;
  }

  .bp-manual-order__heading{
    grid-template-columns:40px minmax(0,1fr);
    gap:11px;
  }

  .bp-manual-order__heading-icon{
    width:40px !important;
    height:40px !important;
    padding:9px;
  }

  .bp-manual-order__heading h1{ font-size:17px; }
  .bp-manual-order__heading p{ font-size:10.5px; }

  .bp-manual-product{
    grid-template-columns:88px minmax(0,1fr);
    border-radius:17px;
  }

  .bp-manual-product__media{ min-height:118px; }
  .bp-manual-product__body{ padding:11px; }
  .bp-manual-product__top p{ display:none; }
  .bp-manual-product__price{ font-size:11px; }
  .bp-manual-product__footer{ padding-top:9px; }
  .bp-manual-product__hint{ display:none; }

  .bp-manual-qty{
    grid-template-columns:31px 22px 31px;
  }

  .bp-manual-qty__btn{
    width:31px;
    height:31px;
  }

  .bp-manual-cart-line{
    grid-template-columns:1fr;
  }

  .bp-manual-cart-line__side{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }

  .bp-manual-mobile-bar:not([hidden]){
    left:8px;
    right:8px;
    bottom:72px;
  }

  .bp-manual-options__dialog{
    width:100%;
    max-height:calc(100dvh - 82px);
    margin:0 auto;
  }
}


/* En-tête : icône plus lisible sans alourdir la carte. */
.bp-manual-order__heading{
  grid-template-columns:54px minmax(0,1fr);
  gap:16px;
}

.bp-manual-order__heading-icon{
  width:54px !important;
  height:54px !important;
  padding:7px !important;
  border-radius:16px;
}

.bp-manual-order__heading h1{
  font-size:22px;
}

.bp-manual-order__heading p{
  margin-top:6px;
  font-size:14px;
  line-height:1.45;
}

/* Barre de recherche et champs : mêmes tokens que le design system. */
.bp-manual-order .bp-input{
  box-sizing:border-box;
  color:var(--input-text, var(--bp-text)) !important;
  background:var(--input-bg, var(--bp-surface)) !important;
  border:2px solid var(--input-border, var(--bp-border-subtle)) !important;
  box-shadow:none !important;
  font-family:var(--bp-font);
  font-size:14px !important;
  line-height:1.4;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.bp-manual-order .bp-input::placeholder{
  color:var(--input-placeholder, var(--bp-faint)) !important;
  opacity:1;
}

.bp-manual-order .bp-input:focus{
  outline:none !important;
  border-color:color-mix(in srgb, var(--accent) 46%, var(--input-border, var(--bp-border-subtle))) !important;
  box-shadow:var(--focus-ring, 0 0 0 4px color-mix(in srgb, var(--accent) 24%, transparent)) !important;
}

.bp-manual-order__search .bp-input{
  min-height:48px;
  padding:11px 16px;
  border-radius:var(--bp-radius-pill) !important;
  background:var(--bp-glass-2) !important;
}

.bp-manual-cart__fields .bp-input{
  min-height:46px;
  padding:11px 13px;
  border-radius:var(--bp-radius-control) !important;
}

.bp-manual-cart__fields textarea.bp-input{
  min-height:92px;
}

/* Catégories : bordure 2 px et zone respirante pour ne plus rogner les états. */
.bp-manual-order__categories{
  gap:9px;
  margin:8px -4px -3px;
  padding:7px 4px 10px;
  overflow-x:auto;
  overflow-y:hidden;
}

.bp-manual-category{
  min-height:39px;
  padding:8px 14px;
  border:2px solid var(--bp-border-subtle);
  background:var(--bp-glass-3);
  box-shadow:none;
  color:var(--bp-text);
  font-size:13px;
  font-weight:700;
  line-height:1;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}

.bp-manual-category:hover{
  background:color-mix(in srgb, var(--accent) 10%, var(--bp-glass-3));
  border-color:color-mix(in srgb, var(--accent) 28%, var(--bp-border-subtle));
  color:var(--bp-text);
}

.bp-manual-category.is-active,
.bp-manual-category.is-active:hover{
  border-color:var(--accent);
  background:var(--accent);
  color:var(--accent-contrast,#fff);
}

.bp-manual-category:focus-visible{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);
}

/* Catalogue : une vraie liste lisible au lieu d'une grille étroite. */
.bp-manual-products{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}

.bp-manual-product{
  width:100%;
  min-height:116px;
  grid-template-columns:108px minmax(0,1fr);
  border:2px solid transparent;
  border-radius:18px;
  background:var(--bp-surface);
  transition:border-color .18s ease, transform .15s ease, box-shadow .18s ease;
}

@media (hover:hover){
  .bp-manual-product:not(.is-unavailable):hover{
    transform:translateY(-1px);
    border-color:color-mix(in srgb, var(--accent) 18%, transparent);
    box-shadow:var(--bp-shadow-soft);
  }
}

.bp-manual-product__media{
  min-height:112px;
  font-size:12px;
}

.bp-manual-product__body{
  padding:14px 15px;
}

.bp-manual-product__top{
  gap:14px;
}

.bp-manual-product__top strong{
  font-size:15px;
  line-height:1.3;
}

.bp-manual-product__top p{
  margin-top:6px;
  font-size:13px;
  line-height:1.45;
}

.bp-manual-product__price{
  font-size:14px;
}

.bp-manual-product__footer{
  align-items:center;
  padding-top:13px;
}

.bp-manual-product__hint{
  font-size:12px;
  line-height:1.35;
}

/* Quantités : icônes plus/minus hébergées, visibles et tactiles. */
.bp-manual-qty{
  grid-template-columns:38px minmax(28px,auto) 38px;
  gap:6px;
}

.bp-manual-qty__btn{
  width:38px;
  height:38px;
  border:2px solid var(--bp-border-subtle);
  border-radius:12px;
  box-shadow:none;
}

.bp-manual-qty__btn:hover{
  border-color:color-mix(in srgb, var(--accent) 28%, var(--bp-border-subtle));
}

.bp-manual-qty__btn.is-add{
  border-color:var(--accent);
}

.bp-manual-qty__btn .bp-manual-icon{
  width:20px;
  height:20px;
}

.bp-manual-qty__value{
  font-size:14px;
}

/* Panier : typographie alignée sur les autres pages du panel. */
.bp-manual-cart{
  padding:16px;
}

.bp-manual-cart__head strong{
  font-size:16px;
}

.bp-manual-cart__head > div > span{
  margin-top:4px;
  font-size:12px;
}

.bp-manual-cart__total{
  font-size:18px;
}

.bp-manual-cart__empty{
  padding:18px 14px;
  font-size:13px;
}

.bp-manual-cart-line{
  padding:12px;
}

.bp-manual-cart-line__main strong{
  font-size:14px;
}

.bp-manual-cart-line__main small,
.bp-manual-cart-line__main > span{
  font-size:12px;
}

.bp-manual-cart-line__side > strong{
  font-size:13px;
}

.bp-manual-qty--cart{
  grid-template-columns:32px minmax(24px,auto) 32px;
}

.bp-manual-qty--cart .bp-manual-qty__btn{
  width:32px;
  height:32px;
}

.bp-manual-cart__fields{
  gap:13px;
}

.bp-manual-cart__fields .bp-label{
  margin-bottom:7px;
  font-size:13px;
  line-height:1.3;
}

.bp-manual-optional{
  font-size:12px;
}

.bp-manual-cart__notice{
  font-size:13px;
}

.bp-manual-cart__confirm{
  min-height:48px;
  font-size:14px;
}

.bp-manual-cart__payment-note{
  font-size:11.5px;
}

.bp-manual-order__no-result{
  font-size:14px;
}

.bp-manual-options__subtitle{
  font-size:13px;
}

.bp-manual-option-group legend{
  font-size:14px;
}

.bp-manual-option-choice span{
  font-size:13px;
}

/* Badge d'origine de commande : même présence que les badges voisins. */
.bp-order-source-badge{
  min-height:30px;
  padding:6px 11px;
  font-size:12px;
  box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent, #ff7a3d) 22%, transparent) !important;
}

/* Navigation équipe : deux entrées garanties sur tablette et mobile. */
@media (max-width:1099px){
  body.bp-team-member .bp-mobile-nav.bp-mobile-nav--team{
    display:flex !important;
    justify-content:center;
    gap:8px;
  }

  body.bp-team-member .bp-mobile-nav--team .bp-mobile-nav__link{
    max-width:240px;
  }
}

@media (max-width:720px){
  .bp-manual-product{
    grid-template-columns:96px minmax(0,1fr);
  }

  .bp-manual-product__media{
    min-height:112px;
  }
}

@media (max-width:490px){
  .bp-manual-order__heading{
    grid-template-columns:46px minmax(0,1fr);
    gap:12px;
  }

  .bp-manual-order__heading-icon{
    width:46px !important;
    height:46px !important;
    padding:6px !important;
  }

  .bp-manual-order__heading h1{
    font-size:19px;
  }

  .bp-manual-order__heading p{
    font-size:13px;
  }

  .bp-manual-order__toolbar{
    padding:12px;
  }

  .bp-manual-order__categories{
    margin-top:7px;
  }

  .bp-manual-category{
    min-height:38px;
    padding:8px 13px;
    font-size:13px;
  }

  .bp-manual-product{
    grid-template-columns:82px minmax(0,1fr);
    min-height:108px;
  }

  .bp-manual-product__media{
    min-height:108px;
  }

  .bp-manual-product__body{
    padding:12px;
  }

  .bp-manual-product__top strong{
    font-size:14px;
  }

  .bp-manual-product__top p{
    display:-webkit-box;
    font-size:12px;
    -webkit-line-clamp:2;
  }

  .bp-manual-product__price{
    font-size:13px;
  }

  .bp-manual-product__hint{
    display:block;
    font-size:11px;
  }

  .bp-manual-qty{
    grid-template-columns:34px 24px 34px;
    gap:4px;
  }

  .bp-manual-qty__btn{
    width:34px;
    height:34px;
  }

  .bp-manual-mobile-bar strong{
    font-size:13px;
  }

  .bp-manual-mobile-bar small,
  .bp-manual-mobile-bar > span:last-child{
    font-size:12px;
  }

  body.bp-team-member .bp-mobile-nav--team .bp-mobile-nav__link{
    max-width:none;
  }
}



.bp-manual-qty--cart .bp-manual-icon[data-bp-manual-cart-icon]{
  display:block !important;
  width:18px !important;
  height:18px !important;
  background-color:currentColor !important;
  -webkit-mask-image:var(--bp-manual-icon) !important;
  mask-image:var(--bp-manual-icon) !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  mask-position:center !important;
  -webkit-mask-size:contain !important;
  mask-size:contain !important;
}

@media (max-width:1099px){
  html body.page-panel .bp-mobile-nav.bp-mobile-nav--team{
    display:flex !important;
    align-items:stretch !important;
    justify-content:center !important;
    gap:8px !important;
    z-index:9997 !important;
  }

  html body.page-panel .bp-mobile-nav--team .bp-mobile-nav__link{
    flex:1 1 0 !important;
    width:auto !important;
    max-width:240px !important;
  }

  html body.page-panel.bp-team-member .bp-sidebar,
  html body.page-panel:has(.bp-mobile-nav--team) .bp-sidebar{
    display:none !important;
  }

  html body.page-panel.bp-team-member .bp-panel-shell,
  html body.page-panel:has(.bp-mobile-nav--team) .bp-panel-shell{
    display:block !important;
  }

  html body.page-panel .bp-manual-mobile-bar:not([hidden]){
    bottom:82px !important;
    z-index:9998 !important;
  }

  html body.page-panel .bp-panel-shell[data-bp-panel-view="take-order"] > .bp-panel{
    padding-bottom:170px !important;
  }
}

@media (max-width:490px){
  html body.page-panel .bp-mobile-nav--team .bp-mobile-nav__link{
    max-width:none !important;
  }

  html body.page-panel .bp-manual-mobile-bar:not([hidden]){
    bottom:72px !important;
  }

  html body.page-panel .bp-panel-shell[data-bp-panel-view="take-order"] > .bp-panel{
    padding-bottom:154px !important;
  }
}


.bp-manual-category--wine{
  display:inline-flex;
  align-items:center;
  gap:7px;
}

.bp-manual-category--wine .bp-manual-icon{
  width:18px;
  height:18px;
}

.bp-manual-wines{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}

.bp-manual-wines[hidden],
.bp-manual-products[hidden]{
  display:none !important;
}

.bp-manual-wine{
  width:100%;
  box-sizing:border-box;
  padding:15px;
  border:2px solid transparent;
  border-radius:18px;
  background:var(--bp-surface);
  box-shadow:var(--bp-shadow-soft);
  transition:border-color .18s ease, transform .15s ease, box-shadow .18s ease;
}

@media (hover:hover){
  .bp-manual-wine:hover{
    transform:translateY(-1px);
    border-color:color-mix(in srgb, var(--accent) 18%, transparent);
  }
}

.bp-manual-wine__head{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:13px;
  align-items:start;
}

.bp-manual-wine__grape{
  width:48px;
  height:48px;
  color:var(--accent);
  background-color:var(--accent) !important;
}

.bp-manual-wine__identity{
  min-width:0;
}

.bp-manual-wine__title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.bp-manual-wine__title-row > strong{
  min-width:0;
  color:var(--bp-text);
  font-size:15px;
  font-weight:800;
  line-height:1.3;
}

.bp-manual-wine__title-row > span{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 11px;
  border:2px solid var(--bp-border-subtle);
  border-radius:var(--bp-radius-pill);
  background:var(--bp-glass-3);
  color:var(--bp-soft);
  font-size:12px;
  font-weight:700;
  line-height:1;
}

.bp-manual-wine__meta,
.bp-manual-wine__description,
.bp-manual-wine__pairing{
  margin:6px 0 0;
  color:var(--bp-soft);
  font-size:13px;
  line-height:1.45;
}

.bp-manual-wine__pairing strong{
  color:var(--bp-text);
  font-weight:700;
}

.bp-manual-wine__formats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.bp-manual-wine-format{
  min-width:0;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:11px;
  border:2px solid var(--bp-border-subtle);
  border-radius:16px;
  background:var(--bp-glass-2);
}

.bp-manual-wine-format__icon{
  width:42px;
  height:42px;
  color:var(--accent);
  background-color:var(--accent) !important;
}


.bp-manual-wine-format__copy strong,
.bp-manual-wine-format__copy span{
  display:block;
}

.bp-manual-wine-format__copy strong{
  color:var(--bp-text);
  font-size:13px;
  font-weight:800;
  line-height:1.2;
}

.bp-manual-wine-format__copy span{
  margin-top:4px;
  color:var(--bp-soft);
  font-size:13px;
  font-weight:700;
  line-height:1.2;
}

.bp-manual-wine-format .bp-manual-qty{
  grid-template-columns:34px 24px 34px;
  gap:4px;
}

.bp-manual-wine-format .bp-manual-qty__btn{
  width:34px;
  height:34px;
}

.bp-manual-wine-format .bp-manual-qty__btn .bp-manual-icon{
  width:18px;
  height:18px;
}

.bp-manual-cart-line__title{
  display:flex;
  align-items:flex-start;
  gap:9px;
  min-width:0;
}

.bp-manual-cart-line__title > div{
  min-width:0;
}

.bp-manual-cart-line__kind-icon{
  flex:0 0 auto;
  width:28px;
  height:28px;
  color:var(--accent);
  background-color:var(--accent) !important;
}

.bp-manual-cart-line.is-wine{
  box-shadow:inset 3px 0 0 color-mix(in srgb, var(--accent) 62%, transparent);
}

@media (max-width:900px){
  .bp-manual-wine__formats{
    grid-template-columns:1fr;
  }
}

@media (max-width:490px){
  .bp-manual-category--wine .bp-manual-icon{
    width:17px;
    height:17px;
  }

  .bp-manual-wine{
    padding:12px;
    border-radius:16px;
  }

  .bp-manual-wine__head{
    grid-template-columns:42px minmax(0,1fr);
    gap:10px;
  }

  .bp-manual-wine__grape{
    width:42px;
    height:42px;
    border-radius:13px;
  }

  .bp-manual-wine__title-row{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }

  .bp-manual-wine__title-row > strong{
    font-size:14px;
  }

  .bp-manual-wine__title-row > span{
    min-height:27px;
    padding:4px 9px;
    font-size:11px;
  }

  .bp-manual-wine__meta,
  .bp-manual-wine__description,
  .bp-manual-wine__pairing{
    font-size:12px;
  }

  .bp-manual-wine-format{
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:8px;
    padding:9px;
  }

  .bp-manual-wine-format__icon{
    width:38px;
    height:38px;
    padding:8px;
  }

  .bp-manual-wine-format__copy strong,
  .bp-manual-wine-format__copy span{
    font-size:12px;
  }

  .bp-manual-wine-format .bp-manual-qty{
    grid-template-columns:32px 22px 32px;
  }

  .bp-manual-wine-format .bp-manual-qty__btn{
    width:32px;
    height:32px;
  }
}

@media (max-width:380px){
  .bp-manual-wine-format{
    grid-template-columns:34px minmax(0,1fr);
  }

  .bp-manual-wine-format__icon{
    width:34px;
    height:34px;
  }

  .bp-manual-wine-format .bp-manual-qty{
    grid-column:1 / -1;
    justify-self:end;
  }
}


/* La rangée reste sur une ligne, mais peut être parcourue à la molette
   sur ordinateur et au doigt sur mobile/tablette. */
.bp-manual-order__categories{
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
}

/* Carte vin : suppression de la grande grappe et resserrement du contenu. */
.bp-manual-wine__head{
  display:block;
}

.bp-manual-wine__grape{
  display:none !important;
}

.bp-manual-wine__title-row{
  margin:0;
}

.bp-manual-wine__meta,
.bp-manual-wine__description,
.bp-manual-wine__pairing{
  margin-top:2px;
}

/* Verre / bouteille : blocs sans bordure. */
.bp-manual-wine-format{
  border:0;
  box-shadow:none;
}

/* Panier : aucune bordure colorée et aucune icône de format. */
.bp-manual-cart-line.is-wine{
  box-shadow:none;
}

.bp-manual-cart-line__kind-icon{
  display:none !important;
}

@media (max-width:490px){
  .bp-manual-wine__head{
    display:block;
  }

  .bp-manual-wine__meta,
  .bp-manual-wine__description,
  .bp-manual-wine__pairing{
    margin-top:2px;
  }
}



/* La rangée est une vraie zone horizontale pilotable à la molette. */
.bp-manual-order__categories{
  width:100%;
  max-width:100%;
  min-width:0;
  flex-wrap:nowrap;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
  scrollbar-width:none;
}

.bp-manual-order__categories::-webkit-scrollbar{
  display:none;
}

/* Formats vin : aucun pictogramme décoratif, texte + quantité seulement. */
.bp-manual-wine-format{
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:12px;
}

.bp-manual-wine-format__icon{
  display:none !important;
}

.bp-manual-wine-format__copy{
  min-width:0;
}

.bp-manual-wine-format__copy strong{
  display:block;
  white-space:nowrap;
}

.bp-manual-wine-format__copy > span,
.bp-manual-wine-format__copy .woocommerce-Price-amount,
.bp-manual-wine-format__copy .amount,
.bp-manual-wine-format__copy bdi,
.bp-manual-wine-format__copy .woocommerce-Price-currencySymbol{
  display:inline !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
}

.bp-manual-wine-format__copy > span{
  display:block !important;
  margin-top:3px;
}

@media (max-width:490px){
  .bp-manual-wine-format{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:9px;
  }
}

@media (max-width:380px){
  .bp-manual-wine-format{
    grid-template-columns:minmax(0,1fr) auto !important;
  }

  .bp-manual-wine-format .bp-manual-qty{
    grid-column:auto !important;
    justify-self:end;
  }
}

/* ============================================================
   13. Utilitaires et compatibilité résiduelle
   ============================================================ */

/* Labels */
.bp-kpi__label, .bp-stat__label{ font-weight:500; }

/* Valeurs importantes */
.bp-kpi__value, .bp-stat__value, .bp-order__total, .bp-topitem__meta{ font-weight:700; }

/* Titres */
.bp-card__title, .bp-mini-title{ font-weight:700; }

/* Nom client */
.bp-order__name{ font-weight:600; }

/* Code / ticket */
.bp-topitem__name, .bp-order__id{
  font-family:var(--bp-mono);
  font-weight:600;
  letter-spacing:.3px;
}

.bp-topbar__brand{ font-weight:800; font-size:13px; opacity:.9; white-space:nowrap; }
.bp-topbar__sep{ opacity:.35; }

/* Toggle discret */
.bp-topbar__toggle{ all:unset; cursor:pointer; font-size:13px; font-weight:700; padding:6px 10px; border-radius:999px; background:var(--bp-glass-2); }
.bp-topbar__toggle:hover{background:rgba(255,255,255,.16);}
.bp-topbar__toggle:active{ transform:translateY(1px); }
.bp-topbar__toggle:focus-visible{ outline:2px solid rgba(255,255,255,.35); outline-offset:2px; }

.bp-sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
