    .msps-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 20px;
    }
    
    .msps-step {
        display: none;
        opacity: 0;
        transition: opacity 0.3s ease;
    }
    
    .msps-step.active {
        display: block;
        opacity: 1;
    }
    
    .msps-step-title {
        font-size: var(--step-title-font-size, 32px);
        font-weight: var(--step-title-font-weight, 600);
        text-align: var(--step-title-alignment, center);
        margin: var(--step-title-margin, 0 0 10px 0);
        color: var(--step-title-color, #333);
        line-height: var(--step-title-line-height, 1.2);
    }
    
    .msps-question {
        font-size: var(--step-question-font-size, 24px);
        font-weight: var(--step-question-font-weight, normal);
        text-align: var(--step-question-alignment, center);
        margin: var(--step-question-margin, 0 0 40px 0);
        color: var(--step-question-color, #666);
        line-height: var(--step-question-line-height, 1.4);
    }
    
    .msps-products-grid {
        display: grid;
        gap: 25px;
        padding: 20px 0;
        width: 100%;
    }
    /* Auto Layout (Standard) */
    
    .msps-products-grid:not(.full-width):not(.fixed-width) {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        justify-content: center;
    }
    /* Volle Breite */
    
    .msps-products-grid.full-width {
        grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
        width: 100%;
    }
    /* Feste Breite */
    
    .msps-products-grid.fixed-width {
        width: var(--grid-width);
    }
    /* Grid Container Wrapper für Ausrichtung */
    
    .msps-grid-wrapper {
        width: 100%;
        display: flex;
    }
    /* Ausrichtungsoptionen */
    
    .msps-grid-wrapper[data-alignment="flex-start"] {
        justify-content: flex-start;
    }
    
    .msps-grid-wrapper[data-alignment="center"] {
        justify-content: center;
    }
    
    .msps-grid-wrapper[data-alignment="flex-end"] {
        justify-content: flex-end;
    }
    /* Kachel-Styles */
    
    .msps-product-item {
        position: relative;
        height: 100%;
        display: flex;
    }
    /* Kachelbreiten je nach Modus */
    
    .msps-products-grid:not(.full-width):not(.fixed-width) .msps-product-item {
        max-width: 300px;
    }
    
    .msps-products-grid.full-width .msps-product-item {
        max-width: none;
    }
    
    .msps-products-grid.fixed-width .msps-product-item {
        max-width: var(--grid-width);
    }
    /* Responsive Anpassungen */
    
    @media (max-width: 768px) {
        .msps-products-grid {
            grid-template-columns: 1fr !important;
            justify-items: center !important;
        }
        .msps-product-item {
            max-width: 300px;
        }
    }
    
    .msps-product-checkbox {
        position: absolute;
        opacity: 0;
        cursor: pointer;
        height: 0;
        width: 0;
    }
    
    .msps-product-content,
    a.msps-product-content.has-link {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        position: relative;
        padding: 20px;
        border: 2px solid #eee;
        border-radius: 12px;
        transition: all 0.3s ease;
        background: #FFF0F5;
        margin: 0;
    }
    /* Preisbereich und Buttons */
    
    .msps-product-content .price,
    .msps-product-content .buttons {
        align-self: flex-start;
        width: 100%;
    }
    /* Checkbox Style */
    
    .msps-product-item .msps-product-content::before {
        content: '';
        position: absolute;
        top: 15px;
        right: 15px;
        width: 30px;
        height: 30px;
        border: 2px solid #ddd;
        border-radius: 50%;
        background-color: white;
        transition: all 0.3s ease;
        z-index: 1;
    }
    
    .msps-product-item .msps-product-checkbox:checked+.msps-product-content::before {
        background-color: #000;
        border-color: #000;
    }
    
    .msps-product-item .msps-product-checkbox:checked+.msps-product-content::after {
        content: '✓';
        position: absolute;
        top: 15px;
        right: 15px;
        width: 30px;
        height: 30px;
        color: white;
        font-size: 18px;
        line-height: 30px;
        text-align: center;
        z-index: 2;
    }
    
    .msps-product-content img {
        width: 100%;
        height: auto;
        border-radius: 8px;
        margin: 15px auto;
        flex-shrink: 0;
    }
    
    .msps-product-content h4 {
        margin: 10px 0;
        flex-grow: 1;
        font-size: var(--custom-title-font-size, 16px);
        line-height: var(--custom-title-line-height, 1.4);
        font-weight: var(--custom-title-font-weight, 500);
        text-align: var(--custom-title-alignment, center);
        color: var(--custom-title-color, #333333);
        font-family: var(--custom-title-font-family);
    }
    /* Versteckter Titel */
    
    .msps-product-content h4.hidden-title {
        display: none;
        margin: 0;
        padding: 0;
        height: 0;
    }
    /* Anpassung der Bildposition wenn Titel versteckt ist */
    
    .msps-product-content h4.hidden-title+img,
    .msps-product-content img+h4.hidden-title {
        margin: 0 auto;
    }
    
    .msps-product-content .price {
        margin-top: auto;
    }
    
    .msps-navigation {
        display: flex;
        justify-content: center;
        gap: 20px;
        margin-top: 40px;
    }
    
    .msps-prev,
    .msps-next,
    .msps-submit {
        padding: 15px 30px;
        border: none;
        border-radius: 30px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
    }
    
    .msps-prev {
        background-color: #f5f5f5;
        color: #333;
    }
    
    .msps-next {
        background-color: #333;
        color: white;
    }
    
    .msps-submit {
        background-color: #000;
        color: white;
        display: none;
    }
    
    .msps-submit.active {
        display: block;
    }
    /* Hover Effekte */
    
    .msps-product-item:hover .msps-product-content {
        border-color: #000;
        transform: translateY(-3px);
        background-color: #FFE4E8;
    }
    
    .msps-prev:hover,
    .msps-next:hover,
    .msps-submit:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    }
    /* Button Hover Animationen */
    
    .msps-next.hover-lift:hover,
    .msps-submit.hover-lift:hover {
        transform: translateY(-3px);
    }
    
    .msps-next.hover-scale:hover,
    .msps-submit.hover-scale:hover {
        transform: scale(1.05);
    }
    /* Für Accordion-Style */
    
    .msps-container.accordion-style .msps-step {
        display: none;
        margin-bottom: 20px;
    }
    
    .msps-container.accordion-style .msps-step.active {
        display: block;
    }
    /* Navigation im Accordion-Modus ausblenden */
    
    .msps-container.accordion-style .msps-navigation {
        display: none;
    }
    
    .elementor-editor-active .msps-step {
        display: block !important;
        opacity: 1 !important;
    }
    
    .elementor-editor-active .msps-navigation {
        display: flex !important;
    }
    
    .msps-step-title.required:after {
        content: '*';
        color: #e32;
        margin-left: 5px;
    }
    /* DateTime Picker Styles */
    
    .msps-datetime-picker {
        width: 100%;
        margin: 0;
        padding: 0;
        background: transparent;
    }
    
    .msps-calendar-wrapper {
        margin: 0;
        padding: 0;
        background: transparent;
    }
    /* Flatpickr Input Styling */
    
    .msps-date-input {
        width: 100%;
        padding: 12px 15px;
        border: 2px solid #eaeaea;
        border-radius: 8px;
        font-size: 16px;
        cursor: pointer;
        background: #fff;
        transition: all 0.3s ease;
    }
    
    .msps-date-input:hover {
        border-color: #000;
    }
    
    .msps-date-input:focus {
        outline: none;
        border-color: #000;
        box-shadow: none;
    }
    /* Flatpickr Custom Theme */
    
    .custom-calendar {
        background: #fff;
        border-radius: 15px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        border: none;
        padding: 20px;
    }
    
    .custom-calendar .flatpickr-months {
        margin-bottom: 15px;
    }
    
    .custom-calendar .flatpickr-month {
        color: #333;
    }
    
    .custom-calendar .flatpickr-weekday {
        color: #666;
        font-weight: 600;
    }
    
    .custom-calendar .flatpickr-day {
        border-radius: 50%;
        transition: all 0.3s ease;
    }
    
    .custom-calendar .flatpickr-day:hover {
        background: #FFE4E8;
        border-color: transparent;
    }
    
    .custom-calendar .flatpickr-day.selected {
        background: #FFF0F5;
        border-color: #000;
        color: #000;
    }
    /* Time Slots Basis-Styles */
    
    .msps-time-slots {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px;
        --time-slot-bg: #ffffff;
        --time-slot-color: #333333;
        --time-slot-border: #eaeaea;
        --time-slot-hover-bg: #f5f5f5;
        --time-slot-selected-bg: #FFF0F5;
        --time-slot-selected-color: #000000;
        --time-slot-selected-border: #000000;
        --time-slot-border-radius: 30px;
        --time-slot-padding: 12px;
    }
    /* Verstecke die Standard-Radio-Buttons */
    
    .msps-time-input {
        position: absolute !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        pointer-events: none !important;
    }
    /* Time Slot Label Styling */
    
    .msps-time-label {
        display: block;
        padding: 12px;
        background: #ffffff;
        border: 2px solid #eaeaea;
        border-radius: 30px;
        cursor: pointer;
        transition: background 0.3s, border-color 0.3s;
        font-weight: 500;
        position: relative;
    }
    /* Hover Effekt */
    
    .msps-time-label:hover {
        background: var(--time-slot-hover-bg);
        transform: translateY(-2px);
    }
    /* Ausgewählter Zustand */
    
    .msps-time-input:checked+.msps-time-label {
        background: #FFF0F5;
        border-color: #000;
    }
    /* Time Grid Layout */
    
    .msps-time-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        gap: 15px;
        margin-top: 20px;
    }
    /* Entferne jegliche Radio-Button Styles */
    
    .msps-time-slot input[type="radio"]::before,
    .msps-time-slot input[type="radio"]::after {
        display: none !important;
    }
    
    .msps-time-slot {
        position: relative;
    }
    /* Kalender Styles */
    
    .msps-datetime-picker.style-modern .flatpickr-calendar {
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        border: none;
        border-radius: 15px;
        background: #fff;
    }
    
    .msps-datetime-picker.style-classic .flatpickr-calendar {
        border: 1px solid #ddd;
        box-shadow: none;
        background: #fff;
    }
    
    .msps-datetime-picker.style-minimal .flatpickr-calendar {
        box-shadow: none;
        border: none;
        background: #f7f7f7;
    }
    
    .msps-datetime-picker.style-rounded .flatpickr-calendar {
        border-radius: 30px;
        overflow: hidden;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
        border: none;
        background: #fff;
    }
    
    .msps-datetime-picker.style-fancy .flatpickr-calendar {
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
        border: none;
        border-radius: 20px;
        background: linear-gradient(145deg, #ffffff, #f5f5f5);
    }
    /* Zusätzliche Style-spezifische Anpassungen */
    
    .msps-datetime-picker.style-modern .flatpickr-day.selected {
        background: #FFF0F5;
        border-color: #000;
    }
    
    .msps-datetime-picker.style-fancy .flatpickr-day.selected {
        background: linear-gradient(145deg, #FFF0F5, #FFE4E8);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    }
    
    .msps-datetime-picker.style-minimal .flatpickr-day.selected {
        background: #000;
        color: #fff;
    }
    /* Zeitauswahl Styles */
    
    .msps-time-slots.style-list .msps-time-grid {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    
    .msps-time-slots.style-buttons .msps-time-label {
        background: #f5f5f5;
        border: none;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    }
    
    .msps-time-slots.style-circles .msps-time-label {
        border-radius: 50%;
        width: 80px;
        height: 80px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .msps-time-slots.style-cards .msps-time-label {
        padding: 20px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
        transform-style: preserve-3d;
        transition: transform 0.3s ease;
    }
    
    .msps-time-slots.style-cards .msps-time-input:checked+.msps-time-label {
        transform: translateY(-5px) rotateX(10deg);
    }
    /* Location Styles */
    
    .msps-product-item .location-logo {
        margin-bottom: 15px;
        text-align: center;
    }
    
    .msps-product-item .location-logo img {
        max-width: 150px;
        max-height: 100px;
        width: auto;
        height: auto;
        border-radius: 8px;
        object-fit: contain;
    }
    
    .msps-product-item .location-logo img[src$=".svg"] {
        width: 100%;
        height: 100%;
        padding: 10px;
    }
    
    .msps-product-item .location-info {
        text-align: center;
    }
    
    .msps-product-item .location-description {
        color: #666;
        margin: 10px 0;
    }
    
    .msps-product-item .location-address {
        font-size: 0.9em;
        color: #888;
    }
    /* Style Varianten für Timeslots */
    
    .msps-time-slots.style-modern {
        --time-slot-bg: #ffffff;
        --time-slot-border-radius: 12px;
        --time-slot-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    }
    
    .msps-time-slots.style-minimal {
        --time-slot-bg: #f7f7f7;
        --time-slot-border: transparent;
        --time-slot-hover-shadow: none;
    }
    
    .msps-time-slots.style-rounded {
        --time-slot-border-radius: 50px;
        --time-slot-padding: 12px 24px;
    }
    
    .msps-time-slots.style-fancy {
        --time-slot-bg: linear-gradient(145deg, #ffffff, #f5f5f5);
        --time-slot-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        --time-slot-border: transparent;
    }
    /* Kalender Basis-Styles */
    
    .flatpickr-calendar {
        background: #ffffff;
        border: 1px solid #ccc;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        border-radius: 8px;
        padding: 10px;
    }
    
    .flatpickr-day {
        color: #333;
        background: #fff;
        border: none;
    }
    
    .flatpickr-day.today {
        background-color: #f0f0f0;
    }
    
    .flatpickr-day.selected,
    .flatpickr-day.startRange,
    .flatpickr-day.endRange {
        background-color: #4CAF50;
        color: white;
    }
    
    .flatpickr-time {
        background: #f9f9f9;
        padding: 5px 10px;
        border-top: 1px solid #ccc;
    }
    
    .flatpickr-time input {
        border-color: #ccc;
    }
    /* Uhrzeit-Dropdown-Styling */
    
    .select-wrapper {
        position: relative;
        background: #f9f9f9;
        border: 1px solid #ccc;
        border-radius: 8px;
        cursor: pointer;
    }
    
    .select-wrapper:after {
        content: '\25BC';
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        color: #333;
    }
    
    .select-dropdown {
        display: none;
        position: absolute;
        background: white;
        width: 100%;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        z-index: 100;
    }
    
    .select-dropdown.active {
        display: block;
    }
    /* Verstecke den inline Kalender */
    
    .flatpickr-calendar.inline {
        display: none !important;
    }
    /* Kalender Input Styling */
    
    .msps-date-input {
        width: 100%;
        padding: 12px 15px;
        border: 2px solid #eaeaea;
        border-radius: 8px;
        font-size: 16px;
        cursor: pointer;
        background: #fff;
        transition: all 0.3s ease;
    }
    
    .msps-date-input:hover {
        border-color: #000;
    }
    
    .msps-date-input:focus {
        outline: none;
        border-color: #000;
        box-shadow: none;
    }
    /* Time Slots ohne Radio Button Style */
    
    .msps-time-slot {
        position: relative;
    }
    
    .msps-time-input {
        position: absolute;
        opacity: 0;
        width: 0;
        height: 0;
    }
    
    .msps-time-label {
        display: block;
        padding: var(--time-slot-padding);
        text-align: center;
        background: var(--time-slot-bg);
        color: var(--time-slot-color);
        border: 2px solid var(--time-slot-border);
        border-radius: var(--time-slot-border-radius);
        cursor: pointer;
        transition: all 0.3s ease;
    }
    
    .msps-time-label:hover {
        background: var(--time-slot-hover-bg);
        transform: translateY(-2px);
    }
    
    .msps-time-input:checked+.msps-time-label {
        background: var(--time-slot-selected-bg);
        color: var(--time-slot-selected-color);
        border-color: var(--time-slot-selected-border);
    }
    /* Link-Items Styling */
    
    .msps-product-item a.msps-product-content.has-link {
        text-decoration: none;
        color: inherit;
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        padding: 20px;
        border: 2px solid #eee;
        border-radius: 12px;
        background: #FFF0F5;
        transition: all 0.3s ease;
    }
    /* Hover-Effekt für Link-Items */
    
    .msps-product-item a.msps-product-content.has-link:hover {
        transform: translateY(-3px);
        border-color: #000;
        background-color: #FFE4E8;
    }
    /* Entferne Checkbox-Styles für Link-Items */
    
    .msps-product-item a.msps-product-content.has-link::before,
    .msps-product-item a.msps-product-content.has-link::after {
        display: none !important;
    }
    
    .msps-product-link {
        display: block;
        text-decoration: none;
        color: inherit;
        width: 100%;
        height: 100%;
    }
    
    .msps-product-content.has-link {
        cursor: pointer;
        height: 100%;
        display: flex;
        flex-direction: column;
        padding: 20px;
        border: 2px solid #eee;
        border-radius: 12px;
        background: #FFF0F5;
        transition: all 0.3s ease;
    }
    /* Hover-Effekt */
    
    .msps-product-link:hover .msps-product-content.has-link {
        transform: translateY(-3px);
        border-color: #000;
        background-color: #FFE4E8;
    }
    /* Basis-Styles für Bilder */
    
    .msps-product-content img {
        height: auto;
        display: block;
        margin: 0 auto;
        transition: width 0.3s ease;
    }
    /* Fixierte Auswahlleiste */
    
    .msps-selection-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: rgba(255, 255, 255, 0.95);
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
        padding: 15px;
        z-index: 1000;
        transform: translateY(100%);
        transition: transform 0.3s ease;
    }
    
    .msps-selection-bar.active {
        transform: translateY(0);
    }
    
    .msps-selection-items {
        display: flex;
        gap: 20px;
        max-width: 1200px;
        margin: 0 auto;
        overflow-x: auto;
        padding: 0 20px;
    }
    
    .msps-selection-item {
        display: none;
        align-items: center;
        gap: 8px;
        opacity: 0;
        transition: opacity 0.3s ease;
    }
    
    .msps-selection-item.active {
        display: flex;
        opacity: 1;
    }
    
    .selection-label {
        font-weight: 600;
        color: #666;
    }
    
    .selection-value {
        color: #000;
    }
    /* Auswahlleiste Positionierung */
    
    .msps-selection-bar-top .msps-selection-bar {
        top: 0;
        bottom: auto;
        transform: translateY(-100%);
    }
    
    .msps-selection-bar-top .msps-selection-bar.active {
        transform: translateY(0);
    }
    /* Responsive Anpassungen */
    
    @media (max-width: 768px) {
        .msps-selection-items {
            flex-wrap: wrap;
            justify-content: flex-start;
        }
        .msps-selection-item {
            width: 100%;
            padding: 5px 0;
            border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        }
        .msps-selection-item:last-child {
            border-bottom: none;
        }
    }
    /* Scrollbar Styling */
    
    .msps-selection-items::-webkit-scrollbar {
        height: 6px;
    }
    
    .msps-selection-items::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 3px;
    }
    
    .msps-selection-items::-webkit-scrollbar-thumb {
        background: #888;
        border-radius: 3px;
    }
    
    .msps-selection-items::-webkit-scrollbar-thumb:hover {
        background: #555;
    }
    /* Stil für Datum- und Uhrzeit-Auswahl innerhalb des Schritts */
    
    .msps-date-input,
    .msps-time-input {
        width: 100%;
        padding: 10px;
        margin-bottom: 10px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 16px;
    }
    /* DateTime Container */
    
    .msps-datetime-container {
        padding: 20px;
        background-color: #f9f9f9;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        margin-top: 20px;
        display: none;
    }
    
    .msps-datetime-container.show {
        display: block;
    }
    
    .flatpickr-calendar {
        font-family: var(--calendar-font-family);
        background: var(--calendar-background-color, #ffffff);
        border: 1px solid var(--calendar-border-color, #e6e6e6);
        border-radius: var(--calendar-border-radius, 8px);
        box-shadow: var(--calendar-box-shadow, 0 4px 8px rgba(0, 0, 0, 0.1));
        margin-top: var(--calendar-margin-top, 20px);
    }
    
    .flatpickr-current-month {
        font-size: var(--calendar-month-font-size, 16px);
        font-weight: var(--calendar-month-font-weight, 600);
        color: var(--calendar-month-color, #333);
        padding: var(--calendar-month-padding, 10px 0);
    }
    
    .flatpickr-weekday {
        font-size: var(--calendar-weekday-font-size, 14px);
        font-weight: var(--calendar-weekday-font-weight, normal);
        color: var(--calendar-weekday-color, #666);
    }
    
    .flatpickr-day {
        font-size: var(--calendar-day-font-size, 14px);
        font-weight: var(--calendar-day-font-weight, normal);
        color: var(--calendar-day-color, #333);
    }
    
    .msps-time-label {
        font-size: var(--time-slot-font-size, 14px);
        font-weight: var(--time-slot-font-weight, normal);
        color: var(--time-slot-color, #333);
        font-family: var(--time-slot-font-family);
        padding: var(--time-slot-padding, 8px 12px);
        background: var(--time-slot-background, #ffffff);
        border: 1px solid var(--time-slot-border-color, #e6e6e6);
        border-radius: var(--time-slot-border-radius, 4px);
        margin: var(--time-slot-margin, 4px);
        cursor: pointer;
        transition: all 0.3s ease;
        text-align: center;
        display: block;
    }
    
    .msps-time-label:hover {
        background: var(--time-slot-hover-background, #f5f5f5);
        transform: translateY(-2px);
    }
    
    .msps-time-input:checked+.msps-time-label {
        background: var(--time-slot-selected-background, #FFF0F5);
        border-color: var(--time-slot-selected-border-color, #FFB6C1);
        color: var(--time-slot-selected-color, #333);
        transform: translateY(-2px);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }
    /* Time Slots Grid Layout */
    
    .msps-time-slots {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 10px;
        margin-top: 20px;
        padding: 15px;
    }
    /* Hover Effekt für Titel */
    
    .msps-product-item:hover .msps-product-content h4 {
        color: #000000;
    }
    /* Spezielle Bildabstände wenn Titel versteckt ist */
    
    .msps-product-content h4.hidden-title~img {
        margin: 30px auto;
        padding: 10px;
    }
    /* Schritt-Navigation */
    
    .msps-step-title,
    .msps-question,
    .msps-selection-bar {
        font-family: var(--e-global-typography-primary-font-family);
    }
    
    .msps-step-title {
        font-size: var(--step-title-font-size, 32px);
        font-weight: var(--step-title-font-weight, 600);
        text-align: var(--step-title-alignment, center);
        margin: var(--step-title-margin, 0 0 10px 0);
        color: var(--step-title-color, #333);
        line-height: var(--step-title-line-height, 1.2);
    }
    
    .msps-question {
        font-size: var(--step-question-font-size, 24px);
        font-weight: var(--step-question-font-weight, normal);
        text-align: var(--step-question-alignment, center);
        margin: var(--step-question-margin, 0 0 40px 0);
        color: var(--step-question-color, #666);
        line-height: var(--step-question-line-height, 1.4);
    }
    /* Auswahlleiste */
    
    .msps-selection-bar .selection-label {
        font-size: var(--selection-label-font-size, 14px);
        font-weight: var(--selection-label-font-weight, 600);
        color: var(--selection-label-color, #666);
    }
    
    .msps-selection-bar .selection-value {
        font-size: var(--selection-value-font-size, 14px);
        font-weight: var(--selection-value-font-weight, normal);
        color: var(--selection-value-color, #000);
    }
    /* Custom Items */
    
    .msps-product-content h4 {
        margin: 10px 0;
        flex-grow: 1;
        font-size: var(--custom-title-font-size, 16px);
        line-height: var(--custom-title-line-height, 1.4);
        font-weight: var(--custom-title-font-weight, 500);
        text-align: var(--custom-title-alignment, center);
        color: var(--custom-title-color, #333333);
        font-family: var(--custom-title-font-family);
    }
    /* WooCommerce Produkte */
    
    .msps-product-content .product-name {
        font-size: var(--product-name-font-size, 16px);
        font-weight: var(--product-name-font-weight, 500);
        color: var(--product-name-color, #333);
        font-family: var(--product-name-font-family);
    }
    
    .msps-product-content .amount {
        font-size: var(--product-amount-font-size, 14px);
        font-weight: var(--product-amount-font-weight, normal);
        color: var(--product-amount-color, #666);
        font-family: var(--product-amount-font-family);
    }
    
    .msps-product-content .price-val {
        font-size: var(--product-price-font-size, 16px);
        font-weight: var(--product-price-font-weight, 600);
        color: var(--product-price-color, #333);
        font-family: var(--product-price-font-family);
    }
    /* Filialen */
    
    .msps-location-title {
        font-size: var(--location-title-font-size, 18px);
        font-weight: var(--location-title-font-weight, 600);
        color: var(--location-title-color, #333);
        font-family: var(--location-title-font-family);
    }
    
    .msps-location-address {
        font-size: var(--location-address-font-size, 14px);
        font-weight: var(--location-address-font-weight, normal);
        color: var(--location-address-color, #666);
        font-family: var(--location-address-font-family);
    }
    
    .msps-location-info {
        font-size: var(--location-info-font-size, 14px);
        font-style: var(--location-info-font-style, italic);
        color: var(--location-info-color, #666);
        font-family: var(--location-info-font-family);
    }
    /* Datum & Uhrzeit */
    
    .flatpickr-calendar {
        font-family: var(--calendar-font-family);
        background: var(--calendar-background-color, #ffffff);
        border: 1px solid var(--calendar-border-color, #e6e6e6);
        border-radius: var(--calendar-border-radius, 8px);
        box-shadow: var(--calendar-box-shadow, 0 4px 8px rgba(0, 0, 0, 0.1));
        margin-top: var(--calendar-margin-top, 20px);
    }
    
    .flatpickr-current-month {
        font-size: var(--calendar-month-font-size, 16px);
        font-weight: var(--calendar-month-font-weight, 600);
        color: var(--calendar-month-color, #333);
        padding: var(--calendar-month-padding, 10px 0);
    }
    
    .flatpickr-weekday {
        font-size: var(--calendar-weekday-font-size, 14px);
        font-weight: var(--calendar-weekday-font-weight, normal);
        color: var(--calendar-weekday-color, #666);
    }
    
    .flatpickr-day {
        font-size: var(--calendar-day-font-size, 14px);
        font-weight: var(--calendar-day-font-weight, normal);
        color: var(--calendar-day-color, #333);
    }
    
    .msps-time-label {
        font-size: var(--time-slot-font-size, 14px);
        font-weight: var(--time-slot-font-weight, normal);
        color: var(--time-slot-color, #333);
        font-family: var(--time-slot-font-family);
    }
    /* Zusätzliche Kalender-Styles */
    
    .flatpickr-day.selected,
    .flatpickr-day.startRange,
    .flatpickr-day.endRange {
        background: var(--calendar-selected-background, #FFF0F5);
        border-color: var(--calendar-selected-border-color, #FFB6C1);
        color: var(--calendar-selected-color, #333);
    }
    
    .flatpickr-day:hover {
        background: var(--calendar-hover-background, #f5f5f5);
    }
    
    .flatpickr-day.today {
        border-color: var(--calendar-today-border-color, #FFB6C1);
    }
    
    .msps-product-content .buttons {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
        margin-top: 10px;
        width: 100%;
    }
    
    .buttons button {
        background-color: var(--button-background, #eee);
        color: var(--button-text-color, #333);
        border: none;
        cursor: pointer;
        transition: all 0.3s ease;
        border-radius: var(--button-border-radius, 4px);
        width: var(--button-size, 26px);
        height: var(--button-size, 26px);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: var(--button-font-size, 16px);
        font-weight: var(--button-font-weight, normal);
    }
    
    .msps-product-content .price {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        margin-top: auto;
        padding-top: 10px;
    }
    
    .msps-product-content .price-val {
        font-size: var(--price-font-size, 16px);
        font-weight: var(--price-font-weight, 600);
        color: var(--price-color, #333);
        font-family: var(--price-font-family);
    }