/* --- 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}
.ape-plugin-wrapper .description{margin:6px 0 0;color:#667085;font-size:13px;line-height:1.35}
.ape-plugin-wrapper .ape-description-only-notice{margin:0 0 18px;padding:12px 14px;border-left:4px solid #8c9459;background:#f2f4ea;color:#31381f;border-radius:4px}
.ape-plugin-wrapper .ape-booking-mode-toggle{padding:14px;border:1px solid #d8dec8;background:#f5f7ef;border-radius:6px}
.ape-plugin-wrapper .ape-booking-mode-toggle input[type="checkbox"]{width:auto;margin-right:8px}
.ape-plugin-wrapper .ape-booking-only-field.is-disabled{position:relative;padding:12px;border:1px dashed #c7c7c7;border-radius:6px;background:#f1f3f4;color:#6f7479}
.ape-plugin-wrapper .ape-booking-only-field.is-disabled label{color:#60666c}
.ape-plugin-wrapper .ape-booking-only-field.is-disabled input:not([type="hidden"]),
.ape-plugin-wrapper .ape-booking-only-field.is-disabled select,
.ape-plugin-wrapper .ape-booking-only-field.is-disabled textarea{background:#e7eaed!important;color:#777!important;border-color:#c7cbd1!important;cursor:not-allowed}
.ape-plugin-wrapper .ape-booking-only-field.is-disabled::after{content:"Nicht im neuen Frontend angezeigt";display:inline-block;margin-top:6px;padding:3px 7px;background:#dfe3e7;color:#4b5560;border-radius:4px;font-size:12px;font-weight:600}

/* --- 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 */
}

/* --- Public provider profile pages --- */
.ape-provider-public-profile {
    max-width: 980px;
    margin: 0 auto;
    color: var(--nv-text-color, #26372b);
}

.ape-provider-public-header {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 32px;
}

.ape-provider-public-image {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #8C9459;
    flex: 0 0 auto;
}

.ape-provider-public-heading h2 {
    margin: 0 0 8px;
}

.ape-provider-public-expertise {
    margin: 0 0 16px;
    font-size: 18px;
}

.ape-provider-public-url {
    display: block;
    margin: 0 0 14px;
    color: #646239;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.ape-provider-website-button,
.ape-provider-email-button {
    display: inline-block;
    padding: 9px 16px;
    border-radius: 4px;
    background: #8C9459;
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
}

.ape-provider-website-button:hover,
.ape-provider-email-button:hover {
    background: #7a8150;
}

.ape-provider-inquiry-notice {
    margin: 0 0 22px;
    padding: 12px 14px;
    border-radius: 4px;
    font-weight: 700;
}

.ape-provider-inquiry-notice-success {
    border: 1px solid #b8d7b8;
    background: #eef8ee;
    color: #245b2a;
}

.ape-provider-inquiry-notice-error {
    border: 1px solid #e2b8b8;
    background: #fff1f1;
    color: #7a2424;
}

.ape-provider-public-section {
    margin: 32px 0;
}

.ape-provider-public-section h3 {
    margin: 0 0 14px;
}

.ape-provider-public-description > :first-child {
    margin-top: 0;
}

.ape-provider-booking-note {
    padding: 18px;
    border: 1px solid #deded2;
    border-radius: 4px;
    background: #f7f7f2;
}

.ape-provider-services-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
}

.ape-provider-service-card {
    overflow: hidden;
    border: 1px solid #ececec;
    border-radius: 4px;
    background: #fff;
}

.ape-provider-service-image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.ape-provider-service-content {
    padding: 16px;
}

.ape-provider-service-content h4 {
    margin: 0 0 10px;
    font-size: 18px;
}

.ape-provider-service-description,
.ape-provider-service-description p {
    margin: 0;
}

.ape-provider-service-toggle {
    display: block;
    margin-top: 10px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #646239;
    cursor: pointer;
    font-weight: 700;
    text-align: left;
    text-decoration: underline;
}

.ape-provider-service-toggle:hover {
    color: #7a8150;
}

.ape-provider-service-booking-link {
    display: inline-block;
    margin-top: 12px;
    color: #646239;
    font-weight: 700;
}

.ape-provider-service-inquiry {
    margin-top: 14px;
    border-top: 1px solid #ececec;
    padding-top: 12px;
}

.ape-provider-service-inquiry-open,
.ape-provider-service-inquiry-submit {
    padding: 9px 14px;
    border: 0;
    border-radius: 4px;
    background: #8C9459;
    color: #fff;
    cursor: pointer;
    font-weight: 700;
}

.ape-provider-service-inquiry-open:hover,
.ape-provider-service-inquiry-submit:hover {
    background: #7a8150;
}

.ape-provider-service-inquiry-dialog {
    width: min(620px, calc(100vw - 32px));
    max-height: min(86vh, 760px);
    border: 0;
    border-radius: 8px;
    padding: 0;
    background: #fff;
    box-shadow: 0 20px 60px rgba(20, 28, 22, 0.28);
    color: #26372b;
}

.ape-provider-service-inquiry-dialog::backdrop {
    background: rgba(24, 34, 28, 0.58);
}

.ape-provider-service-inquiry-panel {
    box-sizing: border-box;
    max-height: min(86vh, 760px);
    overflow-y: auto;
    padding: 22px;
}

.ape-provider-service-inquiry-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.ape-provider-service-inquiry-header h5 {
    margin: 0;
    color: #26372b;
    font-size: 20px;
    line-height: 1.3;
}

.ape-provider-service-inquiry-close {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 4px;
    background: #f1f1e8;
    color: #26372b;
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
}

.ape-provider-service-inquiry-close:hover {
    background: #e5e5d8;
}

.ape-provider-service-inquiry-form label {
    display: block;
    margin: 10px 0 4px;
    font-weight: 700;
}

.ape-provider-service-inquiry-form input,
.ape-provider-service-inquiry-form textarea {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #d6d6ca;
    border-radius: 4px;
    padding: 9px 10px;
    background: #fff;
}

.ape-provider-service-inquiry-form textarea {
    min-height: 160px;
    resize: vertical;
}

.ape-provider-service-inquiry-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 14px;
}

.ape-provider-service-email-link {
    display: inline-block;
    color: #646239;
    font-weight: 700;
}

.ape-provider-inquiry-hp {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 640px) {
    .ape-provider-public-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .ape-provider-service-email-link {
        display: block;
    }

    .ape-provider-service-inquiry-dialog {
        width: calc(100vw - 20px);
        max-height: calc(100vh - 20px);
    }

    .ape-provider-service-inquiry-panel {
        max-height: calc(100vh - 20px);
        padding: 18px;
    }

    .ape-provider-service-inquiry-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ape-provider-service-inquiry-submit,
    .ape-provider-service-email-link {
        text-align: center;
    }
}

/* --- 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;
}
.ape-plugin-wrapper .ape-richtext-fallback {
    width: 100%;
    min-height: 160px;
    padding: 10px;
    border: 1px solid #cfd4dc;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
    font: inherit;
    line-height: 1.5;
}

/* --- 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;
}
