/* BrickManagement — styles des composants d'interface.
   Extraits du design system (anciennement injectés au runtime par _ds_bundle.js),
   figés ici en CSS statique. */

/* badge */
.bmg-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-sans);font-weight:var(--fw-medium);font-size:12px;line-height:1;padding:4px 8px;border-radius:var(--radius-xs);border:1px solid transparent;white-space:nowrap}
.bmg-badge--soft.bmg-badge--neutral{background:var(--surface-sunken);color:var(--text-secondary)}
.bmg-badge--soft.bmg-badge--accent{background:var(--accent-tint);color:var(--accent-strong)}
.bmg-badge--soft.bmg-badge--success{background:var(--success-bg);color:var(--success-fg)}
.bmg-badge--soft.bmg-badge--warning{background:var(--warning-bg);color:var(--warning-fg)}
.bmg-badge--soft.bmg-badge--danger{background:var(--danger-bg);color:var(--danger-fg)}
.bmg-badge--solid.bmg-badge--neutral{background:var(--n-700);color:#fff}
.bmg-badge--solid.bmg-badge--accent{background:var(--accent);color:#fff}
.bmg-badge--solid.bmg-badge--success{background:var(--success-solid);color:#fff}
.bmg-badge--solid.bmg-badge--warning{background:var(--warning-solid);color:#fff}
.bmg-badge--solid.bmg-badge--danger{background:var(--danger-solid);color:#fff}
.bmg-badge--outline{background:transparent}
.bmg-badge--outline.bmg-badge--neutral{border-color:var(--border-strong);color:var(--text-secondary)}
.bmg-badge--outline.bmg-badge--accent{border-color:var(--accent-border);color:var(--accent-strong)}
.bmg-badge--outline.bmg-badge--success{border-color:var(--success-border);color:var(--success-fg)}
.bmg-badge--outline.bmg-badge--warning{border-color:var(--warning-border);color:var(--warning-fg)}
.bmg-badge--outline.bmg-badge--danger{border-color:var(--danger-border);color:var(--danger-fg)}

/* button */
.bmg-btn{--_bg:var(--accent);--_fg:#fff;--_bd:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-weight:var(--fw-medium);border:1px solid var(--_bd);background:var(--_bg);color:var(--_fg);border-radius:var(--radius-sm);cursor:pointer;line-height:1;white-space:nowrap;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}
/* Boutons rendus en <a> : neutraliser les styles de lien du DS (a:hover) qui,
   sinon, changeraient la couleur du texte et ajouteraient un soulignement. */
a.bmg-btn,a.bmg-btn:hover,a.bmg-btn:focus,a.bmg-btn:active,a.bmg-btn:visited{color:var(--_fg);text-decoration:none}
.bmg-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.bmg-btn--sm{font-size:13px;padding:7px 12px}
.bmg-btn--md{font-size:14px;padding:9px 16px}
.bmg-btn--lg{font-size:16px;padding:12px 22px}
.bmg-btn--primary{--_bg:var(--accent);--_fg:#fff}
.bmg-btn--primary:hover{--_bg:var(--accent-hover)}
.bmg-btn--primary:active{--_bg:var(--accent-press)}
.bmg-btn--secondary{--_bg:var(--surface);--_fg:var(--text-body);--_bd:var(--border-strong)}
.bmg-btn--secondary:hover{--_bg:var(--surface-2)}
.bmg-btn--secondary:active{--_bg:var(--surface-sunken)}
.bmg-btn--ghost{--_bg:transparent;--_fg:var(--accent);--_bd:transparent}
.bmg-btn--ghost:hover{--_bg:var(--accent-tint-soft)}
.bmg-btn--ghost:active{--_bg:var(--accent-tint)}
.bmg-btn--danger{--_bg:var(--danger-solid);--_fg:#fff}
.bmg-btn--danger:hover{--_bg:var(--red-700)}
.bmg-btn--block{display:flex;width:100%}
.bmg-btn:disabled{opacity:.45;cursor:not-allowed}
.bmg-btn>svg,.bmg-btn>i>svg{width:1.15em;height:1.15em;display:block}

/* input */
.bmg-field{display:flex;flex-direction:column;gap:6px;font-family:var(--font-sans)}
.bmg-field__label{font-size:13px;font-weight:var(--fw-medium);color:var(--text-body)}
.bmg-input{width:100%;box-sizing:border-box;font-family:var(--font-sans);font-size:14px;color:var(--text-body);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}
.bmg-input::placeholder{color:var(--text-muted)}
.bmg-input--sm{padding:7px 10px;font-size:13px}
.bmg-input--md{padding:9px 12px}
.bmg-input--lg{padding:12px 14px;font-size:16px}
.bmg-input:hover{border-color:var(--n-400)}
.bmg-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}
.bmg-input:disabled{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}
.bmg-input.is-invalid{border-color:var(--danger-solid)}
.bmg-input.is-invalid:focus{box-shadow:0 0 0 3px rgba(220,38,38,.28)}
.bmg-field__msg{font-size:12px;color:var(--text-muted)}
.bmg-field__msg--err{color:var(--danger-fg)}

/* select */
.bmg-select-wrap{position:relative;display:inline-flex;width:100%}
.bmg-select{appearance:none;-webkit-appearance:none;width:100%;box-sizing:border-box;font-family:var(--font-sans);font-size:14px;color:var(--text-body);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 34px 9px 12px;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%236F6F89' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}
.bmg-select--sm{padding:7px 32px 7px 10px;font-size:13px}
.bmg-select--lg{padding:12px 36px 12px 14px;font-size:16px}
.bmg-select:hover{border-color:var(--n-400)}
.bmg-select:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}
.bmg-select:disabled{background-color:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}

/* section-bar */
.bmg-sectionbar{display:flex;align-items:flex-start;gap:14px;font-family:var(--font-display)}
.bmg-sectionbar__bar{flex:none;width:5px;align-self:stretch;min-height:1.1em;background:var(--accent);border-radius:2px}
.bmg-sectionbar__main{display:flex;flex-direction:column;gap:3px}
.bmg-sectionbar__kicker{font-family:var(--font-sans);font-weight:var(--fw-medium);font-size:13px;color:var(--text-muted);letter-spacing:var(--tracking-label)}
.bmg-sectionbar__title{font-weight:var(--fw-medium);color:var(--text-heading);letter-spacing:var(--tracking-snug);line-height:1.15;margin:0}
.bmg-sectionbar--sm .bmg-sectionbar__title{font-size:20px}
.bmg-sectionbar--md .bmg-sectionbar__title{font-size:28px}
.bmg-sectionbar--lg .bmg-sectionbar__title{font-size:38px}
.bmg-sectionbar__sub{font-family:var(--font-sans);font-weight:var(--fw-normal);font-size:16px;line-height:1.5;color:var(--text-secondary);margin:0}

/* feature-item */
.bmg-feature{display:flex;gap:12px;font-family:var(--font-sans)}
.bmg-feature__marker{flex:none;width:24px;height:24px;border-radius:var(--radius-sm);background:var(--accent-tint);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-top:1px}
.bmg-feature__marker svg{width:15px;height:15px;display:block}
.bmg-feature--dot .bmg-feature__marker{width:9px;height:9px;border-radius:var(--radius-pill);background:var(--accent);margin-top:7px}
.bmg-feature__title{font-weight:var(--fw-medium);font-size:15px;color:var(--text-body);margin:0;line-height:1.4}
.bmg-feature__desc{font-size:14px;line-height:1.55;color:var(--text-secondary);margin:2px 0 0}

/* stat-block */
.bmg-stat{display:flex;flex-direction:column;gap:3px;font-family:var(--font-sans)}
.bmg-stat__value{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:38px;line-height:1;letter-spacing:var(--tracking-tight);color:var(--accent);font-variant-numeric:tabular-nums}
.bmg-stat--ink .bmg-stat__value{color:var(--text-body)}
.bmg-stat--sm .bmg-stat__value{font-size:28px}
.bmg-stat--lg .bmg-stat__value{font-size:48px}
.bmg-stat__label{font-size:14px;font-weight:var(--fw-medium);color:var(--text-body)}
.bmg-stat__sub{font-size:12px;color:var(--text-muted)}

/* callout */
.bmg-callout{display:flex;gap:12px;border:1px solid transparent;border-radius:var(--radius-md);padding:14px 16px;font-family:var(--font-sans)}
.bmg-callout__icon{flex:none;width:20px;height:20px;margin-top:1px}
.bmg-callout__icon svg{width:100%;height:100%;display:block}
.bmg-callout__body{font-size:14px;line-height:1.55;color:var(--text-body)}
.bmg-callout__title{font-weight:var(--fw-medium);font-size:14px;margin:0 0 3px}
.bmg-callout--info{background:var(--info-bg);border-color:var(--info-border)}
.bmg-callout--info .bmg-callout__icon,.bmg-callout--info .bmg-callout__title{color:var(--info-fg)}
.bmg-callout--warning{background:var(--warning-bg);border-color:var(--warning-border)}
.bmg-callout--warning .bmg-callout__icon,.bmg-callout--warning .bmg-callout__title{color:var(--warning-fg)}
.bmg-callout--danger{background:var(--danger-bg);border-color:var(--danger-border)}
.bmg-callout--danger .bmg-callout__icon,.bmg-callout--danger .bmg-callout__title{color:var(--danger-fg)}
.bmg-callout--success{background:var(--success-bg);border-color:var(--success-border)}
.bmg-callout--success .bmg-callout__icon,.bmg-callout--success .bmg-callout__title{color:var(--success-fg)}
