/*
Theme Name: Listeo Child
Theme URI: https://purethemes.net/
Description: Child theme for Listeo
Author: DIPANI
Template: listeo
Version: 1.0.2
Text Domain: listeo-child
*/

/* ==========================================================
   DIPANI – MODERNES EINZEL-LISTING
   Nur für öffentliche Listing-Detailseiten
========================================================== */

body.single-listing {
    --dipani-blue: #022D94;
    --dipani-blue-2: #1249c4;
    --dipani-blue-soft: #eef3ff;
    --dipani-red: #ef4444;
    --dipani-yellow: #ffb800;
    --dipani-text: #172033;
    --dipani-muted: #667085;
    --dipani-line: #e4e8f0;
    --dipani-surface: #ffffff;
    --dipani-page: #f7f9fc;
    --dipani-radius: 24px;
    --dipani-shadow: 0 18px 50px rgba(23, 32, 51, 0.08);

    background: var(--dipani-page) !important;
    color: var(--dipani-text);
}

body.single-listing .single-listing-page-titlebar {
    height: 28px !important;
    min-height: 28px !important;
    background: transparent !important;
}

body.single-listing .container:has(> .row.sticky-wrapper),
body.single-listing .single-listing-page-titlebar + .container {
    width: calc(100% - 48px) !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.single-listing .row.sticky-wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.single-listing .row.sticky-wrapper::before,
body.single-listing .row.sticky-wrapper::after {
    display: none !important;
}

/* ---------- Kopfbereich ---------- */
body.single-listing #titlebar.listing-titlebar {
    margin: 0 0 30px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.single-listing #titlebar.listing-titlebar:has(.listing-logo) {
    display: grid !important;
    grid-template-columns: minmax(0, 1.65fr) minmax(360px, 0.72fr) !important;
    gap: 32px !important;
    align-items: stretch !important;
}

body.single-listing #titlebar .listing-logo {
    float: none !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--dipani-surface) !important;
    border: 1px solid var(--dipani-line) !important;
    border-radius: var(--dipani-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--dipani-shadow) !important;
}

body.single-listing #titlebar .listing-logo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 540px !important;
    max-height: 680px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 0 !important;
}

body.single-listing #titlebar .listing-titlebar-title {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 34px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    background: var(--dipani-surface) !important;
    border: 1px solid var(--dipani-line) !important;
    border-radius: var(--dipani-radius) !important;
    box-shadow: var(--dipani-shadow) !important;
    box-sizing: border-box !important;
}

body.single-listing #titlebar.listing-titlebar:not(:has(.listing-logo)) .listing-titlebar-title {
    max-width: 100% !important;
}

body.single-listing #titlebar .listing-titlebar-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 20px !important;
}

body.single-listing #titlebar .listing-tag,
body.single-listing #titlebar .listing-pricing-tag {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 7px 12px !important;
    background: var(--dipani-blue-soft) !important;
    border: 1px solid #dbe5ff !important;
    border-radius: 999px !important;
    color: var(--dipani-blue) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body.single-listing #titlebar .listing-tag a,
body.single-listing #titlebar .listing-pricing-tag a {
    color: var(--dipani-blue) !important;
    text-decoration: none !important;
}

body.single-listing #titlebar h1 {
    margin: 0 0 16px !important;
    color: var(--dipani-text) !important;
    font-size: clamp(34px, 3vw, 52px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
}

body.single-listing #titlebar .listing-address {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
    color: var(--dipani-muted) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

body.single-listing #titlebar .listing-address i {
    color: var(--dipani-red) !important;
    font-size: 19px !important;
}

body.single-listing #titlebar .star-rating,
body.single-listing #titlebar .numerical-rating {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 42px !important;
    margin-top: 2px !important;
    padding: 9px 13px !important;
    background: #fff8e6 !important;
    border: 1px solid #ffe2a3 !important;
    border-radius: 999px !important;
}

body.single-listing #titlebar .star-rating::before,
body.single-listing #titlebar .star-rating span::before {
    color: var(--dipani-yellow) !important;
}

body.single-listing #titlebar .rating-counter,
body.single-listing #titlebar .rating-counter a {
    color: var(--dipani-text) !important;
    font-weight: 700 !important;
}

/* ---------- Desktop-Marktplatzaufbau ---------- */
@media (min-width: 1100px) {
    body.single-listing .row.sticky-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1.65fr) minmax(360px, 0.72fr) !important;
        gap: 32px !important;
        align-items: start !important;
    }

    body.single-listing .row.sticky-wrapper > .listeo-single-listing-content {
        display: contents !important;
    }

    body.single-listing .row.sticky-wrapper > .listeo-single-listing-content > #titlebar {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
    }

    body.single-listing .row.sticky-wrapper > .listeo-single-listing-content > .single-gallery,
    body.single-listing .row.sticky-wrapper > .listeo-single-listing-content > #listing-nav,
    body.single-listing .row.sticky-wrapper > .listeo-single-listing-content > .listing-section,
    body.single-listing .row.sticky-wrapper > .listeo-single-listing-content > [id^="listing-"] {
        grid-column: 1 !important;
    }

    body.single-listing .row.sticky-wrapper > .listeo-single-listing-sidebar {
        grid-column: 2 !important;
        grid-row: 2 / span 60 !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        position: sticky !important;
        top: 92px !important;
        align-self: start !important;
    }
}

/* ---------- Hauptbild bei normaler Galerie ---------- */
body.single-listing img.single-gallery {
    display: block !important;
    width: 100% !important;
    max-height: 700px !important;
    margin: 0 0 24px !important;
    object-fit: cover !important;
    object-position: center !important;
    border: 1px solid var(--dipani-line) !important;
    border-radius: var(--dipani-radius) !important;
    box-shadow: var(--dipani-shadow) !important;
}

body.single-listing .listing-slider,
body.single-listing .listing-slider-small,
body.single-listing .listing-gallery {
    border-radius: var(--dipani-radius) !important;
    overflow: hidden !important;
}

/* ---------- Navigation ---------- */
body.single-listing #listing-nav.listing-nav-container {
    margin: 0 0 24px !important;
    padding: 8px !important;
    background: var(--dipani-surface) !important;
    border: 1px solid var(--dipani-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 30px rgba(23, 32, 51, 0.05) !important;
    overflow-x: auto !important;
}

body.single-listing #listing-nav .listing-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
}

body.single-listing #listing-nav .listing-nav li {
    float: none !important;
    margin: 0 !important;
}

body.single-listing #listing-nav .listing-nav li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 10px 16px !important;
    border-radius: 12px !important;
    color: var(--dipani-muted) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border: 0 !important;
}

body.single-listing #listing-nav .listing-nav li a.active,
body.single-listing #listing-nav .listing-nav li a:hover {
    background: var(--dipani-blue) !important;
    color: #ffffff !important;
}

/* ---------- Inhaltskarten ---------- */
body.single-listing .listing-section {
    margin: 0 0 24px !important;
    padding: 30px !important;
    background: var(--dipani-surface) !important;
    border: 1px solid var(--dipani-line) !important;
    border-radius: var(--dipani-radius) !important;
    box-shadow: 0 12px 36px rgba(23, 32, 51, 0.055) !important;
    box-sizing: border-box !important;
}

body.single-listing .listing-section h2,
body.single-listing .listing-section h3,
body.single-listing .listing-section .listing-desc-headline {
    color: var(--dipani-text) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
}

body.single-listing .listing-section p,
body.single-listing .listing-section li {
    color: #465066 !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
}

body.single-listing .listing-features.checkboxes {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

body.single-listing .listing-features.checkboxes li {
    margin: 0 !important;
    padding: 14px 16px !important;
    background: var(--dipani-blue-soft) !important;
    border: 1px solid #dce6ff !important;
    border-radius: 14px !important;
}

body.single-listing .listing-features.checkboxes li::before {
    color: var(--dipani-blue) !important;
}

/* ---------- Rechte Anbieter- und Aktionsspalte ---------- */
body.single-listing .listeo-single-listing-sidebar .widget,
body.single-listing .listeo-single-listing-sidebar .listing-widget,
body.single-listing .listeo-single-listing-sidebar .boxed-widget,
body.single-listing .listeo-single-listing-sidebar .hosted-by,
body.single-listing .listeo-single-listing-sidebar .listing-share,
body.single-listing .listeo-single-listing-sidebar .sidebar-textbox {
    margin: 0 0 18px !important;
    padding: 24px !important;
    background: var(--dipani-surface) !important;
    border: 1px solid var(--dipani-line) !important;
    border-radius: 20px !important;
    box-shadow: 0 12px 34px rgba(23, 32, 51, 0.065) !important;
    box-sizing: border-box !important;
}

body.single-listing .listeo-single-listing-sidebar .hosted-by-title,
body.single-listing .listeo-single-listing-sidebar .hosted-by-title h4,
body.single-listing .listeo-single-listing-sidebar .hosted-by-title a {
    color: var(--dipani-text) !important;
}

body.single-listing .listeo-single-listing-sidebar .hosted-by-avatar img,
body.single-listing .listeo-single-listing-sidebar .avatar img {
    border: 3px solid #ffffff !important;
    box-shadow: 0 0 0 2px #dce6ff, 0 10px 24px rgba(2, 45, 148, 0.14) !important;
}

body.single-listing .listeo-single-listing-sidebar a.button,
body.single-listing .listeo-single-listing-sidebar button.button,
body.single-listing .listeo-single-listing-sidebar input[type="submit"],
body.single-listing .listeo-single-listing-sidebar .bookmark-button,
body.single-listing .listeo-single-listing-sidebar .send-message-to-owner {
    width: 100% !important;
    min-height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    margin: 10px 0 0 !important;
    padding: 13px 18px !important;
    background: var(--dipani-blue) !important;
    border: 1px solid var(--dipani-blue) !important;
    border-radius: 14px !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    box-shadow: 0 10px 24px rgba(2, 45, 148, 0.2) !important;
    transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease !important;
}

body.single-listing .listeo-single-listing-sidebar a.button:hover,
body.single-listing .listeo-single-listing-sidebar button.button:hover,
body.single-listing .listeo-single-listing-sidebar input[type="submit"]:hover,
body.single-listing .listeo-single-listing-sidebar .bookmark-button:hover,
body.single-listing .listeo-single-listing-sidebar .send-message-to-owner:hover {
    background: var(--dipani-blue-2) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 30px rgba(2, 45, 148, 0.24) !important;
}

body.single-listing .listing-share .social-icons,
body.single-listing .listing-share ul.social-icons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 !important;
}

body.single-listing .listing-share .social-icons li {
    margin: 0 !important;
}

body.single-listing .listing-share .social-icons li a {
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--dipani-blue-soft) !important;
    border: 1px solid #dce6ff !important;
    border-radius: 50% !important;
    color: var(--dipani-blue) !important;
}

/* ---------- Bewertungen ---------- */
body.single-listing #listing-reviews,
body.single-listing .listing-reviews {
    border-radius: var(--dipani-radius) !important;
}

body.single-listing .review-box,
body.single-listing .comments .comment-content,
body.single-listing .comment-list .comment-content {
    background: #fbfcff !important;
    border: 1px solid var(--dipani-line) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
}

body.single-listing .rating-bars-item .rating-bars-rating-inner {
    background: var(--dipani-blue) !important;
}

body.single-listing .star-rating::before,
body.single-listing .star-rating span::before {
    color: var(--dipani-yellow) !important;
}

body.single-listing .add-review-box,
body.single-listing #add-review {
    background: var(--dipani-surface) !important;
    border: 1px solid var(--dipani-line) !important;
    border-radius: var(--dipani-radius) !important;
}

/* ---------- Formulare ---------- */
body.single-listing input[type="text"],
body.single-listing input[type="email"],
body.single-listing input[type="tel"],
body.single-listing input[type="number"],
body.single-listing textarea,
body.single-listing select,
body.single-listing .select2-container--default .select2-selection--single {
    border: 1px solid #d8deea !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.single-listing input:focus,
body.single-listing textarea:focus,
body.single-listing select:focus {
    border-color: var(--dipani-blue) !important;
    box-shadow: 0 0 0 3px rgba(2, 45, 148, 0.1) !important;
}

/* ---------- Tablet ---------- */
@media (max-width: 1099px) {
    body.single-listing .container:has(> .row.sticky-wrapper),
    body.single-listing .single-listing-page-titlebar + .container {
        width: calc(100% - 30px) !important;
    }

    body.single-listing #titlebar.listing-titlebar:has(.listing-logo) {
        grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr) !important;
        gap: 22px !important;
    }

    body.single-listing #titlebar .listing-logo img {
        min-height: 440px !important;
    }

    body.single-listing .listeo-single-listing-sidebar {
        position: static !important;
    }
}

/* ---------- Smartphone ---------- */
@media (max-width: 767px) {
    body.single-listing .single-listing-page-titlebar {
        height: 14px !important;
        min-height: 14px !important;
    }

    body.single-listing .container:has(> .row.sticky-wrapper),
    body.single-listing .single-listing-page-titlebar + .container {
        width: calc(100% - 20px) !important;
    }

    body.single-listing #titlebar.listing-titlebar:has(.listing-logo) {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    body.single-listing #titlebar .listing-logo img {
        min-height: 300px !important;
        max-height: 380px !important;
    }

    body.single-listing #titlebar .listing-titlebar-title {
        padding: 22px !important;
        border-radius: 18px !important;
    }

    body.single-listing #titlebar h1 {
        font-size: 34px !important;
    }

    body.single-listing .listing-section {
        padding: 22px !important;
        border-radius: 18px !important;
    }

    body.single-listing .listing-features.checkboxes {
        grid-template-columns: 1fr !important;
    }

    body.single-listing .listeo-single-listing-sidebar .widget,
    body.single-listing .listeo-single-listing-sidebar .listing-widget,
    body.single-listing .listeo-single-listing-sidebar .boxed-widget,
    body.single-listing .listeo-single-listing-sidebar .hosted-by,
    body.single-listing .listeo-single-listing-sidebar .listing-share,
    body.single-listing .listeo-single-listing-sidebar .sidebar-textbox {
        padding: 20px !important;
        border-radius: 18px !important;
    }
}

/* ==========================================================
   DIPANI – KORREKTUR DES OBEREN LISTING-BEREICHS
   Entfernt unnötige Leerfläche und ordnet die Bewertung sauber.
========================================================== */

@media (min-width: 768px) {
    body.single-listing #titlebar.listing-titlebar:has(.listing-logo) {
        align-items: start !important;
    }

    body.single-listing #titlebar .listing-titlebar-title {
        align-self: start !important;
        height: auto !important;
        min-height: 0 !important;
        justify-content: flex-start !important;
        padding-top: 38px !important;
        padding-bottom: 38px !important;
    }
}

/* Bewertung: zuerst Sterne, danach Zahl und Bewertungslink */
body.single-listing #titlebar .star-rating {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    direction: ltr !important;
    float: none !important;
    width: auto !important;
}

body.single-listing #titlebar .star-rating > span,
body.single-listing #titlebar .star-rating::before {
    order: 1 !important;
    flex: 0 0 auto !important;
}

body.single-listing #titlebar .rating-counter {
    order: 2 !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

body.single-listing #titlebar .rating-counter a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    text-decoration: none !important;
}

/* Rechte Spalte kompakter und ohne künstliche Mindesthöhe */
body.single-listing .listeo-single-listing-sidebar,
body.single-listing .listeo-single-listing-sidebar .widget,
body.single-listing .listeo-single-listing-sidebar .listing-widget,
body.single-listing .listeo-single-listing-sidebar .boxed-widget,
body.single-listing .listeo-single-listing-sidebar .hosted-by,
body.single-listing .listeo-single-listing-sidebar .sidebar-textbox {
    min-height: 0 !important;
    height: auto !important;
}

/* Titelkarte auf kleinen Geräten natürlich wachsen lassen */
@media (max-width: 767px) {
    body.single-listing #titlebar .listing-titlebar-title {
        height: auto !important;
        min-height: 0 !important;
        justify-content: flex-start !important;
    }

    body.single-listing #titlebar .star-rating {
        flex-wrap: wrap !important;
    }
}
/* =====================================================
   DIPANI – Abstand zwischen Beschreibung und ALLEN Feldern
   ===================================================== */

body.single-listing #dc-description > .dc-copy + .dc-copy {
    margin-top: 35px !important;
}

@media (max-width: 767px) {
    body.single-listing #dc-description > .dc-copy + .dc-copy {
        margin-top: 26px !important;
    }
}
/* =====================================================
   DIPANI – Favoritenbutton bleibt nach Speichern rund
   ===================================================== */

body.single-listing .dipani-listing-gallery-actions .like-button {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;

    padding: 0 !important;
    overflow: hidden !important;

    font-size: 0 !important;
    white-space: nowrap !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Texte wie „Favorit“, „Gespeichert“ oder
   „Lesezeichen gesetzt!“ niemals im runden Button anzeigen */
body.single-listing
.dipani-listing-gallery-actions
.like-button
.bookmark-btn-title {
    display: none !important;
}

/* Herz/Icon weiterhin normal anzeigen */
body.single-listing
.dipani-listing-gallery-actions
.like-button
.like-icon {
    display: block !important;
    font-size: initial !important;
}
/* =====================================================
   DIPANI – FAVORITENSTATUS
   Nicht gespeichert = volles rotes Herz
   Gespeichert       = rotes Herz als Kontur
   ===================================================== */

body.single-listing .dc-media-tools .like-button {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    padding: 0 !important;
    margin: 0 !important;

    position: relative !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: rgba(255,255,255,.96) !important;
    border-radius: 50% !important;

    overflow: hidden !important;
}


/* Text wie Favorit / Gespeichert ausblenden */
body.single-listing .dc-media-tools .bookmark-btn-title {
    display: none !important;
}


/* Herz sauber zentrieren */
body.single-listing .dc-media-tools .like-icon {
    position: absolute !important;
    inset: 0 !important;

    width: 44px !important;
    height: 44px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 1 !important;
}


/* =====================================================
   NICHT GESPEICHERT
   volles rotes Herz
   ===================================================== */

body.single-listing .dc-media-tools .like-button:not(.liked) .like-icon::before {
    content: "\f004" !important;
    font-family: "FontAwesome" !important;
    font-size: 19px !important;
    font-weight: normal !important;
    color: var(--dc-red, #ff1744) !important;
}


/* =====================================================
   GESPEICHERT
   rotes Herz nur als Kontur
   ===================================================== */

body.single-listing .dc-media-tools .like-button.liked .like-icon::before,
body.single-listing .dc-media-tools .like-button .like-icon.liked::before {
    content: "\f08a" !important;
    font-family: "FontAwesome" !important;
    font-size: 20px !important;
    font-weight: normal !important;
    color: var(--dc-red, #ff1744) !important;
}


/* Kein zusätzliches Theme-Symbol */
body.single-listing .dc-media-tools .like-icon::after {
    display: none !important;
    content: none !important;
}


/* Smartphone */
@media (max-width: 680px) {

    body.single-listing .dc-media-tools .like-button,
    body.single-listing .dc-media-tools .like-icon {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;

        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
    }
}
/* =====================================================
   DIPANI – FAVORITENHERZ FINAL
   Nicht gespeichert = voll rot
   Gespeichert        = rote Kontur, innen weiß
   Farbe              = #E30613
   ===================================================== */

body.single-listing .dc-media-tools .like-button {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 50% !important;
    background: rgba(255,255,255,.96) !important;
    overflow: hidden !important;

    font-size: 0 !important;
}

/* Listeo eigenes Herz und Texte komplett verstecken */
body.single-listing .dc-media-tools .like-button .like-icon,
body.single-listing .dc-media-tools .like-button .like-icon::before,
body.single-listing .dc-media-tools .like-button .like-icon::after,
body.single-listing .dc-media-tools .like-button .bookmark-btn-title {
    display: none !important;
}


/* =====================================================
   NICHT GESPEICHERT = VOLLES ROTES HERZ
   ===================================================== */

body.single-listing .dc-media-tools .like-button::after {
    content: "" !important;

    width: 23px !important;
    height: 23px !important;

    display: block !important;

    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23E30613' d='M12 21s-7.1-4.4-9.5-8.1C.1 9.3 1.9 5 6.1 5c2.4 0 4 1.5 5.9 3.6C13.9 6.5 15.5 5 17.9 5c4.2 0 6 4.3 3.6 7.9C19.1 16.6 12 21 12 21z'/%3E%3C/svg%3E") !important;
}


/* =====================================================
   GESPEICHERT = ROTE HERZKONTUR
   innen weiß / transparent
   ===================================================== */

body.single-listing .dc-media-tools .like-button.liked::after,
body.single-listing .dc-media-tools .like-button.save::after,
body.single-listing .dc-media-tools .like-button:has(.like-icon.liked)::after {
    width: 24px !important;
    height: 24px !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23E30613' stroke-width='2.2' stroke-linejoin='round' d='M12 21s-7.1-4.4-9.5-8.1C.1 9.3 1.9 5 6.1 5c2.4 0 4 1.5 5.9 3.6C13.9 6.5 15.5 5 17.9 5c4.2 0 6 4.3 3.6 7.9C19.1 16.6 12 21 12 21z'/%3E%3C/svg%3E") !important;
}


/* Smartphone */
@media (max-width: 680px) {
    body.single-listing .dc-media-tools .like-button {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
    }
}

/**
 * =========================================================
 * DIPANI – DOKAN ORIGINAL RESTORE – STEP 5
 * Restore Dokan 5.1.2's classic Orders control sizing only.
 * Rollback: remove this complete marked block.
 * =========================================================
 */

/* Restore Dokan's inherited control typography on Orders only. */
body.page-id-6438 .dokan-orders-content button,
body.page-id-6438 .dokan-orders-content input,
body.page-id-6438 .dokan-orders-content select,
body.page-id-6438 .dokan-orders-content a.dokan-btn,
body.page-id-6438 .dokan-orders-content .select2-container,
body.page-id-6438 .dokan-orders-content .select2-selection {
    font-family: inherit;
}

/* Restore the original classic Dokan form-control values. */
body.page-id-6438 .dokan-orders-content .dokan-form-control {
    font-size: 14px;
    font-weight: inherit;
    line-height: 20px;
    padding: 4px 6px;
}

/* Remove Listeo's global 51px input height from classic Dokan buttons. */
body.page-id-6438 .dokan-orders-content .dokan-btn {
    height: auto;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.42857;
    padding: 6px 12px;
}

/* Dokan 5.1.2 sets every control in the Orders filter row to 35px. */
body.page-id-6438 .dokan-orders-content .dokan-orders-area .dokan-order-filter-serach .dokan-left .dokan-form-group button,
body.page-id-6438 .dokan-orders-content .dokan-orders-area .dokan-order-filter-serach .dokan-left .dokan-form-group a,
body.page-id-6438 .dokan-orders-content .dokan-orders-area .dokan-order-filter-serach .dokan-left .dokan-form-group input,
body.page-id-6438 .dokan-orders-content .dokan-orders-area .dokan-order-filter-serach .dokan-left .dokan-form-group select,
body.page-id-6438 .dokan-orders-content .dokan-orders-area .dokan-order-filter-serach .dokan-left .dokan-form-group .select2-container,
body.page-id-6438 .dokan-orders-content .dokan-orders-area .dokan-order-filter-serach .dokan-left .dokan-form-group .select2-selection--single {
    height: 35px !important;
}
	