/*
Theme Name: Cleanfin Child
Theme URI: https://realestate-advisory.de
Description: Child theme for Cleanfin customizations.
Author: RE Advisory
Template: cleanfin
Version: 1.0.0
Text Domain: cleanfin-child
*/

/* Meta separator: use square instead of round dot */
.pbmit-meta-category::after,
.pbmit-meta-category:after {
    content: '' !important;
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 0 !important;
    background-color: currentColor;
}

/* Override default circular separator in meta line */
.pbmit-meta-line > *:not(:last-child)::after,
.pbmit-meta-line > *:not(:last-child):after {
    border-radius: 0 !important;
}

/* Hard-fix meta separator as square */
.pbmit-meta-line > *:not(:last-child)::after,
.pbmit-meta-line > *:not(:last-child):after {
    content: '' !important;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 7px !important;
    height: 7px !important;
    border-radius: 0 !important;
    background-color: var(--pbmit-cleanfin-global-color) !important;
    transform: translateX(0%) translateY(-50%) !important;
}

/* Disable all hover effects on the arrow icon */
.pbmit-svg-btn .btn-arrow .pbmit-svg-arrow,
.pbmit-svg-btn .btn-arrow:hover .pbmit-svg-arrow,
.pbmit-svg-btn .btn-arrow:focus .pbmit-svg-arrow,
.pbmit-svg-btn .btn-arrow:active .pbmit-svg-arrow {
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

.pbmit-svg-btn .btn-arrow .pbmit-svg-arrow line,
.pbmit-svg-btn .btn-arrow:hover .pbmit-svg-arrow line,
.pbmit-svg-btn .btn-arrow:focus .pbmit-svg-arrow line,
.pbmit-svg-btn .btn-arrow:active .pbmit-svg-arrow line {
    transform: none !important;
    transition: none !important;
    animation: none !important;
    stroke-dasharray: none !important;
    stroke-dashoffset: 0 !important;
}

/* Insights listing: 2-column card layout */
.blog .pbmit-blog-classic,
.home .pbmit-blog-classic {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}

.blog .pbmit-blog-classic > .pbmit-featured-img-wrapper,
.home .pbmit-blog-classic > .pbmit-featured-img-wrapper {
    flex: 0 0 324px;
    width: 324px;
}

.blog .pbmit-blog-classic > .pbmit-featured-img-wrapper .pbmit-featured-wrapper,
.home .pbmit-blog-classic > .pbmit-featured-img-wrapper .pbmit-featured-wrapper {
    width: 324px;
    height: 230px;
    overflow: hidden;
}

.blog .pbmit-blog-classic > .pbmit-featured-img-wrapper img,
.home .pbmit-blog-classic > .pbmit-featured-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog .pbmit-blog-classic .pbmit-blog-classic-inner,
.home .pbmit-blog-classic .pbmit-blog-classic-inner {
    flex: 1 1 auto;
    min-width: 0;
}

.blog .pbmit-blog-meta-top,
.home .pbmit-blog-meta-top {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

@media (max-width: 900px) {
    .blog .pbmit-blog-classic,
    .home .pbmit-blog-classic {
        display: block;
    }

    .blog .pbmit-blog-classic > .pbmit-featured-img-wrapper,
    .home .pbmit-blog-classic > .pbmit-featured-img-wrapper,
    .blog .pbmit-blog-classic > .pbmit-featured-img-wrapper .pbmit-featured-wrapper,
    .home .pbmit-blog-classic > .pbmit-featured-img-wrapper .pbmit-featured-wrapper {
        width: 100%;
        height: auto;
        margin-bottom: 16px;
    }
}

/* Force two-column layout for classic post cards */
.pbmit-blog-classic {
    display: flex !important;
    align-items: flex-start !important;
    gap: 24px !important;
}

.pbmit-blog-classic > .pbmit-featured-img-wrapper {
    flex: 0 0 324px !important;
    width: 324px !important;
}

.pbmit-blog-classic > .pbmit-featured-img-wrapper .pbmit-featured-wrapper {
    width: 324px !important;
    height: 230px !important;
    overflow: hidden !important;
}

.pbmit-blog-classic > .pbmit-featured-img-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.pbmit-blog-classic .pbmit-blog-classic-inner {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

@media (max-width: 900px) {
    .pbmit-blog-classic {
        display: block !important;
    }

    .pbmit-blog-classic > .pbmit-featured-img-wrapper,
    .pbmit-blog-classic > .pbmit-featured-img-wrapper .pbmit-featured-wrapper {
        width: 100% !important;
        height: auto !important;
        margin-bottom: 16px !important;
    }
}

/* Insights classic title typography */
.pbmit-blog-classic .pbmit-post-title {
    margin-bottom: 0 !important;
    font-size: 30px !important;
    line-height: 40px !important;
    font-weight: 500 !important;
}

/* Single article view: force one-column layout and no image column */
.single-post .pbmit-blog-classic {
    display: block !important;
}

.single-post .pbmit-blog-classic > .pbmit-featured-img-wrapper {
    display: none !important;
}

.single-post .pbmit-blog-classic .pbmit-blog-classic-inner {
    width: 100% !important;
    max-width: 100% !important;
}

/* Small thumbnails in single post prev/next navigation */
.single-post .post-navigation .pbmit-post-nav-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.single-post .post-navigation .rea-post-nav-thumb {
    display: inline-flex;
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    border-radius: 6px;
    overflow: hidden;
}

.single-post .post-navigation .rea-post-nav-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Single post nav layout refinement */
.single-post .post-navigation .nav-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.single-post .post-navigation .nav-previous,
.single-post .post-navigation .nav-next {
    min-width: 0;
}

.single-post .post-navigation .nav-links > div > a {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px 14px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    background: #fff;
}

.single-post .post-navigation .pbmit-post-nav-icon {
    display: flex;
    align-items: center;
    gap: 8px;
}

.single-post .post-navigation .pbmit-post-nav-head {
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.single-post .post-navigation .pbmit-post-nav-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.single-post .post-navigation .rea-post-nav-thumb {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
}

.single-post .post-navigation .pbmit-post-nav.nav-title {
    display: block;
    font-size: 15px;
    line-height: 22px;
    font-weight: 500;
}

@media (max-width: 991px) {
    .single-post .post-navigation .nav-links {
        grid-template-columns: 1fr;
    }
}

/* Date line under nav thumbnail */
.single-post .post-navigation .rea-post-nav-date {
    display: block;
    font-size: 12px;
    line-height: 18px;
    color: rgba(0, 0, 0, 0.62);
    margin-top: 2px;
}

/* Single post nav: square corners */
.single-post .post-navigation .nav-links > div > a,
.single-post .post-navigation .rea-post-nav-thumb,
.single-post .post-navigation .rea-post-nav-thumb-img {
    border-radius: 0 !important;
}

/* Mega menu: white on transparent header, dark on sticky (white) header */
.mega-menu-wrap .mega-menu > li.mega-menu-item > a.mega-menu-link,
.mega-menu-wrap .mega-menu > li.mega-menu-item > a.mega-menu-link:visited,
.mega-menu-wrap .mega-menu > li.mega-menu-item > a.mega-menu-link:hover,
.mega-menu-wrap .mega-menu > li.mega-menu-item > a.mega-menu-link:focus,
.mega-menu-wrap .mega-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
.mega-menu-wrap .mega-menu > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link {
    color: #ffffff !important;
}

.pbmit-sticky-header .mega-menu-wrap .mega-menu > li.mega-menu-item > a.mega-menu-link,
.pbmit-sticky-header .mega-menu-wrap .mega-menu > li.mega-menu-item > a.mega-menu-link:visited,
.pbmit-sticky-header .mega-menu-wrap .mega-menu > li.mega-menu-item > a.mega-menu-link:hover,
.pbmit-sticky-header .mega-menu-wrap .mega-menu > li.mega-menu-item > a.mega-menu-link:focus,
.pbmit-sticky-header .mega-menu-wrap .mega-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
.pbmit-sticky-header .mega-menu-wrap .mega-menu > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link {
    color: #0f1720 !important;
}

/* Contact form block under single posts */
.rea-single-post-form {
    margin-top: 26px;
    margin-bottom: 26px;
}

/* STRATON about-author block (AGILE-style) */
.about-author.rea-about-author-box {
    display: flex;
    gap: 22px;
    padding: 24px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 0;
    margin-top: 28px;
    margin-bottom: 18px;
}

.about-author.rea-about-author-box .author-photo {
    margin: 0;
    flex: 0 0 auto;
}

.about-author.rea-about-author-box .author-photo img,
.about-author.rea-about-author-box .author-photo .rea-author-logo {
    width: 80px;
    height: auto;
    max-width: 80px;
    object-fit: contain;
    border-radius: 0;
    display: block;
}

.about-author.rea-about-author-box .author-content {
    flex: 1 1 auto;
    min-width: 0;
}

.about-author.rea-about-author-box .author-top-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.about-author.rea-about-author-box .box-name {
    margin: 0;
    font-size: 24px;
    line-height: 30px;
    font-weight: 600;
}

.about-author.rea-about-author-box .company-description p {
    margin-bottom: 14px;
}

.about-author.rea-about-author-box .company-description .wpcf7 {
    margin-top: 22px;
}

.about-author.rea-about-author-box .soc_icon-linkedin {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 0, 0, 0.25);
    color: #1f2933;
    text-decoration: none;
}

.about-author.rea-about-author-box .soc_icon-linkedin:hover,
.about-author.rea-about-author-box .soc_icon-linkedin:focus {
    color: #0f1720;
    border-color: rgba(0, 0, 0, 0.45);
}

.about-author.rea-about-author-box .soc_icon-linkedin .line-top-left,
.about-author.rea-about-author-box .soc_icon-linkedin .line-top-center,
.about-author.rea-about-author-box .soc_icon-linkedin .line-top-right,
.about-author.rea-about-author-box .soc_icon-linkedin .line-bottom-left,
.about-author.rea-about-author-box .soc_icon-linkedin .line-bottom-center,
.about-author.rea-about-author-box .soc_icon-linkedin .line-bottom-right {
    display: none;
}

@media (max-width: 767px) {
    .about-author.rea-about-author-box {
        display: block;
    }

    .about-author.rea-about-author-box .author-photo {
        margin-bottom: 12px;
    }

    .about-author.rea-about-author-box .author-photo img,
    .about-author.rea-about-author-box .author-photo .rea-author-logo {
        max-width: 100%;
        height: auto;
    }

    .about-author.rea-about-author-box .author-top-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .about-author.rea-about-author-box .box-name {
        font-size: 20px;
        line-height: 27px;
    }
}

/* ── Meta-Trenner: Quadrat statt Kreis ──────────────────────────────────── */
.pbmit-blog-classic .pbmit-blog-meta-top.pbmit-blog-meta .pbmit-meta:not(:last-child)::before {
    border-radius: 0 !important;
}

/* ── Widget-Kategorien: Quadrat statt Kreis ─────────────────────────────── */
ul.wp-block-categories li .pbmit-cat-li a::before,
.pbminfotech-sidebar .widget_categories ul li.cat-item .pbmit-cat-li > a::before {
    border-radius: 0 !important;
}

/* ── Alle Inhalts-Listen: Quadrat statt Disc ────────────────────────────── */
/* Zielt nur auf klassenlose <ul> im Content – keine Menüs/Widget-Listen    */
.pbmit-entry-content ul:not([class]) li,
.entry-content ul:not([class]) li {
    list-style-type: square;
}

/* Elementor ul-list-Widget (pbmit-ul-type-disc): Quadrat statt Kreis */
.pbminfotech-ul-list.pbmit-ul-type-disc li::after {
    border-radius: 0 !important;
}

/* ── Service-Karten: Bilder auf halbe Höhe (16:9 statt ~9:11 Portrait) ─── */
.pbmit-service-style-1 .pbmit-featured-wrapper {
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.pbmit-service-style-1 .pbmit-featured-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

/* ── Service-Karte: Kategorie-Punkt entfernen, / als Trenner ────────────── */
.pbmit-service-style-1 .pbmit-serv-cat a::before {
    display: none !important;
}
.pbmit-service-style-1 .pbmit-serv-cat a {
    padding-left: 0 !important;
}


/* === Case Studies (Testimonial-Style-1 als Case-Study-Karte) ============= */

/* Anführungszeichen-Icon (blockquote::before) ausblenden */
.pbmit-testimonial-style-1 blockquote.pbminfotech-testimonial-text::before,
.pbmit-testimonial-style-1 blockquote.pbminfotech-testimonial-text:before {
    display: none !important;
}

/* Case-Study-Label (Kategorie oder "Case Study") */
.pbmit-testimonial-style-1 .pbmit-case-study-item .pbmit-cs-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--pbmit-cleanfin-global-color, #0f1720);
    opacity: 0.5;
    margin-bottom: 10px;
}

/* Titel als Projekt-Überschrift */
.pbmit-testimonial-style-1 .pbmit-case-study-item .pbminfotech-box-title {
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 18px;
}
.pbmit-testimonial-style-1 .pbmit-case-study-item .pbminfotech-box-title a {
    color: inherit;
    text-decoration: none;
}
.pbmit-testimonial-style-1 .pbmit-case-study-item .pbminfotech-box-title a:hover {
    opacity: 0.75;
}

/* Details-Feld (optional: Auftraggeber-Typ o.ä.) */
.pbmit-testimonial-style-1 .pbmit-case-study-item .pbminfotech-testimonial-detail {
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 16px;
    opacity: 0.6;
}

/* Inhalt-Bereich: ohne blockquote-Styling, mit Trennlinie */
.pbmit-testimonial-style-1 .pbmit-case-study-item .pbmit-cs-body {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding-top: 18px;
    font-size: 15px;
    line-height: 24px;
}
.pbmit-testimonial-style-1 .pbmit-case-study-item .pbmit-cs-body p {
    margin-bottom: 10px;
}
.pbmit-testimonial-style-1 .pbmit-case-study-item .pbmit-cs-body ul {
    list-style: square;
    padding-left: 20px;
    margin-bottom: 10px;
}
.pbmit-testimonial-style-1 .pbmit-case-study-item .pbmit-cs-body li {
    margin-bottom: 5px;
}

/* Service/Insights Kontaktbox: Hintergrundfarbe */
.rea-about-company-box {
    background-color: #F2F4F8;
}

/* Service/Insights Kontaktbox: Licht + Navy-Akzent Design */
.rea-about-company-box {
    background: linear-gradient(135deg, #eef1f8 0%, #f7f9fc 100%);
    border-left: 4px solid #212c40;
    box-shadow: 0 2px 16px rgba(33, 44, 64, 0.08);
    border-radius: 4px;
}

/* Kontaktbox: mehr Abstand nach oben */
.rea-about-company-box {
    margin-top: 48px;
}


/* == Case Studies: gleiche Kartenhöhe ===================================== */
/* Das Bootstrap-Grid (.row) ist bereits display:flex + align-items:stretch,
   d.h. alle article-Elemente sind schon gleich hoch.
   Die innere graue Box muss nur noch height:100% bekommen. */

.pbmit-testimonial-style-1 .pbmit-case-study-item {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.pbmit-testimonial-style-1 .pbmit-case-study-item .pbminfotech-box-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.pbmit-testimonial-style-1 .pbmit-case-study-item .pbmit-cs-body {
    flex: 1;
}
.rea-case-study-form-box { margin-bottom: 30px; }

/* Case Studies: keep heading style but disable title links */
.page-id-872 .pbmit-case-study-item .pbminfotech-box-title > a {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit !important;
}

/* === Case Study Badges ================================================== */
.rea-cs-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

.rea-badge {
    display: inline-block;
    padding: 0.28em 0.65em;
    font-size: 0.70em;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 3px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background-color: #1a3560;
    color: #fff;
}

/* Badges auf Einzelseiten: etwas groesser und mit Abstand nach unten */
.rea-cs-badges--single {
    margin-top: 6px;
    margin-bottom: 20px;
}
.rea-cs-badges--single .rea-badge {
    font-size: 0.78em;
    padding: 0.32em 0.75em;
}
/* ======================================================================== */
