/* Manjarab Design System 2.0 — reusable primitives only. */
.manjarab-design-system *, .manjarab-design-system *::before, .manjarab-design-system *::after { box-sizing: border-box; }
.manjarab-design-system :where(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 3px solid color-mix(in srgb,var(--mj-color-focus) 35%,transparent); outline-offset: 3px; }
.manjarab-design-system :where(button,input,select,textarea) { font: inherit; }
.manjarab-design-system :where(h1,h2,h3,h4,p) { text-wrap: pretty; }
.manjarab-design-system :where(img,svg,video) { max-width: 100%; }

.mj-container { width:min(100% - 32px,var(--mj-size-content));margin-inline:auto; }
.mj-container--reading { width:min(100% - 32px,var(--mj-size-reading));margin-inline:auto; }
.mj-container--narrow { width:min(100% - 32px,var(--mj-size-narrow));margin-inline:auto; }
.mj-stack { display:flex;flex-direction:column;gap:var(--mj-space-4); }
.mj-stack--sm { gap:var(--mj-space-2); }.mj-stack--lg { gap:var(--mj-space-8); }
.mj-cluster { display:flex;align-items:center;flex-wrap:wrap;gap:var(--mj-space-3); }
.mj-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:var(--mj-space-5); }
.mj-flow > * + * { margin-block-start:var(--mj-space-4); }
.mj-text-muted { color:var(--mj-color-muted); }.mj-text-brand { color:var(--mj-color-brand-strong); }
.mj-visually-hidden { 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; }

.mj-button,.manjarab-button { min-height:var(--mj-size-control);display:inline-flex;align-items:center;justify-content:center;gap:var(--mj-space-2);border:1px solid transparent;border-radius:var(--mj-component-radius-control);padding:10px 18px;font-weight:var(--mj-font-weight-heavy);line-height:1.35;text-decoration:none;cursor:pointer;transition:transform var(--mj-transition-fast),box-shadow var(--mj-transition-fast),background var(--mj-transition-fast),border-color var(--mj-transition-fast); }
.mj-button:hover,.manjarab-button:hover { transform:translateY(-1px); }
.mj-button--primary,.manjarab-button { background:var(--mj-color-brand);color:var(--mj-color-brand-contrast)!important;box-shadow:var(--mj-shadow-sm); }
.mj-button--primary:hover,.manjarab-button:hover { background:var(--mj-color-brand-strong); }
.mj-button--secondary,.manjarab-button.secondary { background:var(--mj-color-surface);color:var(--mj-color-brand-strong)!important;border-color:var(--mj-color-border); }
.mj-button--outline { background:transparent;color:var(--mj-color-brand-strong);border-color:var(--mj-color-brand); }
.mj-button--ghost { background:transparent;color:var(--mj-color-ink); }
.mj-button--danger { background:var(--mj-color-danger);color:var(--mj-color-brand-contrast)!important; }
.mj-button[disabled],.mj-button.is-disabled { opacity:.5;cursor:not-allowed;transform:none; }

.mj-icon-button { inline-size:var(--mj-size-control);block-size:var(--mj-size-control);display:inline-grid;place-items:center;border:1px solid var(--mj-color-border);border-radius:var(--mj-radius-pill);background:var(--mj-color-surface);color:var(--mj-color-ink);cursor:pointer;transition:background var(--mj-transition-fast),border-color var(--mj-transition-fast),transform var(--mj-transition-fast); }
.mj-icon-button:hover { background:var(--mj-color-surface-subtle);transform:translateY(-1px); }.mj-icon-button--brand { background:var(--mj-color-brand);color:var(--mj-color-brand-contrast);border-color:transparent; }

.mj-card,.manjarab-card { background:var(--mj-color-surface);border:1px solid var(--mj-color-border);border-radius:var(--mj-component-radius-card);box-shadow:var(--mj-shadow-sm);padding:var(--mj-component-padding-card); }
.mj-card--subtle { background:var(--mj-color-surface-subtle);box-shadow:none; }.mj-card--flat { box-shadow:none; }
.mj-card--interactive { transition:transform var(--mj-transition-normal),box-shadow var(--mj-transition-normal),border-color var(--mj-transition-normal); }
.mj-card--interactive:hover { transform:translateY(-3px);box-shadow:var(--mj-shadow-md);border-color:color-mix(in srgb,var(--mj-color-brand) 30%,var(--mj-color-border)); }

.mj-badge { display:inline-flex;align-items:center;gap:6px;border-radius:var(--mj-radius-pill);padding:5px 10px;font-size:var(--mj-text-sm);font-weight:var(--mj-font-weight-heavy);background:var(--mj-color-surface-subtle);color:var(--mj-color-ink-soft); }
.mj-badge--brand { background:var(--mj-color-brand-soft);color:var(--mj-color-brand-strong); }.mj-badge--success { background:var(--mj-color-success-soft);color:var(--mj-color-success); }.mj-badge--warning { background:var(--mj-color-warning-soft);color:var(--mj-color-warning); }.mj-badge--danger { background:var(--mj-color-danger-soft);color:var(--mj-color-danger); }.mj-badge--rating { background:var(--mj-color-rating-soft);color:var(--mj-color-warning); }

.mj-field { display:grid;gap:var(--mj-space-2); }.mj-field__label { font-weight:var(--mj-font-weight-heavy);color:var(--mj-color-ink); }.mj-field__help { color:var(--mj-color-muted);font-size:var(--mj-text-sm);line-height:var(--mj-leading-normal); }
.mj-input,.manjarab-auth-form input,.manjarab-review-form input,.manjarab-review-form select,.manjarab-review-form textarea { width:100%;min-height:46px;border:1px solid var(--mj-color-border);border-radius:var(--mj-component-radius-control);background:var(--mj-color-surface);color:var(--mj-color-ink);padding:11px 14px;transition:border-color var(--mj-transition-fast),box-shadow var(--mj-transition-fast); }
.mj-input:focus,.manjarab-auth-form input:focus,.manjarab-review-form input:focus,.manjarab-review-form select:focus,.manjarab-review-form textarea:focus { border-color:var(--mj-color-brand);box-shadow:var(--mj-shadow-focus);outline:0; }.mj-input[disabled] { background:var(--mj-color-surface-subtle);color:var(--mj-color-muted); }

.mj-notice { border:1px solid var(--mj-color-border);border-radius:var(--mj-component-radius-control);padding:var(--mj-space-4);line-height:var(--mj-leading-normal);background:var(--mj-color-brand-soft);color:var(--mj-color-brand-strong); }.mj-notice--success { background:var(--mj-color-success-soft);border-color:color-mix(in srgb,var(--mj-color-success) 35%,white);color:var(--mj-color-success); }.mj-notice--warning { background:var(--mj-color-warning-soft);border-color:color-mix(in srgb,var(--mj-color-warning) 35%,white);color:var(--mj-color-warning); }.mj-notice--danger { background:var(--mj-color-danger-soft);border-color:color-mix(in srgb,var(--mj-color-danger) 35%,white);color:var(--mj-color-danger); }
.mj-divider { border:0;border-block-start:1px solid var(--mj-color-border);margin-block:var(--mj-space-6); }.mj-divider--strong { border-color:var(--mj-color-border-strong); }
.mj-skeleton { display:block;border-radius:var(--mj-radius-sm);background:linear-gradient(90deg,var(--mj-color-border) 25%,var(--mj-color-surface-subtle) 37%,var(--mj-color-border) 63%);background-size:400% 100%;animation:mj-skeleton 1.4s ease infinite; }
@keyframes mj-skeleton { 0%{background-position:100% 0}100%{background-position:0 0} }
@media (prefers-reduced-motion:reduce) { .manjarab-design-system *,.manjarab-design-system *::before,.manjarab-design-system *::after { scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; } }
@media (max-width:600px) { .mj-container,.mj-container--reading,.mj-container--narrow { width:min(100% - 24px,var(--mj-size-content)); }.mj-button,.manjarab-button,.mj-icon-button{min-height:var(--mj-size-control-mobile)}.mj-card,.manjarab-card{border-radius:var(--mj-component-radius-card);} }
