/* پل بین MudBlazor و CSS اصلی Step Form Wizard */
.heyat-sf-wizard.sf-wizard {
    --sw-duration: 1000ms;
    --sw-dir: 1;
    border-radius: 12px;
    overflow: visible;
    max-width: 100%;
}

.heyat-sf-wizard.sf-wizard > .sw-header {
    border-bottom: 1px solid var(--mud-palette-lines-default, #e8ecf1);
}

.heyat-sf-wizard.sf-wizard .sf-controls.sw-actions {
    border-top: 1px solid var(--mud-palette-lines-default, #e8ecf1);
}

/* دکمه‌های ثبت موقت / ذخیره در ActionsContent هم‌جنس دکمه پایان ویزارد */
.heyat-sf-wizard.sf-wizard .sw-actions .mud-button-root.sf-btn {
    min-height: 36px;
    font-weight: 600;
    text-transform: none;
    border-radius: 4px;
}

.heyat-sf-wizard.sf-wizard .sf-nav-link {
    cursor: pointer;
}

.heyat-sf-wizard.sf-wizard .sf-nav-step-disabled,
.heyat-sf-wizard.sf-wizard .sf-nav-unlink:not(.sf-nav-link) {
    cursor: default;
}

.heyat-sf-wizard.sf-wizard .sf-fieldwrap {
    transition: opacity var(--sw-duration, 1000ms) ease, transform var(--sw-duration, 1000ms) ease;
    transform-style: preserve-3d;
}

.heyat-sf-wizard.sf-wizard .sf-fieldwrap.sw-panel--exit {
    opacity: 0;
    transform: translateX(calc(48px * var(--sw-dir, 1)));
}

.heyat-sf-wizard.sf-wizard .sf-fieldwrap.sw-panel--enter {
    opacity: 0;
    transform: translateX(calc(-48px * var(--sw-dir, 1)));
}

.heyat-sf-wizard.sf-wizard.sw-trans-fade .sf-fieldwrap.sw-panel--exit,
.heyat-sf-wizard.sf-wizard.sw-trans-fade .sf-fieldwrap.sw-panel--enter {
    transform: none;
    opacity: 0;
}

.heyat-sf-wizard.sf-wizard.sw-trans-slidevertical .sf-fieldwrap.sw-panel--exit {
    transform: translateY(calc(24px * var(--sw-dir, 1)));
}

.heyat-sf-wizard.sf-wizard.sw-trans-slidevertical .sf-fieldwrap.sw-panel--enter {
    transform: translateY(calc(-24px * var(--sw-dir, 1)));
}

.heyat-sf-wizard.sf-wizard.sw-trans-scale .sf-fieldwrap.sw-panel--exit {
    transform: scale(0.9);
    opacity: 0.35;
}

.heyat-sf-wizard.sf-wizard.sw-trans-scale .sf-fieldwrap.sw-panel--enter {
    transform: scale(1.08);
    opacity: 0.35;
}

.heyat-sf-wizard.sf-wizard .sf-fieldwrap.sw-panel--visible {
    opacity: 1;
    transform: none;
}

.heyat-sf-wizard.sf-wizard .sf-step.sf-step-front {
    position: relative;
    display: block;
}

.heyat-sf-wizard.sf-wizard .sw-register-host {
    display: none !important;
}

.heyat-sf-wizard.sf-wizard legend.sf-step-name {
    width: 100%;
    padding: 8px 12px;
    margin-bottom: 8px;
    border: none;
    font-weight: 700;
}

.heyat-sf-wizard.heyat-sf-paper.mud-paper {
    overflow: visible !important;
    background: #fff;
}

.heyat-sf-wizard.sf-3d-cube .sf-viewport {
    perspective: 1200px;
}

.heyat-sf-wizard.sw-trans-3dcube .sf-fieldwrap.sw-panel--exit .sf-step {
    transform: rotateY(-72deg) scale(0.92);
    opacity: 0.25;
    transition: transform var(--sw-duration, 1000ms) ease, opacity var(--sw-duration, 1000ms) ease;
}

.heyat-sf-wizard.sw-trans-3dcube .sf-fieldwrap.sw-panel--enter .sf-step {
    transform: rotateY(72deg) scale(0.92);
    opacity: 0.25;
    transition: transform var(--sw-duration, 1000ms) ease, opacity var(--sw-duration, 1000ms) ease;
}

.sw-settings-theme-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
    gap: 8px;
}

.sw-theme-tile {
    border: 2px solid var(--mud-palette-lines-default, #e0e0e0);
    border-radius: 10px;
    padding: 6px;
    background: var(--mud-palette-surface, #fff);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.sw-theme-tile:hover {
    border-color: var(--mud-palette-primary);
}

.sw-theme-tile--on {
    border-color: var(--mud-palette-primary);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
}

.sw-theme-tile__strip {
    display: block;
    height: 28px;
    border-radius: 6px;
}

.sw-theme-tile__label {
    font-size: 0.68rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
}

.theme-colors-panel .theme-swatch-grid {
    max-height: 120px;
    overflow-y: auto;
}

.sw-root {
    --sw-duration: 1000ms;
    --sw-dir: 1;
    border-radius: 12px;
    overflow: hidden;
}

.sw-root.sw-rtl { direction: rtl; }
.sw-root.sw-ltr { direction: ltr; }

.sw-header { border-bottom: 1px solid var(--mud-palette-lines-default, #e8ecf1); }
.sw-nav, .sw-nav-side { border-bottom: 1px solid var(--mud-palette-lines-default, #e8ecf1); }
.sw-nav-side { border-bottom: none; border-inline-end: 1px solid var(--mud-palette-lines-default, #e8ecf1); padding: 8px; }
.sw-progress { height: 6px !important; }

.sw-body, .sw-body-inner {
    transition: opacity var(--sw-duration) ease, transform var(--sw-duration) ease;
    transform-style: preserve-3d;
}

.sw-height-first .sw-body-inner { min-height: 200px; }
.sw-height-auto .sw-body-inner { min-height: 80px; }
.sw-height-tallest .sw-body-inner { min-height: 280px; }

.sw-panel--exit { opacity: 0; transform: translateX(calc(28px * var(--sw-dir))); }
.sw-panel--enter { opacity: 0; transform: translateX(calc(-28px * var(--sw-dir))); }
.sw-panel--visible { opacity: 1; transform: none; }

.sw-root.sw-trans-fade .sw-panel--exit,
.sw-root.sw-trans-fade .sw-panel--enter { transform: none; opacity: 0; }

.sw-root.sw-trans-slidevertical .sw-panel--exit { transform: translateY(calc(20px * var(--sw-dir))); }
.sw-root.sw-trans-slidevertical .sw-panel--enter { transform: translateY(calc(-20px * var(--sw-dir))); }

.sw-root.sw-trans-scale .sw-panel--exit { transform: scale(0.94); }
.sw-root.sw-trans-scale .sw-panel--enter { transform: scale(1.06); }

.sw-root.sw-trans-3dcube .sw-body-inner {
    perspective: 900px;
}
.sw-root.sw-trans-3dcube .sw-panel--exit {
    transform: rotateY(-75deg) translateZ(-40px);
    opacity: 0.2;
}
.sw-root.sw-trans-3dcube .sw-panel--enter {
    transform: rotateY(75deg) translateZ(-40px);
    opacity: 0.2;
}

.sw-numbered { gap: 6px; }
.sw-numbered--vertical { flex-direction: column !important; align-items: stretch !important; }

.sw-step-item, .sw-step-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 72px;
    padding: 4px 6px;
    text-align: center;
}

.sw-step-link { flex-direction: row; gap: 4px; min-width: auto; padding: 4px 8px; }

.sw-step-item--active .sw-step-title { font-weight: 700; color: var(--mud-palette-primary); }
.sw-step-item--done .sw-step-title { color: var(--mud-palette-success); }
.sw-mark-prev .sw-step-item--marked-prev,
.sw-mark-prev .sw-step-item--marked-prev .sw-step-title {
    opacity: 0.75;
    filter: grayscale(0.35);
}

.sw-step-connector {
    flex: 1;
    height: 2px;
    min-width: 20px;
    align-self: center;
    margin-bottom: 22px;
    background: #e0e0e0;
}
.sw-step-connector--done { background: var(--mud-palette-success); }

.sw-actions { border-top: 1px solid var(--mud-palette-lines-default, #e8ecf1); }
.sw-register-host { display: none !important; }

/* تم‌های گرافیکی jQuery-style */
.sw-root.sw-theme-sea .sw-header {
    background: linear-gradient(135deg, #01579b, #0288d1);
    color: #fff;
}
.sw-root.sw-theme-sea .sw-header .mud-typography { color: #fff !important; }

.sw-root.sw-theme-sky .sw-header {
    background: linear-gradient(135deg, #4fc3f7, #81d4fa);
    color: #0d47a1;
}

.sw-root.sw-theme-simple {
    box-shadow: none !important;
    border: 1px solid #cfd8dc;
}
.sw-root.sw-theme-simple .sw-step-item--active .sw-step-title {
    border-bottom: 2px solid var(--mud-palette-primary);
}

.sw-root.sw-theme-circle .sw-circle-badge {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid #90a4ae;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 700;
}
.sw-root.sw-theme-circle .sw-circle-badge--on {
    border-color: var(--mud-palette-primary);
    background: var(--mud-palette-primary);
    color: #fff;
}

.sw-root.sw-theme-sun .sw-header {
    background: linear-gradient(135deg, #ff8f00, #ffca28);
    color: #3e2723;
}

.sw-root.sw-theme-gradient .sw-header {
    background: linear-gradient(135deg, var(--mud-palette-primary), var(--mud-palette-secondary));
    color: #fff;
}
.sw-root.sw-theme-gradient .sw-header .mud-typography { color: #fff !important; }

.sw-root.sw-theme-minimal {
    box-shadow: none !important;
    border: 1px dashed var(--mud-palette-lines-default, #cfd8dc);
}

.sw-root.sw-small-mobile-nav .sw-step-desc { display: none; }

@media (max-width: 600px) {
    .sw-root.sw-small-mobile-nav .sw-step-title { font-size: 0.7rem; }
    .sw-step-item { min-width: 48px; }
}
