/* --- General Form & Notice Styling --- */
.ape-plugin-wrapper .notice{padding:15px;margin-bottom:20px;border-radius:5px}
.ape-plugin-wrapper .notice.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}
.ape-plugin-wrapper .notice.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}
.ape-plugin-wrapper .form-group{margin-bottom:20px}
.ape-plugin-wrapper .form-group label{display:block;margin-top:10px;font-weight:700}

/* --- Custom Service Form Styling --- */
.ape-plugin-wrapper .custom-service-form{max-width:600px;margin:20px auto;padding:20px;background-color:#f9f9f9;border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,.1)}
.ape-plugin-wrapper .custom-service-form button,.ape-plugin-wrapper .custom-service-form input,.ape-plugin-wrapper .custom-service-form select,.ape-plugin-wrapper .custom-service-form textarea{width:100%;padding:8px;margin-top:5px;border:1px solid #ccc;border-radius:5px;box-sizing:border-box}
.ape-plugin-wrapper .custom-service-form button{background-color:#4caf50;color:#fff;font-size:16px;cursor:pointer}
.ape-plugin-wrapper .custom-service-form button:hover{background-color:#45a049}
.ape-plugin-wrapper .custom-service-form #delete_button{background-color:#f44336;margin-top:10px}
.ape-plugin-wrapper .capacity-fields{display:flex;gap:20px}
.ape-plugin-wrapper .capacity-column{flex:1}
.ape-plugin-wrapper .form-group #resources{max-height:110px}
.ape-plugin-wrapper select:disabled{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#e9ecef;color:#6c757d;cursor:not-allowed;border:1px solid #ced4da}

/* --- Service Image Form Styling --- */
.ape-plugin-wrapper .service-image-form{max-width:600px;margin:20px auto;padding:20px;background-color:#f9f9f9;border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,.1)}
.ape-plugin-wrapper .service-image-form .form-group{margin-bottom:20px}
.ape-plugin-wrapper .service-image-form select,.ape-plugin-wrapper .service-image-form input[type="file"]{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}
.ape-plugin-wrapper .service-image-form button[type="submit"]{background-color:#28a745 !important;color:white;font-weight:bold;border:none;padding:10px 15px;border-radius:4px;cursor:pointer;transition:background-color .3s;width:100%}
.ape-plugin-wrapper .service-image-form button[type="submit"]:hover{background-color:#218838 !important}

/* --- Provider Info & Category Form Styling --- */
.ape-plugin-wrapper .provider-info,
.ape-plugin-wrapper .provider-category {
    max-width: 600px;
    margin: 20px auto;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,.1);
}
.ape-plugin-wrapper .provider-info h2,.ape-plugin-wrapper .provider-category h2{margin-top:0}
.ape-plugin-wrapper .provider-info form,.ape-plugin-wrapper .provider-category form{margin-top:25px}
.ape-plugin-wrapper .provider-info input[type="text"],.ape-plugin-wrapper .provider-info input[type="url"],.ape-plugin-wrapper .provider-info input[type="color"],.ape-plugin-wrapper .provider-info select,.ape-plugin-wrapper .provider-info textarea,.ape-plugin-wrapper .provider-category input[type="text"],.ape-plugin-wrapper .provider-category input[type="url"],.ape-plugin-wrapper .provider-category input[type="color"],.ape-plugin-wrapper .provider-category select,.ape-plugin-wrapper .provider-category textarea{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}
.ape-plugin-wrapper .provider-info textarea,.ape-plugin-wrapper .provider-category textarea{min-height:120px;resize:vertical}
.ape-plugin-wrapper .radio-group label{display:block;margin-bottom:8px;font-weight:normal}
.ape-plugin-wrapper .radio-group input[type="radio"]{width:auto;margin-right:10px;vertical-align:middle}

/* Einheitliche Button-Styles für alle Formulare */
.ape-plugin-wrapper .provider-info button[type="submit"],
.ape-plugin-wrapper .provider-category button[type="submit"] {
    background-color: #4caf50 !important;
    color: #fff !important;
    font-size: 16px !important;
    cursor: pointer;
    border: none !important;
    padding: 10px 15px !important;
    font-weight: bold !important;
    border-radius: 4px !important;
    transition: background-color 0.3s;
    width: 100% !important;
}

.ape-plugin-wrapper .provider-info button[type="submit"]:hover,
.ape-plugin-wrapper .provider-category button[type="submit"]:hover {
    background-color: #45a049 !important;
}

/* --- Provider List & Carousel Styles --- */
.ape-plugin-wrapper .provider-list a {
    text-decoration: none; /* Keine Unterstreichung */
}
.ape-plugin-wrapper .provider-list .provider-entry {
    padding: 3px 0; /* Weniger Zeilenabstand für kompakteres Layout */
    font-size: 16px; /* Statt 14px - etwas größer */
}
.ape-plugin-wrapper .provider-list .expertise-text {
    display: inline-block;
    max-width: 72%; /* Optimale Breite für die Expertise */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}
.ape-plugin-wrapper .provider-list .book-link{margin-left:10px}
/* Karussell Anpassungen */
#providers-carousel .item {
    padding: 30px 0; /* Wieder oben und unten 30px wie ursprünglich */
}
#providers-carousel .item .shadow-effect {
    background: #fff;
    padding: 20px; /* Ursprüngliches padding von allen Seiten */
    border-radius: 4px;
    text-align: center;
    border: 1px solid #ececec;
    transition: all .3s ease;
}
#providers-carousel .item .shadow-effect:hover{box-shadow:0 0 10px 0 #a2a2a2}
#providers-carousel .item .img-circle {
    height: 100px;
    width: 100px;
    border: 3px solid #8C9459; /* Olivgrün statt Theme-Farbe */
    margin: 0 auto;
    border-radius: 50%;
    object-fit: cover;
}
#providers-carousel .item .testimonial-name{margin-top:15px;text-align:center}
#providers-carousel .shadow-effect .provider-name,
#providers-carousel .shadow-effect h4 {
    padding-top: 0 !important; /* Theme padding-top überschreiben */
    margin: 10px 0 10px; /* Nur normaler margin */
    font-size: 18px;
}
#providers-carousel .shadow-effect .book-button {
    display: inline-block;
    padding: 5px 15px;
    background-color: #8C9459; /* Olivgrün */
    color: white;
    text-decoration: none;
    border-radius: 4px;
    font-size: 14px;
    margin-top: 10px;
}
#providers-carousel .shadow-effect .book-button:hover {
    background-color: #7a8150; /* Etwas dunkler beim Hover */
}

/* --- Allgemeine Amelia Overrides --- */
.amelia-app-booking #amelia-booking-wrap .am-step-booking-catalog .am-form-catalogForm-packageSetupForm.am-select-date *{color:#000!important}
#am-cabinet>div.am-cabinet-dashboard>div.am-cabinet-content>span>div.am-cabinet-dashboard-appointments>span>div>div.am-cabinet-filter.el-row>div.el-col.el-col-24.el-col-xs-24.el-col-sm-24.el-col-md-6.el-col-lg-5{display:none!important}

/* --- ✅ HINZUGEFÜGT: Quill.js Formatting Fixes --- */
/* Quill Editor - Force proper bold weight */
.ape-plugin-wrapper #quill-editor-container strong,
.ape-plugin-wrapper #quill-editor-container b,
.ape-plugin-wrapper .ql-editor strong,
.ape-plugin-wrapper .ql-editor b {
    font-weight: 700 !important; /* Richtiges Bold, nicht 500 */
}

/* Auch für die Vorschau in der Service-Beschreibung */
.ape-plugin-wrapper .service-description strong,
.ape-plugin-wrapper .service-description b {
    font-weight: 700 !important;
}

/* Überschreibe Theme Media Query */
@media (min-width: 980px) {
    .ape-plugin-wrapper strong,
    .ape-plugin-wrapper b {
        font-weight: 700 !important;
    }
}

.ape-plugin-wrapper #quill-editor-container em,
.ape-plugin-wrapper #quill-editor-container i {
    font-style: italic !important;  
}
.ape-plugin-wrapper #quill-editor-container u {
    text-decoration: underline !important;
}
.ape-plugin-wrapper .ql-toolbar .ql-active {
    color: #06c !important;
}

/* Quill Editor klickbar machen */
.ape-plugin-wrapper #quill-editor .ql-editor,
.ape-plugin-wrapper #provider-quill-editor .ql-editor {
    min-height: 120px;
    cursor: text;
}

/* --- Billing Dashboard Styles --- */
.ape-plugin-wrapper .ape-dashboard .appointment-summary-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.ape-plugin-wrapper .ape-dashboard .appointment-summary-card h4 {
    margin: 0 0 15px 0;
    color: #333;
}

.ape-plugin-wrapper .ape-dashboard .details {
    margin-bottom: 15px;
    color: #666;
}

.ape-plugin-wrapper .ape-dashboard .breakdown {
    display: flex;
    gap: 30px;
    margin-bottom: 15px;
    font-size: 14px;
}

.ape-plugin-wrapper .ape-dashboard .breakdown .stripe {
    color: #28a745;
}

.ape-plugin-wrapper .ape-dashboard .breakdown .onsite {
    color: #ffc107;
}

.ape-plugin-wrapper .ape-dashboard .owed {
    padding-top: 15px;
    border-top: 1px solid #eee;
    font-size: 16px;
    color: #dc3545;
}