/* Espace GRABE — thème sombre pour les ANCIENS écrans (liens de partage /admin/liens et /p/:id, lien reçu /s/:token,
   revue d'un fichier, fiche BAT d'impression, mockups).
   Principe : on ne réécrit pas ces écrans, on change leurs couleurs. Les variables de base.css sont redéfinies dans
   un conteneur .lg (posé par app.js ou par adminLegacyShell / la revue en mode client) et dans les fenêtres (dialog)
   ouvertes par ces écrans. Les fenêtres des nouveaux écrans (contenu .es) ne sont pas touchées.
   Chargé en dernier dans index.html. */

/* ---------- Variables : marine, panneaux, rouge, polices de l'Espace ---------- */
body.es-body .lg,
body.es-body dialog:not(:has(.es)),
body.es-body .toasts {
  --paper: #353e4f;           /* surface claire d'avant → panneau surélevé */
  --on-accent: #ffffff;
  --on-dark: #ffffff;
  --ink: #ffffff; --ink-2: #c3c8d0; --ink-3: #8b919c;
  --grey-50: #2d3545; --grey-100: #333c4c; --grey-200: #3c4657; --grey-300: #4b5568;
  --navy-500: #4f5a70; --navy-900: #141c27;
  --red-500: #e5373f; --red-700: #b8173e; --red-ink: #ff8a90;
  --ok: #9db58a; --ok-bg: rgba(157, 181, 138, .16); --warn: #f0c674; --warn-bg: rgba(240, 190, 90, .14);
  --rule: rgba(255, 255, 255, .1);
  --focus: #ff8a90;
  --grad-red: linear-gradient(100deg, #e5373f, #b8173e);
  --grad-navy: linear-gradient(135deg, #4f5a70, #3b4455);
  --grad-grey: linear-gradient(135deg, #2f3747, #2a3140);
  --font-display: "Neulis", "Source Sans 3", system-ui, sans-serif;
  --font-ui: "ABeeZee", "Source Sans 3", system-ui, sans-serif;
  --radius-panel: 28px; --radius-card: 20px; --radius-field: 14px;
  --maxw: clamp(1120px, 72vw, 1760px);
  color: var(--ink);
}
body.es-body .lg { min-height: 100%; font-family: var(--font-body); }
body.es-body #app.lg { min-height: 100vh; background: #262d3b; }

/* Titres et boutons : Neulis droite (comme les maquettes de l'Espace), pas d'italique. */
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) :is(.t-hero, .t-title, .t-accroche, .t-sub, .t-label, .btn, .pin, .an-pin, .an-marker, .an-tool,
  .field > span, .field > label, .bo-share__title, .bo-asset__title, .bo-avatar, .vw-comment__who, .vw-decided__title, .vw-statement, .vw-thumb__ext,
  .bat-chip, .bat-size > span, .bat-places__size, .bat-sum .bat-sum__tvac, .bat-table tfoot th, .bat-table tfoot td, .an-other__icon span, .thumb) { font-style: normal; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) :is(.t-hero, .t-title) { font-weight: 700; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .t-hero { font-family: "Neulis Alt", "Source Sans 3", sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; line-height: .98; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .t-desc { color: var(--ink-2); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) a { color: inherit; }

/* ---------- Boutons : rouge pour l'action, translucide pour le reste ---------- */
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 8px 20px; border: 0; border-radius: 999px;
  background: var(--grad-red); color: #fff; font-family: "Neulis", "Source Sans 3", sans-serif; font-weight: 600; font-size: 15px; line-height: 1; white-space: nowrap; box-shadow: none; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn:hover { filter: brightness(1.1); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn svg.icon { width: 18px; height: 18px; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn--red { background: var(--grad-red); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn--ghost { background: rgba(255, 255, 255, .09); color: #fff; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn--ghost:hover { background: rgba(255, 255, 255, .16); filter: none; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn--light { background: #fff; color: #262d3b; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn--sm { min-height: 32px; padding: 6px 14px; font-size: 13px; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn--lg { min-height: 52px; padding: 12px 28px; font-size: 17px; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn--icon { width: 40px; padding: 0; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn--icon.btn--sm { width: 32px; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn--block { width: 100%; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn:disabled,
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .btn[aria-disabled="true"] { opacity: .45; filter: none; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .linkbtn { color: #fff; }
/* Boutons discrets (sans fond) d'avant */
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) :is(.bo-menubtn, .mk-card__name .btn--ghost, .mk-card__actions .btn--icon, .mk-layers__item .btn--ghost) { background: transparent; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) :is(.bo-menubtn:hover, .bo-menubtn[aria-expanded="true"], .mk-card__name .btn--ghost:hover, .mk-card__actions .btn--icon:hover, .mk-layers__item .btn--ghost:hover) { background: rgba(255, 255, 255, .1); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) :is(.vw-decision .btn--ghost, .bo-success .btn--ghost, .mk-card__actions .btn--sm:not(.btn--icon)) { background: rgba(255, 255, 255, .1); }

/* ---------- Pastilles (les règles .es .tag des coquilles ne doivent pas effacer leurs couleurs) ---------- */
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .tag { background: rgba(255, 255, 255, .09); color: var(--ink-2); font-family: var(--font-ui); font-size: 12px; padding: 3px 10px; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .tag--ok { background: var(--ok-bg); color: #b9d3a5; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .tag--warn { background: var(--warn-bg); color: var(--warn); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .tag--red { background: var(--grad-red); color: #fff; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .tag--navy { background: var(--grad-navy); color: #fff; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .dot { width: 8px; height: 8px; }

/* ---------- Panneaux, cartes, champs ---------- */
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .panel { background: var(--grad-grey); border: 1px solid rgba(255, 255, 255, .06); border-radius: var(--radius-panel); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .card { border-radius: var(--radius-card); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) :is(.input, .select, .textarea) {
  background: rgba(255, 255, 255, .06); color: #fff; border: 1px solid rgba(255, 255, 255, .1); border-radius: var(--radius-field); font-family: var(--font-ui); font-size: 14px; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) :is(.input, .select, .textarea):focus { border-color: rgba(255, 255, 255, .3); box-shadow: 0 0 0 2px rgba(255, 138, 144, .35); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) select:is(.input, .select) option { background: #2e3646; color: #fff; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .field { gap: 6px; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .field > span, :is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .field > label { font-family: var(--font-ui); font-weight: 400; font-size: 12px; color: var(--ink-2); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .check input { accent-color: #e5373f; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .seg { background: rgba(255, 255, 255, .06); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .seg button { color: var(--ink-2); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .seg button[aria-pressed="true"] { background: rgba(255, 255, 255, .16); color: #fff; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .list-item { background: rgba(255, 255, 255, .045); border: 1px solid rgba(255, 255, 255, .06); border-radius: var(--radius-card); gap: 14px; padding: 12px 16px; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) a.list-item:hover, :is(body.es-body .lg, body.es-body dialog:not(:has(.es))) button.list-item:hover { background: rgba(255, 255, 255, .08); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .thumb { width: 56px; height: 56px; border-radius: 12px; background: rgba(255, 255, 255, .08); color: var(--ink-2); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .drop { display: grid; place-items: center; justify-content: stretch; background: rgba(255, 255, 255, .03); outline: 1.5px dashed rgba(255, 255, 255, .16); outline-offset: -1.5px; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .drop:hover, :is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .drop.is-over { background: rgba(229, 55, 63, .08); outline-color: rgba(229, 55, 63, .6); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .copy { background: rgba(255, 255, 255, .07); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .kbd { background: rgba(255, 255, 255, .1); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .skeleton { background: linear-gradient(90deg, #333c4c, #2d3545, #333c4c); background-size: 200% 100%; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .spinner { border-color: rgba(255, 255, 255, .15); border-top-color: #e5373f; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .empty { color: var(--ink-2); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .topbar__logo img { filter: brightness(0) invert(1); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .topbar__logo span { color: var(--ink-2); }

/* Fenêtres ouvertes par ces écrans */
body.es-body dialog.modal:not(:has(.es)) { background: #2e3646; color: #fff; border: 1px solid rgba(255, 255, 255, .1); }
body.es-body dialog.modal::backdrop { background: rgba(10, 14, 22, .65); }
body.es-body .toast { background: #3b4455; color: #fff; font-family: "ABeeZee", sans-serif; }
body.es-body .toast--error { background: linear-gradient(100deg, #e5373f, #b8173e); }

/* ---------- Liens de partage (/admin/liens, /p/:id) ---------- */
body.es-body .lg .bo-switch:checked { background: var(--grad-red); }
body.es-body .lg .bo-switch::after { background: #fff; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bo-switch { background: rgba(255, 255, 255, .18); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bo-switch:checked { background: var(--grad-red); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bo-switch::after { background: #fff; }
body.es-body .lg .bo-modeseg { background: rgba(255, 255, 255, .06); }
body.es-body .lg .bo-modeseg button[aria-pressed="true"] { background: var(--grad-red); color: #fff; }
body.es-body .lg .bo-drop { background: rgba(255, 255, 255, .03); }
body.es-body .lg .bo-drop:hover, body.es-body .lg .bo-hero.is-over .bo-drop { background: rgba(229, 55, 63, .08); }
body.es-body .lg .bo-hero.is-over { background: var(--grad-grey); }
body.es-body .lg .bo-drop--sm { background: rgba(255, 255, 255, .03); }
body.es-body .lg .bo-asset.is-over { background: rgba(229, 55, 63, .1); outline-color: rgba(229, 55, 63, .6); }
body.es-body .lg .bo-pagedrop { background: rgba(38, 45, 59, .92); }
body.es-body .lg .bo-pagedrop__inner { background: rgba(255, 255, 255, .05); outline-color: rgba(229, 55, 63, .6); }
body.es-body .lg .bo-menu { background: #1d2431; border: 1px solid rgba(255, 255, 255, .08); }
body.es-body .lg .bo-error { background: var(--warn-bg); color: var(--warn); }
body.es-body .lg .bo-kind { background: rgba(255, 255, 255, .08); color: #fff; }
body.es-body .lg .bo-kind--request { background: var(--grad-red); }
body.es-body .lg .bo-success__check { background: var(--grad-red); }
body.es-body .lg .bo-count { background: rgba(255, 255, 255, .09); color: var(--ink-2); }
body.es-body .lg .bo-title:hover { background: rgba(255, 255, 255, .05); }
body.es-body .lg .bo-title:focus { background: rgba(255, 255, 255, .08); }
body.es-body .lg .bo-pagehead { align-items: flex-end; flex-wrap: wrap; gap: 16px; margin-bottom: 28px; }
body.es-body .lg .bo-pagehead .t-desc { margin-top: 8px; }

/* Dans la coquille (menu à gauche) : pas de seconde marge, pleine largeur de la zone principale. */
.es .lg-in-shell .wrap { max-width: none; padding-left: 0; padding-right: 0; }
.es .lg-in-shell .bo-home, .es .lg-in-shell .bo-sharepage { padding-top: 0; }
.es .lg-in-shell .mk-page__main { padding-top: 0; }
.es .lg-in-shell .mk-back { align-self: flex-start; }
.es .lg-in-shell .bo-sendgrid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.es .lg-in-shell .bo-cols { grid-template-columns: minmax(0, 1fr) clamp(320px, 22vw, 440px); }

/* ---------- Lien reçu (/s/:token) ---------- */
body.es-body .lg .vw-hero { background: radial-gradient(60% 120% at 100% 0%, rgba(229, 55, 63, .55) 0%, transparent 62%), radial-gradient(60% 110% at 70% 110%, rgba(3, 50, 61, .9) 0%, transparent 62%), #363d4c; }
body.es-body .lg .vw-hero__msg { color: #fff; }
body.es-body .lg .vw-card { background: rgba(255, 255, 255, .045); border: 1px solid rgba(255, 255, 255, .06); }
body.es-body .lg .vw-card:hover { background: rgba(255, 255, 255, .08); }
body.es-body .lg .vw-thumb { background: rgba(255, 255, 255, .06); }
body.es-body .lg .vw-thumb--pdf.has-canvas { background: rgba(255, 255, 255, .1); }
body.es-body .lg .vw-thumb--pdf.has-canvas canvas { background: #fff; }
body.es-body .lg .vw-state__icon { background: var(--grad-red); }
body.es-body .lg .vw-error { color: #ff8a90; }
body.es-body .lg .vw-done { background: var(--ok-bg); color: #fff; }
body.es-body .lg .vw-queue__item.is-done .progress > i { background: var(--ok); }
body.es-body .lg .progress { background: rgba(255, 255, 255, .1); }

/* ---------- Revue d'un fichier ---------- */
body.es-body .lg .vw-review { background: #262d3b; }
body.es-body .lg .vw-media { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .06); }
body.es-body .lg .vw-comment { background: rgba(255, 255, 255, .045); }
body.es-body .lg .vw-comment:hover, body.es-body .lg .vw-comment.is-active { background: rgba(255, 255, 255, .08); }
body.es-body .lg .vw-comment.is-active { box-shadow: inset 3px 0 0 #e5373f; }
body.es-body .lg .vw-comment__at { background: rgba(255, 255, 255, .1); color: #fff; }
body.es-body .lg .vw-act:hover { background: rgba(255, 255, 255, .1); }
body.es-body .lg .vw-replies { box-shadow: inset 2px 0 0 rgba(255, 255, 255, .12); }
body.es-body .lg .vw-composer { background: rgba(255, 255, 255, .045); }
body.es-body .lg .vw-chip { background: rgba(255, 255, 255, .1); }
body.es-body .lg .vw-chip.is-draft { background: var(--grad-red); }
body.es-body .lg .vw-decision { background: rgba(255, 255, 255, .06); }
body.es-body .lg .vw-statement { background: rgba(255, 255, 255, .06); }
body.es-body .lg .vw-upload-toast { background: #353e4f; }
/* Dans la coquille client : la revue prend la hauteur de l'écran sous la barre du haut. */
.es .lg-review .vw-review { height: calc(100vh - 150px); height: calc(100dvh - 150px); min-height: 560px; grid-template-columns: minmax(0, 1fr) clamp(340px, 24vw, 460px); border-radius: 28px; }
.es .lg-review .vw-media { margin-left: 0; }
.es .lg-review .vw-rv-top { padding-left: 0; }
@media (min-width: 1800px) {
  body.es-body #app.lg .vw-review { grid-template-columns: minmax(0, 1fr) clamp(380px, 22vw, 480px); }
  body.es-body .lg .vw-comment__body, body.es-body .lg .vw-hero__msg { font-size: 16px; }
}

/* ---------- Moteur d'annotation ---------- */
body.es-body .lg .an-stage { background: rgba(255, 255, 255, .04); }
body.es-body .lg .an-page { background: #fff; }
body.es-body .lg .an-page::before { background: linear-gradient(90deg, #eceeef, #fff, #eceeef); background-size: 200% 100%; }
body.es-body .lg .an-float { background: rgba(30, 36, 48, .9); color: #fff; }
body.es-body .lg .an-float--page, body.es-body .lg .an-zlabel { color: var(--ink-2); }
body.es-body .lg .an-zlabel:hover, body.es-body .lg .an-pbtn:hover { background: rgba(255, 255, 255, .1); color: #fff; }
body.es-body .lg .an-other__icon { background: rgba(255, 255, 255, .08); }
body.es-body .lg .an-toolbar { background: rgba(255, 255, 255, .06); }
body.es-body .lg .an-tool { color: var(--ink-2); }
body.es-body .lg .an-tool:hover { background: rgba(255, 255, 255, .1); color: #fff; }
body.es-body .lg .an-tool[aria-pressed="true"] { background: var(--grad-red); color: #fff; }
body.es-body .lg .an-swatch[aria-pressed="true"] .an-swatch__dot { outline-color: #fff; }
body.es-body .lg .an-swatch__dot--ffffff { background: #fff; }
body.es-body .lg .an-swatch__dot--2b3546 { background: linear-gradient(135deg, #2b3546, #141c27); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); }
body.es-body .lg .an-ctrls { background: rgba(255, 255, 255, .05); }
body.es-body .lg .an-pbtn--main { background: var(--grad-red); }
body.es-body .lg .an-track__rail { background: rgba(255, 255, 255, .18); }
body.es-body .lg .an-track__played { background: var(--grad-red); }
body.es-body .lg .an-track__knob { background: #fff; outline-color: #262d3b; }
body.es-body .lg .an-vol { background: linear-gradient(90deg, #fff var(--v, 100%), rgba(255, 255, 255, .2) var(--v, 100%)); }
body.es-body .lg .an-vol::-webkit-slider-thumb { background: #fff; }
body.es-body .lg .an-vol::-moz-range-thumb { background: #fff; }
body.es-body .lg .an-marker { outline-color: #262d3b; }
body.es-body .lg .an-pin { outline-color: #fff; }
body.es-body .lg .an-pin--draft { background: #fff; color: #e5373f; }
body.es-body .lg .an-stage.is-fullscreen .an-track__played, body.es-body .lg .an-stage.is-fullscreen .an-pbtn--main { background: #fff; }
body.es-body .lg .an-stage.is-fullscreen .an-pbtn--main { color: #141c27; }

/* ---------- Fiche BAT et signature (impression) ---------- */
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-card { background: rgba(255, 255, 255, .045); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-fsec { background: rgba(255, 255, 255, .045); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-fsec--notes { background: transparent; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) :is(.bat-places li, .bat-swatches li, .bat-tag, .bat-sum, .bat-sign__statement) { background: rgba(255, 255, 255, .07); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-sign__form { background: rgba(255, 255, 255, .045); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-sign__err { color: #ff8a90; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-stamp { background: var(--ok-bg); color: #b9d3a5; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-stamp .t-sub, :is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-stamp .t-mention { color: #b9d3a5; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-stamp__icon { background: #9db58a; color: #262d3b; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-stamp--changes, :is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-stamp--changes .t-sub { background: var(--warn-bg); color: var(--warn); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-chip { background: rgba(255, 255, 255, .08); color: #fff; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-chip:hover { background: rgba(255, 255, 255, .14); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-chip[aria-pressed="true"] { background: var(--grad-red); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .bat-chip__tick { background: rgba(255, 255, 255, .14); }
body.es-body dialog:not(:has(.es)) .bat-form__actions { background: linear-gradient(to bottom, rgba(46, 54, 70, 0), #2e3646 30%); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .input.is-invalid { box-shadow: 0 0 0 2px #e5373f; }

/* ---------- Mockups (page /mockups et générateur plein écran) ---------- */
body.es-body dialog.mk-dialog, body.es-body dialog.mk-dialog::backdrop { background: #262d3b; color: #fff; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .mk-panel { background: rgba(255, 255, 255, .045); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .mk-stage { background: rgba(255, 255, 255, .04); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .mk-stage.is-over { background: rgba(229, 55, 63, .08); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) :is(.mk-lib__item, .mk-layers__item) { background: rgba(255, 255, 255, .06); color: var(--ink-2); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .mk-lib__item:hover { background: rgba(255, 255, 255, .12); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .mk-lib__item[aria-pressed="true"] { background: var(--grad-red); color: #fff; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .mk-layers__item.is-sel { box-shadow: inset 0 0 0 2px #e5373f; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) :is(.mk-lib__item img, .mk-layers__thumb, .mk-card__img, .mk-zone) { background: rgba(255, 255, 255, .08); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .mk-card { background: rgba(255, 255, 255, .045); border: 1px solid rgba(255, 255, 255, .06); }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .mk-range { accent-color: #e5373f; }
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .mk-grid { grid-template-columns: repeat(auto-fill, minmax(clamp(200px, 13vw, 300px), 1fr)); }

/* ---------- Très grands écrans : un peu plus grand, un peu plus d'air ---------- */
@media (min-width: 1800px) {
  :is(body.es-body .lg, body.es-body dialog:not(:has(.es))) { font-size: 16px; }
  :is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .t-desc { font-size: 14px; }
  :is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .t-title { font-size: 28px; }
  :is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .t-sub { font-size: 17px; }
  body.es-body .lg .vw-grid { grid-template-columns: repeat(auto-fill, minmax(clamp(240px, 14vw, 340px), 1fr)); gap: 24px; }
}
@media (max-width: 640px) {
  body.es-body .lg .vw-grid { grid-template-columns: 1fr 1fr; }
  .es .lg-in-shell .bo-sendgrid, .es .lg-in-shell .bo-cols { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
  .es .lg-in-shell .bo-sendgrid, .es .lg-in-shell .bo-cols { grid-template-columns: 1fr; }
}
@media (max-width: 899px) {
  .es .lg-review .vw-review { height: auto; min-height: 0; display: flex; flex-direction: column; }
  .es .lg-review .vw-media { margin: 0; }
}

/* Boutons de décision : le texte peut passer à la ligne (colonne étroite). */
:is(body.es-body .lg, body.es-body dialog:not(:has(.es))) .vw-decision__btns .btn { white-space: normal; text-align: center; line-height: 1.15; padding-left: 12px; padding-right: 12px; }
.es .lg-review .vw-side { padding-right: 0; }
