/* SoukPilot — composants de référence. Charger après brand-tokens.css. */
.sp-container{width:min(100% - 32px,var(--container-max));margin-inline:auto}
.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border:1px solid transparent;border-radius:var(--radius-md);font:600 15px/1 var(--font-latin);text-decoration:none;cursor:pointer;transition:background var(--transition-base),transform var(--transition-fast)}
[lang="ar"] .sp-btn{font-family:var(--font-arabic)}
.sp-btn:active{transform:scale(.98)}.sp-btn:disabled{opacity:.5;cursor:not-allowed}
.sp-btn--primary{background:var(--brand-primary);color:var(--brand-on-primary)}.sp-btn--primary:hover:not(:disabled){background:var(--brand-primary-hover)}
.sp-btn--secondary{background:var(--brand-secondary);color:var(--brand-on-secondary)}.sp-btn--secondary:hover:not(:disabled){background:var(--brand-secondary-hover)}
.sp-btn--accent{background:var(--brand-accent);color:var(--brand-on-accent)}.sp-btn--accent:hover:not(:disabled){background:var(--brand-accent-hover)}
.sp-btn--ghost{background:transparent;color:var(--brand-text);border-color:var(--brand-border)}.sp-btn--ghost:hover:not(:disabled){background:var(--brand-background)}
.sp-card{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.sp-product-card{overflow:hidden;max-width:280px}.sp-product-card__img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.sp-product-card__body{padding:14px}.sp-product-card__title{font-size:15px;font-weight:600;margin:0 0 6px}.sp-product-card__price{font-size:17px;font-weight:700;color:var(--brand-text);margin:0 0 8px}
.sp-stat-card{padding:18px 20px;min-width:200px}.sp-stat-card__label{font-size:13px;color:var(--brand-text-muted);margin:0 0 6px}.sp-stat-card__value{font-size:var(--fs-kpi);font-weight:700;color:var(--brand-text);margin:0 0 4px;font-variant-numeric:tabular-nums}.sp-stat-card__delta{font-size:13px;font-weight:600;margin:0}.sp-stat-card__delta--up{color:var(--brand-success)}.sp-stat-card__delta--down{color:var(--brand-error)}
.sp-badge{display:inline-flex;align-items:center;min-height:24px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--radius-pill)}.sp-badge--info{background:var(--brand-info-bg);color:var(--brand-info)}.sp-badge--success{background:var(--brand-success-bg);color:var(--brand-success)}.sp-badge--warning{background:var(--brand-warning-bg);color:var(--brand-warning)}.sp-badge--error{background:var(--brand-error-bg);color:var(--brand-error)}
.sp-field{margin-bottom:18px;max-width:380px}.sp-field__label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.sp-field__input,.sp-field__select{width:100%;min-height:44px;padding:10px 14px;font:15px/1.4 var(--font-latin);border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-surface);color:var(--brand-text)}[lang="ar"] .sp-field__input,[lang="ar"] .sp-field__select{font-family:var(--font-arabic)}.sp-field__input:focus-visible,.sp-field__select:focus-visible{border-color:var(--brand-secondary-text)}.sp-field__hint{font-size:12px;color:var(--brand-text-muted);margin:6px 0 0}
.sp-variant{border:0;padding:0;margin:0 0 18px}.sp-variant__options{display:flex;flex-wrap:wrap;gap:8px}.sp-variant__option input{position:absolute;opacity:0}.sp-variant__option span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 10px;border-radius:var(--radius-md);border:1px solid var(--brand-border);cursor:pointer}.sp-variant__option input:checked+span{border-color:var(--brand-primary);background:var(--brand-primary);color:var(--brand-on-primary)}.sp-variant__option input:disabled+span{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.sp-shipping-box{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--radius-lg);padding:14px 18px;font-size:14px;max-width:420px}.sp-shipping-box strong{display:block;margin-bottom:6px}.sp-shipping-box p{margin:2px 0;color:var(--brand-text-muted)}.sp-shipping-box__eta{color:var(--brand-secondary-text)!important;font-weight:600}
.sp-navbar{background:var(--brand-surface);border-bottom:1px solid var(--brand-border);position:sticky;top:0;z-index:40}.sp-navbar__inner{width:min(100% - 32px,var(--container-max));margin-inline:auto;min-height:68px;display:flex;align-items:center;gap:24px}.sp-navbar__brand{display:flex;align-items:center;flex-shrink:0}.sp-navbar__links{list-style:none;display:flex;gap:20px;margin:0 auto 0 24px;padding:0}.sp-navbar__links a{color:var(--brand-text);text-decoration:none;font-size:15px;padding:10px 4px}.sp-navbar__actions{display:flex;gap:10px;align-items:center}.sp-navbar__toggle{display:none;background:transparent;border:1px solid var(--brand-border);border-radius:var(--radius-md);min-width:44px;min-height:44px;color:var(--brand-text)}
[dir="rtl"] .sp-navbar__links{margin:0 24px 0 auto}
.sp-mobile-menu{display:none;border-top:1px solid var(--brand-border);padding:12px 16px;background:var(--brand-surface)}.sp-mobile-menu[hidden]{display:none!important}.sp-mobile-menu a{display:block;padding:12px;color:var(--brand-text);text-decoration:none}
.sp-footer{background:var(--brand-surface-dark);color:#fff;padding:40px 20px}.sp-footer__inner{max-width:var(--container-max);margin:auto;text-align:center}.sp-footer__tagline{color:var(--brand-text-on-dark-muted);margin:10px 0 20px;font-size:14px}.sp-footer__links{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:20px}.sp-footer__links a{color:#fff;text-decoration:none;font-size:14px;opacity:.9}.sp-footer__copy{font-size:12px;color:var(--brand-text-on-dark-muted)}.sp-powered-by{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--brand-text-muted);padding:8px 12px}.sp-powered-by a{color:var(--brand-text);font-weight:600;text-decoration:none}
@media(max-width:768px){.sp-navbar__links,.sp-navbar__actions{display:none}.sp-navbar__toggle{display:inline-flex;align-items:center;justify-content:center;margin-inline-start:auto}.sp-mobile-menu:not([hidden]){display:block}.sp-footer__links{gap:12px}.sp-product-card{max-width:100%}}
