/* ============================================
   SOLARFLOW PRO - Modern Form UI
   ISOLATED CSS - Theme Override Protection
   Version: 2.0.0
   ============================================ */

/* ============================================
   CSS RESET & ISOLATION
   All styles scoped to .sf-form-wrapper
   ============================================ */
.sf-form-wrapper,
.sf-form-wrapper *,
.sf-form-wrapper *::before,
.sf-form-wrapper *::after {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 100% !important;
    vertical-align: baseline !important;
    line-height: 1.5 !important;
    font-family: inherit !important;
    outline: none !important;
}

/* Restore specific elements */
.sf-form-wrapper h1,
.sf-form-wrapper h2,
.sf-form-wrapper h3,
.sf-form-wrapper h4,
.sf-form-wrapper h5,
.sf-form-wrapper h6 {
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.sf-form-wrapper p {
    margin-bottom: 1rem !important;
}

.sf-form-wrapper a {
    text-decoration: none !important;
}

.sf-form-wrapper img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
}

.sf-form-wrapper svg {
    display: inline-block !important;
    vertical-align: middle !important;
}

.sf-form-wrapper button,
.sf-form-wrapper input,
.sf-form-wrapper select,
.sf-form-wrapper textarea {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

/* ============================================
   FORM WRAPPER - Main Container
   ============================================ */
.sf-form-wrapper {
    /* CSS Variables - These get overridden by inline styles in form-modern.php */
    --sf-radius-sm: 8px;
    --sf-radius-md: 12px;
    --sf-radius-lg: 16px;
    --sf-radius-full: 9999px;
    --sf-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --sf-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --sf-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    --sf-shadow-card: 0 1px 3px rgba(0, 0, 0, 0.08);
    --sf-success-light: rgba(16, 185, 129, 0.1);

    display: block !important;
    width: 100% !important;
    max-width: var(--sf-max-width, 900px) !important;
    margin: 0 auto !important;
    padding: 32px !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif !important;
    font-size: var(--sf-font-size-base, 16px) !important;
    color: var(--sf-text, var(--sf-text-dark, #111827)) !important;
    background: var(--sf-background, var(--sf-bg-page, #F9FAFB)) !important;
    line-height: 1.5 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* ============================================
   HEADER
   ============================================ */
.sf-form-wrapper .sf-form-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 16px 0 !important;
    margin-bottom: 32px !important;
    border-bottom: 1px solid var(--sf-border) !important;
}

.sf-form-wrapper .sf-form-logo {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    color: var(--sf-text-dark) !important;
}

.sf-form-wrapper .sf-form-logo svg,
.sf-form-wrapper .sf-form-logo img {
    width: 32px !important;
    height: 32px !important;
}

.sf-form-wrapper .sf-logo-image {
    height: 40px !important;
    width: auto !important;
    max-width: 200px !important;
    object-fit: contain !important;
}

.sf-form-wrapper .sf-header-contact {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.sf-form-wrapper .sf-header-phone {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: var(--sf-text-dark) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    transition: color 0.15s ease !important;
}

.sf-form-wrapper .sf-header-phone:hover {
    color: var(--sf-primary) !important;
}

.sf-form-wrapper .sf-header-phone svg {
    color: var(--sf-primary) !important;
    width: 16px !important;
    height: 16px !important;
}

.sf-form-wrapper .sf-header-contact-btn {
    display: inline-block !important;
    background: var(--sf-primary) !important;
    color: white !important;
    padding: 8px 16px !important;
    border-radius: var(--sf-radius-md) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    transition: background 0.15s ease !important;
    cursor: pointer !important;
}

.sf-form-wrapper .sf-header-contact-btn:hover {
    background: var(--sf-primary-hover) !important;
    color: white !important;
}

/* ============================================
   PROGRESS BAR
   ============================================ */
.sf-form-wrapper .sf-progress-wrapper {
    margin-bottom: 48px !important;
}

.sf-form-wrapper .sf-progress-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 12px !important;
}

.sf-form-wrapper .sf-progress-title {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--sf-text-dark) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.sf-form-wrapper .sf-progress-step-indicator {
    font-size: 14px !important;
    color: var(--sf-text-muted) !important;
}

.sf-form-wrapper .sf-progress-step-indicator span {
    color: var(--sf-primary) !important;
    font-weight: 600 !important;
}

.sf-form-wrapper .sf-progress-bar {
    height: 6px !important;
    background: var(--sf-border, #E5E7EB) !important;
    border-radius: var(--sf-radius-full, 9999px) !important;
    overflow: hidden !important;
}

.sf-form-wrapper .sf-progress-bar-fill {
    height: 100% !important;
    background: var(--sf-primary, #DC2626) !important;
    border-radius: var(--sf-radius-full, 9999px) !important;
    transition: width 0.35s ease !important;
}

/* ============================================
   STEP CONTAINER
   ============================================ */
.sf-form-wrapper .sf-step-container {
    background: var(--sf-bg-card, #FFFFFF) !important;
    border-radius: var(--sf-radius-lg, 16px) !important;
    padding: 48px !important;
    box-shadow: var(--sf-shadow-card, 0 1px 3px rgba(0, 0, 0, 0.08)) !important;
    margin-bottom: 32px !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: var(--sf-border, #E5E7EB) !important;
    animation: sf-fadeInUp 0.4s ease-out !important;
}

.sf-form-wrapper .sf-step-headline {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--sf-text-dark) !important;
    margin: 0 0 12px 0 !important;
    line-height: 1.2 !important;
}

.sf-form-wrapper .sf-step-subheadline {
    font-size: 16px !important;
    color: var(--sf-text-muted) !important;
    margin: 0 0 32px 0 !important;
    line-height: 1.6 !important;
}

/* ============================================
   CARDS GRID
   ============================================ */
.sf-form-wrapper .sf-cards-grid {
    display: grid !important;
    gap: 16px !important;
}

.sf-form-wrapper .sf-cards-grid--2 {
    grid-template-columns: repeat(2, 1fr) !important;
}

.sf-form-wrapper .sf-cards-grid--3 {
    grid-template-columns: repeat(3, 1fr) !important;
}

.sf-form-wrapper .sf-cards-grid--4 {
    grid-template-columns: repeat(4, 1fr) !important;
}

/* Card Option */
.sf-form-wrapper .sf-card-option {
    background: var(--sf-bg-card, #FFFFFF) !important;
    border-width: 2px !important;
    border-style: solid !important;
    border-color: var(--sf-border, #E5E7EB) !important;
    border-radius: var(--sf-radius-md, 12px) !important;
    padding: 24px !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.sf-form-wrapper .sf-card-option:hover {
    border-width: 2px !important;
    border-style: solid !important;
    border-color: var(--sf-border-hover, #D1D5DB) !important;
    box-shadow: var(--sf-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1)) !important;
    transform: translateY(-2px) !important;
}

.sf-form-wrapper .sf-card-option.selected {
    border-width: 2px !important;
    border-style: solid !important;
    border-color: var(--sf-primary, #DC2626) !important;
    background: var(--sf-primary-pale, rgba(220, 38, 38, 0.05)) !important;
}

/* Card Icon */
.sf-form-wrapper .sf-card-icon {
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--sf-bg-page, #F9FAFB) !important;
    border-radius: var(--sf-radius-md, 12px) !important;
    margin-bottom: 16px !important;
    color: var(--sf-text-dark, #111827) !important;
    transition: all 0.15s ease !important;
}

.sf-form-wrapper .sf-card-option:hover .sf-card-icon,
.sf-form-wrapper .sf-card-option.selected .sf-card-icon {
    background: var(--sf-primary-light) !important;
    color: var(--sf-primary) !important;
}

.sf-form-wrapper .sf-card-icon svg {
    width: 24px !important;
    height: 24px !important;
}

.sf-form-wrapper .sf-card-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--sf-text-dark) !important;
    margin: 0 0 8px 0 !important;
}

.sf-form-wrapper .sf-card-description {
    font-size: 14px !important;
    color: var(--sf-text-muted) !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

/* Selected Checkmark */
.sf-form-wrapper .sf-card-option.selected::after {
    content: '' !important;
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    width: 20px !important;
    height: 20px !important;
    background: var(--sf-primary) !important;
    border-radius: 50% !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* ============================================
   SLIDER
   ============================================ */
.sf-form-wrapper .sf-slider-wrapper {
    padding: 32px 0 !important;
}

.sf-form-wrapper .sf-slider-value {
    font-size: 48px !important;
    font-weight: 700 !important;
    color: var(--sf-text-dark) !important;
    text-align: center !important;
    margin-bottom: 24px !important;
}

.sf-form-wrapper .sf-slider-value span {
    font-size: 24px !important;
    font-weight: 400 !important;
    color: var(--sf-text-muted) !important;
    margin-left: 8px !important;
}

.sf-form-wrapper .sf-slider-input {
    width: 100% !important;
    height: 8px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background: var(--sf-border) !important;
    border-radius: var(--sf-radius-full) !important;
    outline: none !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sf-form-wrapper .sf-slider-input::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 24px !important;
    height: 24px !important;
    background: var(--sf-primary) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    box-shadow: var(--sf-shadow-md) !important;
    border: none !important;
}

.sf-form-wrapper .sf-slider-input::-moz-range-thumb {
    width: 24px !important;
    height: 24px !important;
    background: var(--sf-primary) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    border: none !important;
    box-shadow: var(--sf-shadow-md) !important;
}

.sf-form-wrapper .sf-slider-labels {
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 12px !important;
    font-size: 14px !important;
    color: var(--sf-text-light) !important;
}

/* Quick Select */
.sf-form-wrapper .sf-quick-select {
    margin-top: 32px !important;
}

.sf-form-wrapper .sf-quick-select-label {
    font-size: 14px !important;
    color: var(--sf-text-muted) !important;
    margin-bottom: 12px !important;
}

.sf-form-wrapper .sf-quick-select-options {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.sf-form-wrapper .sf-quick-option {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 16px !important;
    background: var(--sf-bg-card, #FFFFFF) !important;
    border-width: 2px !important;
    border-style: solid !important;
    border-color: var(--sf-border, #E5E7EB) !important;
    border-radius: var(--sf-radius-md, 12px) !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    min-width: 100px !important;
}

.sf-form-wrapper .sf-quick-option:hover {
    border-width: 2px !important;
    border-style: solid !important;
    border-color: var(--sf-border-hover, #D1D5DB) !important;
}

.sf-form-wrapper .sf-quick-option.selected {
    border-width: 2px !important;
    border-style: solid !important;
    border-color: var(--sf-primary, #DC2626) !important;
    background: var(--sf-primary-pale, rgba(220, 38, 38, 0.05)) !important;
}

.sf-form-wrapper .sf-quick-option-icon {
    font-size: 24px !important;
    margin-bottom: 8px !important;
}

.sf-form-wrapper .sf-quick-option-label {
    font-weight: 500 !important;
    font-size: 14px !important;
    color: var(--sf-text-dark) !important;
}

.sf-form-wrapper .sf-quick-option-value {
    font-size: 12px !important;
    color: var(--sf-primary) !important;
    margin-top: 4px !important;
}

/* ============================================
   SIDEBAR LAYOUT
   ============================================ */
.sf-form-wrapper .sf-form-with-sidebar {
    display: grid !important;
    grid-template-columns: 1fr 320px !important;
    gap: 32px !important;
    align-items: start !important;
}

.sf-form-wrapper .sf-step-main {
    display: block !important;
}

.sf-form-wrapper .sf-prognose-sidebar {
    background: var(--sf-bg-card, #FFFFFF) !important;
    border-radius: var(--sf-radius-lg, 16px) !important;
    padding: 24px !important;
    box-shadow: var(--sf-shadow-card, 0 1px 3px rgba(0, 0, 0, 0.08)) !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: var(--sf-border, #E5E7EB) !important;
    position: sticky !important;
    top: 32px !important;
}

.sf-form-wrapper .sf-prognose-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 24px !important;
}

.sf-form-wrapper .sf-prognose-title {
    font-weight: 600 !important;
    color: var(--sf-text-dark) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
}

.sf-form-wrapper .sf-prognose-title svg {
    width: 20px !important;
    height: 20px !important;
}

.sf-form-wrapper .sf-prognose-live {
    background: var(--sf-primary) !important;
    color: white !important;
    padding: 2px 8px !important;
    border-radius: var(--sf-radius-sm) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    animation: sf-pulse 2s infinite !important;
}

.sf-form-wrapper .sf-prognose-label {
    font-size: 14px !important;
    color: var(--sf-text-muted) !important;
    margin-bottom: 8px !important;
}

.sf-form-wrapper .sf-prognose-value {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: var(--sf-text-dark) !important;
    margin-bottom: 8px !important;
}

.sf-form-wrapper .sf-prognose-value span {
    font-size: 16px !important;
}

.sf-form-wrapper .sf-prognose-comparison {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--sf-success) !important;
    font-size: 14px !important;
    margin-bottom: 24px !important;
}

.sf-form-wrapper .sf-prognose-chart {
    height: 120px !important;
    display: flex !important;
    align-items: flex-end !important;
    gap: 8px !important;
    margin-bottom: 24px !important;
}

.sf-form-wrapper .sf-prognose-bar {
    flex: 1 !important;
    background: var(--sf-primary-light) !important;
    border-radius: var(--sf-radius-sm) var(--sf-radius-sm) 0 0 !important;
    transition: height 0.35s ease !important;
}

.sf-form-wrapper .sf-prognose-bar.highlight {
    background: var(--sf-primary) !important;
}

.sf-form-wrapper .sf-prognose-metrics {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--sf-border) !important;
}

.sf-form-wrapper .sf-prognose-metric {
    text-align: center !important;
}

.sf-form-wrapper .sf-prognose-metric-value {
    font-weight: 700 !important;
    color: var(--sf-text-dark) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 14px !important;
}

.sf-form-wrapper .sf-prognose-metric-value svg {
    width: 16px !important;
    height: 16px !important;
    color: var(--sf-success) !important;
}

.sf-form-wrapper .sf-prognose-metric-label {
    font-size: 12px !important;
    color: var(--sf-text-muted) !important;
    margin-top: 4px !important;
}

/* ============================================
   RESULTS
   ============================================ */
.sf-form-wrapper .sf-results-container {
    background: var(--sf-bg-card, #FFFFFF) !important;
    border-radius: var(--sf-radius-lg, 16px) !important;
    padding: 48px !important;
    text-align: center !important;
    border-width: 2px !important;
    border-style: solid !important;
    border-color: #A7F3D0 !important;
}

.sf-form-wrapper .sf-results-title {
    font-size: 24px !important;
    font-weight: 600 !important;
    color: var(--sf-text-dark) !important;
    margin: 0 0 12px 0 !important;
}

.sf-form-wrapper .sf-results-subtitle {
    font-size: 14px !important;
    color: var(--sf-text-muted) !important;
    margin: 0 0 32px 0 !important;
}

.sf-form-wrapper .sf-results-amount {
    font-size: 64px !important;
    font-weight: 800 !important;
    color: var(--sf-text-dark) !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.sf-form-wrapper .sf-results-amount span {
    font-size: 32px !important;
}

.sf-form-wrapper .sf-results-eco {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: var(--sf-success-light) !important;
    color: var(--sf-success) !important;
    padding: 8px 16px !important;
    border-radius: var(--sf-radius-full) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin-top: 16px !important;
}

.sf-form-wrapper .sf-results-metrics {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    margin-top: 48px !important;
    padding-top: 32px !important;
    border-top: 1px solid var(--sf-border) !important;
}

.sf-form-wrapper .sf-results-metric {
    text-align: center !important;
}

.sf-form-wrapper .sf-results-metric-icon {
    width: 40px !important;
    height: 40px !important;
    margin: 0 auto 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--sf-bg-page) !important;
    border-radius: var(--sf-radius-md) !important;
    color: var(--sf-text-muted) !important;
}

.sf-form-wrapper .sf-results-metric-label {
    font-size: 12px !important;
    color: var(--sf-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 8px !important;
}

.sf-form-wrapper .sf-results-metric-value {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--sf-text-dark) !important;
}

/* ============================================
   CONTACT FORM
   ============================================ */
.sf-form-wrapper .sf-contact-form {
    background: var(--sf-bg-card, #FFFFFF) !important;
    border-radius: var(--sf-radius-lg, 16px) !important;
    padding: 48px !important;
    box-shadow: var(--sf-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1)) !important;
    max-width: 480px !important;
    margin: 32px auto 0 !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: var(--sf-border, #E5E7EB) !important;
}

.sf-form-wrapper .sf-contact-title {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--sf-text-dark) !important;
    text-align: center !important;
    margin: 0 0 12px 0 !important;
}

.sf-form-wrapper .sf-contact-subtitle {
    font-size: 14px !important;
    color: var(--sf-text-muted) !important;
    text-align: center !important;
    margin: 0 0 32px 0 !important;
}

.sf-form-wrapper .sf-form-group {
    margin-bottom: 16px !important;
}

.sf-form-wrapper .sf-form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}

.sf-form-wrapper .sf-form-input {
    width: 100% !important;
    padding: 16px !important;
    border-width: 2px !important;
    border-style: solid !important;
    border-color: var(--sf-border, #E5E7EB) !important;
    border-radius: var(--sf-radius-md, 12px) !important;
    font-size: 16px !important;
    font-family: inherit !important;
    background: var(--sf-bg-input, #FFFFFF) !important;
    color: var(--sf-text-dark, #111827) !important;
    transition: all 0.15s ease !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.sf-form-wrapper .sf-form-input::placeholder {
    color: var(--sf-text-light, #9CA3AF) !important;
}

.sf-form-wrapper .sf-form-input:focus {
    border-width: 2px !important;
    border-style: solid !important;
    border-color: var(--sf-primary, #DC2626) !important;
    box-shadow: 0 0 0 3px var(--sf-primary-light, rgba(220, 38, 38, 0.08)) !important;
}

/* ============================================
   NAVIGATION BUTTONS
   ============================================ */
.sf-form-wrapper .sf-navigation {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 32px !important;
}

.sf-form-wrapper .sf-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 16px 32px !important;
    border-radius: var(--sf-radius-full) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    border: none !important;
    text-decoration: none !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.sf-form-wrapper .sf-btn-primary {
    background: var(--sf-primary, #DC2626) !important;
    color: white !important;
    min-width: 180px !important;
}

.sf-form-wrapper .sf-btn-primary:hover {
    background: var(--sf-primary-hover, #B91C1C) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--sf-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1)) !important;
}

.sf-form-wrapper .sf-btn-secondary {
    background: var(--sf-bg-card, #FFFFFF) !important;
    color: var(--sf-text-dark, #111827) !important;
    border-width: 2px !important;
    border-style: solid !important;
    border-color: var(--sf-border, #E5E7EB) !important;
}

.sf-form-wrapper .sf-btn-secondary:hover {
    background: var(--sf-bg-page, #F9FAFB) !important;
    border-width: 2px !important;
    border-style: solid !important;
    border-color: var(--sf-border-hover, #D1D5DB) !important;
}

.sf-form-wrapper .sf-btn:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

.sf-form-wrapper .sf-btn svg {
    width: 20px !important;
    height: 20px !important;
}

.sf-form-wrapper .sf-btn-submit {
    width: 100% !important;
    padding: 20px !important;
    font-size: 18px !important;
}

/* ============================================
   TRUST BADGES
   ============================================ */
.sf-form-wrapper .sf-trust-badges {
    display: flex !important;
    justify-content: center !important;
    gap: 24px !important;
    flex-wrap: wrap !important;
    margin-top: 32px !important;
    padding: 24px !important;
    background: var(--sf-bg-card, #FFFFFF) !important;
    border-radius: var(--sf-radius-md, 12px) !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: var(--sf-border, #E5E7EB) !important;
}

.sf-form-wrapper .sf-trust-badge {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    color: var(--sf-text-muted) !important;
}

.sf-form-wrapper .sf-trust-badge svg {
    width: 20px !important;
    height: 20px !important;
    color: var(--sf-success) !important;
}

.sf-form-wrapper .sf-trust-badge span {
    font-weight: 500 !important;
}

.sf-form-wrapper .sf-stars {
    display: flex !important;
    color: #FBBF24 !important;
}

.sf-form-wrapper .sf-stars svg {
    width: 16px !important;
    height: 16px !important;
    color: inherit !important;
}

/* ============================================
   FOOTER
   ============================================ */
.sf-form-wrapper .sf-footer-info {
    text-align: center !important;
    margin-top: 32px !important;
    padding: 16px !important;
}

.sf-form-wrapper .sf-footer-info p {
    font-size: 12px !important;
    color: var(--sf-text-light) !important;
    margin: 0 !important;
}

.sf-form-wrapper .sf-privacy-note {
    font-size: 12px !important;
    color: var(--sf-text-muted) !important;
    text-align: center !important;
    margin-top: 16px !important;
}

.sf-form-wrapper .sf-privacy-note a {
    color: var(--sf-primary) !important;
    text-decoration: underline !important;
}

/* ============================================
   SPINNER
   ============================================ */
.sf-form-wrapper .sf-spinner {
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    border-top-color: white !important;
    border-radius: 50% !important;
    animation: sf-spin 0.8s linear infinite !important;
}

/* ============================================
   ANIMATIONS
   ============================================ */
@keyframes sf-fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes sf-pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

@keyframes sf-spin {
    to {
        transform: rotate(360deg);
    }
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
    .sf-form-wrapper .sf-form-with-sidebar {
        grid-template-columns: 1fr !important;
    }

    .sf-form-wrapper .sf-prognose-sidebar {
        position: static !important;
        order: -1 !important;
    }
}

@media (max-width: 768px) {
    .sf-form-wrapper {
        padding: 16px !important;
    }

    .sf-form-wrapper .sf-step-container {
        padding: 24px !important;
    }

    .sf-form-wrapper .sf-step-headline {
        font-size: 22px !important;
    }

    .sf-form-wrapper .sf-cards-grid--2,
    .sf-form-wrapper .sf-cards-grid--3,
    .sf-form-wrapper .sf-cards-grid--4 {
        grid-template-columns: 1fr !important;
    }

    .sf-form-wrapper .sf-form-row {
        grid-template-columns: 1fr !important;
    }

    .sf-form-wrapper .sf-results-metrics {
        grid-template-columns: 1fr !important;
    }

    .sf-form-wrapper .sf-results-amount {
        font-size: 40px !important;
    }

    .sf-form-wrapper .sf-slider-value {
        font-size: 32px !important;
    }

    .sf-form-wrapper .sf-navigation {
        flex-direction: column !important;
        gap: 16px !important;
    }

    .sf-form-wrapper .sf-btn {
        width: 100% !important;
    }

    .sf-form-wrapper .sf-trust-badges {
        flex-direction: column !important;
        gap: 16px !important;
        align-items: center !important;
    }

    .sf-form-wrapper .sf-contact-form {
        padding: 24px !important;
    }

    .sf-form-wrapper .sf-form-header {
        flex-direction: column !important;
        gap: 16px !important;
        text-align: center !important;
    }

    .sf-form-wrapper .sf-quick-select-options {
        justify-content: center !important;
    }

    .sf-form-wrapper .sf-quick-option {
        flex: 1 1 calc(50% - 8px) !important;
        min-width: auto !important;
    }
}

@media (max-width: 480px) {
    .sf-form-wrapper .sf-form-logo {
        font-size: 16px !important;
    }

    .sf-form-wrapper .sf-header-phone {
        display: none !important;
    }

    .sf-form-wrapper .sf-results-amount {
        font-size: 32px !important;
    }

    .sf-form-wrapper .sf-results-amount span {
        font-size: 20px !important;
    }
}
