/* Skrift Konfigurator Styles - Überarbeitet Optimiert für besseren Frageprozess und UX */ .sk-configurator { /* Farben */ --sk-bg: #f7f7f8; --sk-card: #ffffff; --sk-text: #0f172a; --sk-muted: rgba(15, 23, 42, 0.68); --sk-border: rgba(15, 23, 42, 0.1); --sk-border-strong: rgba(15, 23, 42, 0.16); --sk-accent: #1e3a6a; --sk-success: #059669; --sk-warning: #f59e0b; --sk-error: #dc2626; /* Radius & Spacing */ --sk-radius: 8px; --sk-gap: 18px; /* Typography */ --sk-font-primary: var( --e-global-typography-primary-font-family, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif ); --sk-font-text: var( --e-global-typography-text-font-family, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif ); font-family: var(--sk-font-text); color: var(--sk-text); background: var(--sk-bg); max-width: 1400px; margin: 0 auto; padding: var(--sk-gap); /* Scroll-Offset für festes Menü */ scroll-margin-top: 120px; scroll-padding-top: 120px; } /* Layout Grid */ .sk-configurator__layout { display: grid; grid-template-columns: minmax(0, 65fr) minmax(300px, 35fr); gap: var(--sk-gap); align-items: start; } @media (max-width: 980px) { .sk-configurator__layout { grid-template-columns: 1fr; } .sk-main { max-width: 100%; } } /* Main Content Area */ .sk-main { display: flex; flex-direction: column; gap: var(--sk-gap); min-width: 0; } /* Sidebar Preview */ .sk-side { display: flex; flex-direction: column; gap: var(--sk-gap); position: sticky; top: 150px; } /* Top Bar mit Preis */ .sk-topbar { background: var(--sk-card); border: 1px solid var(--sk-border); border-radius: var(--sk-radius); padding: 16px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; } .sk-price { display: flex; flex-direction: column; gap: 4px; } .sk-price-label { font-size: 12px; color: var(--sk-muted); text-transform: uppercase; letter-spacing: 0.5px; } .sk-price-value { font-size: 24px; font-weight: 750; color: var(--sk-text); } .sk-price-note { font-size: 12px; color: var(--sk-muted); margin-top: 2px; } /* Product Info */ .sk-product-info { display: flex; align-items: center; gap: 12px; } .sk-product-icon { width: 40px; height: 40px; border-radius: 8px; background: var(--sk-accent); display: flex; align-items: center; justify-content: center; color: white; font-weight: 600; } .sk-product-label { font-size: 14px; font-weight: 600; color: var(--sk-text); } /* Progress Stepper */ .sk-stepper { display: flex; gap: 4px; flex-wrap: wrap; align-items: center; } .sk-chip { appearance: none; border: 1px solid var(--sk-border); background: white; border-radius: 999px; padding: 8px 16px; font-size: 13px; font-weight: 500; cursor: pointer; transition: all 0.2s ease; display: flex; align-items: center; gap: 8px; } .sk-chip:hover:not(:disabled) { border-color: var(--sk-border-strong); transform: translateY(-1px); } .sk-chip.is-active { border-color: var(--sk-accent); background: var(--sk-accent); color: white; font-weight: 600; } .sk-chip.is-complete { border-color: var(--sk-success); background: rgba(5, 150, 105, 0.1); color: var(--sk-success); } .sk-chip:disabled { opacity: 0.4; cursor: not-allowed; } /* Checkmark Icon für erledigte Steps */ .sk-chip-check { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: var(--sk-success); color: white; font-size: 11px; font-weight: 700; flex-shrink: 0; } /* Pfeil zwischen Steps - dünner Chevron-Pfeil */ .sk-stepper-arrow { color: var(--sk-muted); font-size: 18px; font-weight: 400; user-select: none; flex-shrink: 0; opacity: 0.7; margin: 0 2px; line-height: 1; } /* Cards */ .sk-card { background: var(--sk-card); border: 1px solid var(--sk-border); border-radius: var(--sk-radius); overflow: hidden; margin-bottom: 16px; max-width: 100%; } .sk-card-head { padding: 16px; border-bottom: 1px solid rgba(15, 23, 42, 0.06); } .sk-card-title { font-size: 16px; font-weight: 700; color: var(--sk-text); margin: 0; } .sk-card-subtitle { font-size: 14px; color: var(--sk-muted); margin-top: 4px; } .sk-card-body { padding: 16px; max-width: 100%; overflow: hidden; } .sk-card-foot { padding: 16px; border-top: 1px solid rgba(15, 23, 42, 0.06); background: rgba(15, 23, 42, 0.02); } /* Selection Cards (Product Selection) */ .sk-selection-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; } .sk-selection-card { border: 2px solid var(--sk-border); border-radius: var(--sk-radius); padding: 16px; cursor: pointer; transition: all 0.2s ease; background: white; position: relative; } .sk-selection-card:hover { border-color: var(--sk-border-strong); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); } .sk-selection-card.is-selected { border-color: var(--sk-accent); background: rgba(30, 58, 106, 0.04); } .sk-selection-card.is-selected::after { content: "✓"; position: absolute; top: 12px; right: 12px; width: 24px; height: 24px; border-radius: 50%; background: var(--sk-accent); color: white; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; } .sk-selection-card-image { width: 100%; height: 160px; background: rgba(15, 23, 42, 0.04); border-radius: 6px; margin-bottom: 12px; display: flex; align-items: center; justify-content: center; overflow: hidden; } .sk-selection-card-image img { max-width: 100%; max-height: 100%; object-fit: cover; } .sk-selection-card-title { font-size: 16px; font-weight: 600; margin-bottom: 6px; } .sk-selection-card-price { font-size: 14px; color: var(--sk-accent); font-weight: 600; } .sk-selection-card-desc { font-size: 13px; color: var(--sk-muted); margin-top: 8px; line-height: 1.5; } /* Form Fields */ .sk-field { margin-bottom: 18px; max-width: 100%; overflow: hidden; } .sk-field-label { display: block; font-size: 14px; font-weight: 600; color: var(--sk-text); margin-bottom: 8px; } .sk-field-label.is-required::after { content: "*"; color: var(--sk-error); margin-left: 4px; } .sk-help { font-size: 12px; color: var(--sk-muted); margin-top: 6px; line-height: 1.5; } .sk-input, .sk-textarea, .sk-select { width: 100%; max-width: 100%; box-sizing: border-box; padding: 10px 12px; border-radius: var(--sk-radius); border: 1px solid var(--sk-border); background: white; font-size: 14px; font-family: var(--sk-font-text); transition: all 0.2s ease; } .sk-input:focus, .sk-textarea:focus, .sk-select:focus { outline: none; border-color: var(--sk-accent); box-shadow: 0 0 0 3px rgba(30, 58, 106, 0.1); } .sk-input.is-error, .sk-textarea.is-error, .sk-select.is-error, .sk-input-error { border-color: var(--sk-error); } .sk-error-message { color: var(--sk-error); font-size: 14px; margin-top: 8px; } .sk-textarea { resize: vertical; min-height: 120px; line-height: 1.5; } /* Radio & Checkbox Options */ .sk-options { display: flex; flex-direction: column; gap: 10px; } .sk-option { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid var(--sk-border); border-radius: var(--sk-radius); cursor: pointer; transition: all 0.2s ease; background: white; /* Verhindert Scroll-Verhalten bei Klick auf Label */ scroll-margin: 0; scroll-padding: 0; } /* Verhindert dass Browser bei Checkbox/Radio Klick scrollt */ .sk-option input[type="radio"], .sk-option input[type="checkbox"] { scroll-margin: 0; } .sk-option:hover { border-color: var(--sk-border-strong); background: rgba(15, 23, 42, 0.02); } .sk-option.is-selected { border-color: var(--sk-accent); background: rgba(30, 58, 106, 0.04); } .sk-option input[type="radio"], .sk-option input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; } .sk-option-content { flex: 1; } .sk-option-label { font-size: 14px; font-weight: 500; color: var(--sk-text); line-height: 1.5; } .sk-option.is-selected .sk-option-label { font-weight: 600; } .sk-option-desc { font-size: 13px; color: var(--sk-muted); margin-top: 4px; line-height: 1.4; } .sk-option-price { font-size: 13px; color: var(--sk-accent); font-weight: 600; margin-top: 4px; } /* Tables */ .sk-table-wrapper { overflow: auto; margin: 12px 0; max-height: 500px; max-width: 100%; border: 1px solid var(--sk-border); border-radius: var(--sk-radius); position: relative; will-change: scroll-position; -webkit-overflow-scrolling: touch; } .sk-table { width: 100%; min-width: 600px; border-collapse: separate; border-spacing: 0; background: white; } .sk-table th, .sk-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid rgba(15, 23, 42, 0.06); white-space: nowrap; } .sk-table th { background: white; font-size: 12px; font-weight: 700; color: var(--sk-text); text-transform: uppercase; letter-spacing: 0.5px; position: sticky; top: 0; z-index: 10; border-bottom: 2px solid rgba(15, 23, 42, 0.1); } .sk-table td { font-size: 13px; vertical-align: middle; } .sk-table tr:last-child td { border-bottom: none; } .sk-table-row-number { width: 32px; min-width: 32px; max-width: 32px; text-align: center; font-weight: 600; font-size: 13px; color: var(--sk-muted); background: white; position: sticky; left: 0; z-index: 5; padding: 8px 2px; } td.sk-table-row-number { width: 32px !important; min-width: 32px !important; } /* Summary-Tabellen (Key-Value Paare) - erste Spalte feste Breite */ .sk-table td:first-child { width: 180px; min-width: 180px; font-weight: 500; color: var(--sk-muted); } .sk-table th.sk-table-row-number { background: white; z-index: 15; } .sk-table input { min-width: 120px; width: 100%; } /* Buttons */ .sk-btn { appearance: none; border: 1px solid var(--sk-border); background: white; border-radius: var(--sk-radius); padding: 10px 16px; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.2s ease; font-family: var(--sk-font-text); } .sk-btn:hover:not(:disabled) { border-color: var(--sk-border-strong); transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } .sk-btn:disabled { opacity: 0.4; cursor: not-allowed; transform: none; } .sk-btn-primary { background: var(--sk-accent); border-color: var(--sk-accent); color: white; font-weight: 700; } .sk-btn-primary:hover:not(:disabled) { background: #1a3258; border-color: #1a3258; } .sk-btn-secondary { background: white; border-color: var(--sk-border-strong); } .sk-btn-large { padding: 14px 24px; font-size: 16px; } /* Navigation */ .sk-nav { display: flex; gap: 12px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--sk-border); } .sk-nav button { flex: 1; } /* Preview Card */ .sk-preview-card { background: var(--sk-card); border: 1px solid var(--sk-border); border-radius: var(--sk-radius); padding: 16px; } .sk-preview-title { font-size: 14px; font-weight: 700; margin-bottom: 4px; } .sk-preview-sub { font-size: 12px; color: var(--sk-muted); } .sk-preview-box { margin-top: 16px; border: 2px dashed var(--sk-border); border-radius: var(--sk-radius); min-height: 300px; display: flex; align-items: center; justify-content: center; background: rgba(15, 23, 42, 0.02); } .sk-preview-placeholder { text-align: center; color: var(--sk-muted); font-size: 13px; } /* Alerts & Messages */ .sk-alert { padding: 12px 16px; border-radius: var(--sk-radius); margin: 12px 0; font-size: 13px; line-height: 1.5; } .sk-alert-info { background: rgba(59, 130, 246, 0.1); border: 1px solid rgba(59, 130, 246, 0.3); color: #1e40af; } .sk-alert-warning { background: rgba(245, 158, 11, 0.1); border: 1px solid rgba(245, 158, 11, 0.3); color: #92400e; } .sk-alert-error { background: rgba(220, 38, 38, 0.1); border: 1px solid rgba(220, 38, 38, 0.3); color: #991b1b; } .sk-alert-success { background: rgba(5, 150, 105, 0.1); border: 1px solid rgba(5, 150, 105, 0.3); color: #065f46; } /* Utility Classes */ .sk-stack { display: flex; flex-direction: column; gap: 16px; } .sk-inline { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; } .sk-sep { height: 1px; background: var(--sk-border); margin: 16px 0; } .sk-text-muted { color: var(--sk-muted); } .sk-text-small { font-size: 12px; } .sk-hidden { display: none; } /* Read-only Tabellenzellen */ .sk-table-readonly-header { background: rgba(156, 163, 175, 0.15) !important; color: var(--sk-muted) !important; } .sk-table-readonly-cell { background: transparent; } .sk-table-readonly-cell input { background: rgba(156, 163, 175, 0.12); color: var(--sk-muted); cursor: not-allowed; } /* Modal */ .sk-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.6); display: flex; align-items: center; justify-content: center; z-index: 10000; padding: 20px; overflow-y: auto; font-family: var( --sk-font-text, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif ); } .sk-modal-content { background: white; border-radius: 8px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); max-width: 95vw; max-height: 90vh; display: flex; flex-direction: column; width: 100%; margin: auto; } .sk-modal-header { padding: 20px 24px; border-bottom: 1px solid rgba(15, 23, 42, 0.1); display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; } .sk-modal-header h2 { margin: 0; font-size: 20px; font-weight: 700; color: #0f172a; font-family: var( --sk-font-primary, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif ); } .sk-modal-close { appearance: none; background: none; border: none; font-size: 32px; line-height: 1; cursor: pointer; color: rgba(15, 23, 42, 0.68); padding: 0; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 4px; transition: all 0.2s; } .sk-modal-close:hover { background: rgba(0, 0, 0, 0.05); color: #0f172a; } .sk-modal-body { padding: 24px; overflow-y: auto; flex: 1; color: #0f172a; } .sk-table-wrapper-modal { overflow: auto; margin: 12px 0; max-width: 100%; border: 1px solid rgba(15, 23, 42, 0.1); border-radius: 8px; position: relative; max-height: calc(90vh - 300px); will-change: scroll-position; -webkit-overflow-scrolling: touch; } .sk-table-wrapper-modal .sk-table { min-width: 800px; } /* Mobile Preview Container - standardmäßig versteckt */ .sk-preview-mobile { display: none; } /* Mobile Contact Card - standardmäßig versteckt */ .sk-contact-card-mobile { display: none; } /* Responsive - Tablet */ @media (max-width: 980px) { .sk-configurator { padding: 12px; } /* Auf Tablet/Mobile: Sidebar als eigener Block */ .sk-configurator__layout { display: flex; flex-direction: column; } /* Desktop-Sidebar auf Mobile ausblenden */ .sk-side { display: none; } /* Mobile Preview anzeigen (nach Fragen, vor Weiter-Button) */ .sk-preview-mobile { display: block; margin-bottom: var(--sk-gap); } /* Mobile Contact Card anzeigen (nach Weiter-Button) */ .sk-contact-card-mobile { display: block; margin-top: var(--sk-gap); } .sk-main { order: 1; } .sk-stepper { gap: 8px; justify-content: center; } .sk-chip { padding: 6px 12px; font-size: 12px; } .sk-stepper-arrow { font-size: 12px; margin: 0 4px; } } /* Responsive - Mobile */ @media (max-width: 640px) { .sk-configurator { padding: 8px; } .sk-selection-grid { grid-template-columns: 1fr; } .sk-nav { flex-direction: column; } /* Stepper auf Mobile: Horizontal scrollbar mit Padding links */ .sk-stepper { display: flex; flex-direction: row; flex-wrap: nowrap; overflow-x: auto; gap: 4px; padding: 4px 8px 8px 8px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; margin: 0 -8px; /* Negative margin to extend to edges */ width: calc(100% + 16px); } .sk-stepper::-webkit-scrollbar { height: 4px; } .sk-stepper::-webkit-scrollbar-thumb { background: var(--sk-border-strong); border-radius: 2px; } .sk-chip { flex-shrink: 0; padding: 5px 8px; font-size: 10px; white-space: nowrap; } .sk-stepper-arrow { flex-shrink: 0; font-size: 9px; margin: 0 1px; } /* Mobile Layout: Vorschau zwischen Form und Nav */ .sk-sidebar { display: none; /* Desktop Sidebar verstecken */ } .sk-preview-mobile { display: block !important; order: 2; /* Nach Form (order: 1), vor Nav */ margin-bottom: 16px; } /* "Noch Fragen" Card nach dem Button */ .sk-contact-card-mobile { order: 4; /* Nach Nav (order: 3) */ margin-top: 16px; } .sk-card-body { padding: 12px; } .sk-card-head { padding: 12px; } .sk-topbar { padding: 12px; flex-direction: column; align-items: flex-start; } .sk-price-value { font-size: 20px; } .sk-option { padding: 10px; } .sk-modal-content { max-width: 100%; max-height: 100%; border-radius: 0; } .sk-modal { padding: 0; } .sk-modal-header { padding: 16px; } .sk-modal-body { padding: 16px; } .sk-preview-box { min-height: 200px; } /* Preview Navigation auf Mobile */ .sk-preview-navigation { justify-content: center !important; } .sk-preview-navigation button { padding: 10px 16px !important; font-size: 18px !important; } } /* Sehr kleine Screens */ @media (max-width: 380px) { .sk-chip { padding: 5px 8px; font-size: 10px; } .sk-stepper-arrow { display: none; } .sk-card-title { font-size: 14px; } .sk-option-label { font-size: 13px; } .sk-option-desc { font-size: 12px; } } /* Table Mobile Overflow Fix */ .sk-card-body { overflow-x: auto; -webkit-overflow-scrolling: touch; } .sk-table { min-width: 100%; } @media (max-width: 640px) { .sk-table { font-size: 13px; } .sk-table th, .sk-table td { padding: 8px 10px; white-space: nowrap; } } /* noPrice Mode - Versteckt alle Preisanzeigen */ .sk-configurator.sk-no-price .sk-price, .sk-configurator.sk-no-price .sk-topbar .sk-price, .sk-configurator.sk-no-price .sk-option-price, .sk-configurator.sk-no-price .sk-selection-card-price, .sk-configurator.sk-no-price .sk-price-card { display: none !important; } /* Mobile Product Cards - Kompakte Darstellung (Bild links, Text rechts) */ @media (max-width: 640px) { .sk-selection-grid { gap: 10px; } .sk-selection-card { display: flex; flex-direction: row; gap: 12px; padding: 12px; align-items: flex-start; } .sk-selection-card-image { width: 80px; min-width: 80px; height: 80px; margin-bottom: 0; border-radius: 6px; flex-shrink: 0; } .sk-selection-card-image img { width: 100%; height: 100%; object-fit: cover; } .sk-selection-card-content { flex: 1; min-width: 0; } .sk-selection-card-title { font-size: 14px; margin-bottom: 4px; } .sk-selection-card-price { font-size: 13px; } .sk-selection-card-desc { font-size: 12px; margin-top: 4px; line-height: 1.4; /* Beschreibung auf 2 Zeilen begrenzen */ display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } /* Checkmark für ausgewählte Karte */ .sk-selection-card.is-selected::after { top: 8px; right: 8px; width: 20px; height: 20px; font-size: 12px; } } /* ========== Validierungs-Overlay (Ladeanimation) ========== */ .sk-validation-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.92); display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 10000; gap: 20px; } .sk-validation-spinner { width: 48px; height: 48px; border: 4px solid var(--sk-border); border-top-color: var(--sk-accent); border-radius: 50%; animation: sk-spin 1s linear infinite; } @keyframes sk-spin { to { transform: rotate(360deg); } } .sk-validation-text { font-size: 16px; color: var(--sk-text); text-align: center; } /* ========== Overflow-Warnung ========== */ .sk-overflow-warning { background: #fef2f2; border: 1px solid var(--sk-error); border-radius: var(--sk-radius); padding: 16px; margin-top: 16px; } .sk-overflow-warning-title { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--sk-error); margin-bottom: 12px; } .sk-overflow-warning-title::before { content: "⚠️"; } .sk-overflow-warning-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; } .sk-overflow-warning-item { display: flex; justify-content: space-between; align-items: center; padding: 8px 12px; background: white; border-radius: 4px; font-size: 14px; } .sk-overflow-warning-name { font-weight: 500; } .sk-overflow-warning-lines { color: var(--sk-error); font-weight: 600; } .sk-overflow-warning-hint { margin-top: 12px; font-size: 13px; color: var(--sk-muted); } .sk-overflow-warning-more { background: transparent; color: var(--sk-muted); font-style: italic; } /* ========== Validierungs-Fehler ========== */ .sk-validation-error { background: #fef2f2; border: 1px solid var(--sk-error); border-radius: var(--sk-radius); padding: 16px; margin-bottom: 16px; } .sk-validation-error-title { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--sk-error); margin-bottom: 8px; } .sk-validation-error-title::before { content: "⚠️"; } .sk-validation-error-message { margin: 0 0 8px 0; color: var(--sk-text); } .sk-validation-error-hint { margin: 0; font-size: 13px; color: var(--sk-muted); } /* ========== PREISRECHNER SIDEBAR ========== */ .sk-calc-sidebar-card { background: var(--sk-card); border: 1px solid var(--sk-border); border-radius: var(--sk-radius); overflow: hidden; } .sk-calc-main-price { text-align: center; padding: 24px 20px; background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%); border-bottom: 1px solid var(--sk-border); } .sk-calc-main-price__value { font-size: 42px; font-weight: 700; color: var(--sk-text); line-height: 1; } .sk-calc-main-price__label { font-size: 14px; color: var(--sk-muted); margin-top: 4px; } .sk-calc-main-price__note { font-size: 12px; color: var(--sk-muted); margin-top: 8px; } .sk-calc-details { padding: 16px 20px; } .sk-calc-price-table { width: 100%; border-collapse: collapse; } .sk-calc-price-table td { padding: 8px 0; font-size: 14px; border: none; } .sk-calc-price-table td:first-child { color: var(--sk-muted); font-weight: 400; width: auto; min-width: 0; } .sk-calc-price-table td:last-child { text-align: right; font-weight: 500; color: var(--sk-text); } .sk-calc-price-table tr:not(:last-child) td { border-bottom: 1px solid var(--sk-border); } .sk-calc-note { font-size: 12px; color: var(--sk-muted); padding: 8px 0; margin-top: 4px; } .sk-calc-note--info { background: rgba(59, 130, 246, 0.08); border-radius: 6px; padding: 10px 12px; color: #1e40af; } .sk-calc-setup-section { padding: 16px 20px; border-top: 1px solid var(--sk-border); background: rgba(15, 23, 42, 0.02); } .sk-calc-section-label { font-size: 12px; font-weight: 600; color: var(--sk-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 12px; } .sk-calc-total-section { padding: 16px 20px; border-top: 1px solid var(--sk-border); background: transparent; } .sk-calc-total-row { display: flex; justify-content: space-between; align-items: center; font-size: 15px; } .sk-calc-total-row span:first-child { color: var(--sk-text); font-weight: 500; } .sk-calc-total-value { font-weight: 700; color: var(--sk-accent); font-size: 18px; } .sk-calc-cta-btn, .sk-calc-cta-btn:link, .sk-calc-cta-btn:visited { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 16px; padding: 14px 20px; background: var(--sk-accent); color: #ffffff !important; border: none; border-radius: var(--sk-radius); font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; transition: all 0.2s ease; } .sk-calc-cta-btn:hover, .sk-calc-cta-btn:active { background: #1a3258; color: #ffffff !important; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(30, 58, 106, 0.3); } .sk-calc-cta-arrow { font-size: 18px; } /* Preisrechner max-width */ .sk-configurator[data-skrift-preisrechner] { max-width: 1200px; } /* Preisrechner Mobile Sidebar */ .sk-calc-mobile-sidebar { display: none; } @media (max-width: 980px) { .sk-calc-mobile-sidebar { display: block; margin-top: var(--sk-gap); } }