
/* taxexpert TYPO3 13 visual reconstruction patch
   Scope: migrated TYPO3-10 DCE/HTML recovery records, pages uid 1/1054-1063.
   Goal: bring the recovered database rendering close to the original live design without
   reintroducing old extensions. */

/* Header/logo -------------------------------------------------------------- */
.rd-navbar-brand.brand img,
.page-loader .brand-inverse img {
    width: 260px !important;
    max-width: 260px !important;
    height: auto !important;
}
.rd-navbar-brand.brand h3,
.page-loader .brand-inverse h3 {
    display: none !important;
}
@media (min-width: 992px) {
    .rd-navbar-corporate-dark .rd-navbar-inner {
        min-height: 70px;
    }
    .rd-navbar-corporate-dark .rd-navbar-panel {
        padding-top: 8px;
        padding-bottom: 8px;
    }
}

/* Page title banners ------------------------------------------------------- */
.page-title-wrap {
    background-size: cover !important;
    background-position: center center !important;
    position: relative;
}
.page-title-wrap:before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.42);
}
.page-title-wrap .shell {
    position: relative;
    z-index: 1;
}
.page-title-wrap .page-title h2 {
    font-size: 48px;
    line-height: 1.15;
    color: #fff;
}

/* explicit fallback backgrounds when lib.pageImg has no rendered file */
#p1054 .page-title-wrap { background-image: url('/fileadmin/user_upload/bg-image-2.jpg') !important; }
#p1055 .page-title-wrap,
#p1061 .page-title-wrap,
#p1062 .page-title-wrap { background-image: url('/fileadmin/user_upload/bg-image-10.jpg') !important; }
#p1056 .page-title-wrap { background-image: url('/fileadmin/user_upload/bg-image-6.jpg') !important; }
#p1057 .page-title-wrap { background-image: url('/fileadmin/user_upload/bg-image-7.jpg') !important; }
#p1059 .page-title-wrap { background-image: url('/fileadmin/user_upload/bg-image-5.jpg') !important; }

/* Generic content shell ---------------------------------------------------- */
.migration-main-content,
.migration-two-column-content,
.migration-after-columns {
    background: #fff;
}
.migration-main-content .shell,
.migration-two-column-content .shell,
.migration-after-columns .shell {
    max-width: 970px;
}
.migration-main-content h1,
.migration-main-content h2,
.migration-main-content h3 {
    color: #333;
}
.migration-main-content p,
.migration-two-column-content p,
.migration-main-content li,
.migration-two-column-content li {
    color: #8f979d;
    line-height: 1.7;
}
.migration-main-content iframe,
.migration-two-column-content iframe {
    max-width: 100%;
}

/* Home page --------------------------------------------------------------- */
#p1 .migrated-dce-1 {
    margin: 0;
    padding: 0;
}
#p1 .migrated-dce-1 .migrated-slider-item {
    display: none;
}
#p1 .migrated-dce-1 .migrated-slider-item:nth-child(2) {
    display: block;
    position: relative;
    overflow: hidden;
}
#p1 .migrated-dce-1 .migrated-slider-item:nth-child(2) img {
    display: block;
    width: 100%;
    height: 520px;
    object-fit: cover;
    object-position: center center;
}
#p1 .migrated-dce-1 .migrated-slider-item:nth-child(2) p {
    display: none;
}

#p1 .migrated-dce-2 {
    max-width: 970px;
    margin: 0 auto;
    padding: 70px 15px 80px;
    text-align: center;
}
#p1 .migrated-dce-2 h2 {
    font-size: 42px;
    line-height: 1.1;
    margin: 0 0 14px;
}
#p1 .migrated-dce-2 h2 a {
    color: #333;
}
#p1 .migrated-dce-2 h2 a:hover {
    color: #ba0201;
}
#p1 .migrated-dce-2 h3 {
    font-size: 16px;
    font-weight: 400;
    color: #9aa1a7;
    margin-bottom: 38px;
}
#p1 .migrated-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px;
}
#p1 .migrated-service {
    border: 1px solid #e8ecef;
    padding: 44px 28px 34px;
    min-height: 245px;
    text-align: center;
    background: #fff;
    position: relative;
}
#p1 .migrated-service:before {
    content: "";
    display: block;
    width: 34px;
    height: 34px;
    border: 3px solid #ba0201;
    border-radius: 50%;
    margin: 0 auto 18px;
}
#p1 .migrated-service h3 {
    color: #333;
    font-size: 18px;
    line-height: 1.25;
    margin: 0 0 18px;
    font-weight: 700;
}
#p1 .migrated-service p {
    color: #9aa1a7;
    font-size: 14px;
    line-height: 1.7;
}
#p1 .migrated-service p:last-child {
    display: none;
}

/* Leistungen --------------------------------------------------------------- */
#p1054 .migrated-dce-11 {
    padding: 0 0 50px;
    text-align: center;
}
#p1054 .migrated-dce-11 > h2 {
    max-width: 820px;
    margin: 0 auto 36px;
    font-size: 38px;
    line-height: 1.05;
}
#p1054 .migrated-dce-11 .migrated-service-image {
    display: inline-block;
    vertical-align: top;
    width: 30.5%;
    margin: 0 1.2% 34px;
    text-align: left;
}
#p1054 .migrated-dce-11 .migrated-service-image img {
    width: 100%;
    height: 145px;
    object-fit: cover;
    display: block;
    margin-bottom: 18px;
}
#p1054 .migrated-dce-11 .migrated-service-image h3 {
    font-size: 17px;
    line-height: 1.25;
    margin: 0 0 10px;
}
#p1054 .migrated-dce-11 .migrated-service-image p {
    font-size: 13px;
    line-height: 1.65;
}

#p1054 .migrated-dce-10 {
    margin-left: calc(50% - 50vw);
    width: 100vw;
    padding: 72px 0 78px;
    color: #fff;
    background:
        linear-gradient(rgba(53,73,91,.82), rgba(53,73,91,.82)),
        url('/fileadmin/user_upload/clients-testimonials-parallax-1.jpg') center center / cover no-repeat;
    text-align: left;
}
#p1054 .migrated-dce-10 > img {
    display: none;
}
#p1054 .migrated-dce-10 > h2,
#p1054 .migrated-dce-10 > h3 {
    text-align: center;
    color: #fff;
    max-width: 970px;
    margin-left: auto;
    margin-right: auto;
}
#p1054 .migrated-dce-10 > h2 {
    font-size: 38px;
    margin-bottom: 12px;
}
#p1054 .migrated-dce-10 > h3 {
    font-size: 16px;
    margin-bottom: 42px;
}
#p1054 .migrated-dce-10 article {
    display: inline-block;
    width: 30.5%;
    min-height: 210px;
    margin: 0 1.2% 36px;
    vertical-align: top;
    color: #fff;
}
#p1054 .migrated-dce-10 article:nth-of-type(1),
#p1054 .migrated-dce-10 article:nth-of-type(4) {
    margin-left: calc((100% - 970px) / 2 + 1.2%);
}
#p1054 .migrated-dce-10 article h3 {
    color: #fff;
    font-size: 17px;
    line-height: 1.25;
}
#p1054 .migrated-dce-10 article p,
#p1054 .migrated-dce-10 article li {
    color: rgba(255,255,255,.88);
    font-size: 13px;
    line-height: 1.55;
}
#p1054 .migrated-dce-10 article ul {
    padding-left: 0;
    list-style: none;
}

/* Team -------------------------------------------------------------------- */
#p1056 .migration-main-intro {
    padding-bottom: 25px;
}
#p1056 .frame-type-header h2,
#p1056 .frame-type-header h1,
#p1056 .frame-type-header header {
    text-align: center;
}
#p1056 .frame-type-header h2,
#p1056 .frame-type-header h1 {
    font-size: 44px;
    line-height: 1.1;
}
#p1056 .migration-two-column-content {
    padding-top: 20px;
}
#p1056 .migration-left-column {
    text-align: center;
}
#p1056 .migration-left-column .ce-gallery img,
#p1056 .migration-left-column img {
    max-width: 170px;
    height: auto;
    margin: 0 8px;
}
#p1056 .migration-left-column .image-caption,
#p1056 .migration-left-column figcaption {
    text-align: center;
    font-size: 13px;
    color: #9aa1a7;
}
#p1056 .migrated-dce-7 > img {
    display: none;
}
#p1056 .migrated-dce-7 h2 {
    font-size: 34px;
    line-height: 1.2;
    margin-bottom: 28px;
}
#p1056 .migrated-dce-7 p {
    font-size: 14px;
    line-height: 1.75;
}
#p1056 .migration-after-columns {
    padding-top: 0;
}
#p1056 .migration-after-columns ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    text-align: center;
    color: #9aa1a7;
}

/* Contact / Anfahrt -------------------------------------------------------- */
#p1057 .migration-main-intro {
    display: none;
}
#p1057 .migration-two-column-content {
    padding-top: 75px;
}
#p1057 .migration-right-column iframe {
    width: 100% !important;
    height: 395px !important;
}
#p1057 .migration-left-column h3 {
    font-size: 34px;
    margin-bottom: 28px;
}

#p1058 .migration-main-content iframe {
    width: 100% !important;
    height: 500px !important;
    display: block;
}
#p1058 .migration-main-content .shell {
    max-width: 970px;
}

/* Legal pages -------------------------------------------------------------- */
#p1059 .migration-main-content .shell,
#p1061 .migration-main-content .shell,
#p1062 .migration-main-content .shell {
    max-width: 970px;
}
#p1059 .migration-main-content,
#p1061 .migration-main-content,
#p1062 .migration-main-content {
    padding-top: 70px;
    padding-bottom: 70px;
}
#p1055 .migration-main-content {
    padding-top: 58px;
    padding-bottom: 58px;
    text-align: center;
}
#p1055 .migration-main-content .btn {
    min-width: 210px;
    margin: 0 24px 12px;
}

/* Datenschutz accordion-like recovered text */
#p1061 .frame-type-text {
    max-width: 760px;
    margin: 0 auto;
    padding: 45px 55px;
    background: #e9edf3;
}
#p1061 .frame-type-text h1,
#p1061 .frame-type-text h2,
#p1061 .frame-type-text h3 {
    text-align: center;
}
#p1061 .frame-type-text p {
    background: #fff;
    padding: 20px 26px;
    margin-bottom: 16px;
    border-radius: 3px;
}

/* Footer ------------------------------------------------------------------ */
.section-40.section-sm-60.bg-cello {
    padding-top: 58px;
    padding-bottom: 58px;
}
.page-foot.section-15.bg-cloud-burst {
    padding-top: 18px;
    padding-bottom: 18px;
}

/* Responsive --------------------------------------------------------------- */
@media (max-width: 991px) {
    .rd-navbar-brand.brand img { width: 220px !important; max-width: 220px !important; }
    #p1 .migrated-service-grid {
        grid-template-columns: 1fr;
    }
    #p1054 .migrated-dce-11 .migrated-service-image,
    #p1054 .migrated-dce-10 article {
        display: block;
        width: auto;
        margin-left: 15px !important;
        margin-right: 15px !important;
    }
    #p1 .migrated-dce-1 .migrated-slider-item:nth-child(2) img {
        height: 360px;
    }
}

/* Phase 1: homepage slider order and operation ---------------------------- */
#p1 .taxexpert-home-slider {
    position: relative;
    overflow: hidden;
}
#p1 .taxexpert-home-slider .migrated-dce-1 {
    position: relative;
    min-height: 420px;
}
#p1 .taxexpert-home-slider .migrated-slider-item {
    display: none !important;
    position: relative;
    overflow: hidden;
}
#p1 .taxexpert-home-slider .migrated-slider-item.is-active {
    display: block !important;
}
#p1 .taxexpert-home-slider .migrated-slider-item img {
    display: block;
    width: 100%;
    height: clamp(360px, 43vw, 620px);
    object-fit: cover;
    object-position: center center;
}
#p1 .taxexpert-home-slider .migrated-slider-item h1,
#p1 .taxexpert-home-slider .migrated-slider-item p {
    position: absolute;
    left: max(24px, calc((100% - 1170px) / 2));
    z-index: 2;
}
#p1 .taxexpert-home-slider .migrated-slider-item h1 {
    top: 34%;
    max-width: 720px;
    color: #fff;
    font-size: clamp(34px, 4vw, 64px);
}
#p1 .taxexpert-home-slider .migrated-slider-item p {
    top: 58%;
}
#p1 .taxexpert-home-slider .migrated-slider-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.48), rgba(0,0,0,.05) 70%);
}
#p1 .taxexpert-home-slider .slider-dots {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 4;
}
#p1 .taxexpert-home-slider .slider-dot {
    width: 11px;
    height: 11px;
    padding: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    background: transparent;
}
#p1 .taxexpert-home-slider .slider-dot.is-active {
    background: #fff;
}
#p1 .taxexpert-home-content {
    background: #fff;
}

/* Team: client-requested text-only presentation -------------------------- */
#p1056 .migrated-team-member img,
#p1056 .ce-image,
#p1056 figure.image {
    display: none !important;
}
#p1056 .migrated-dce-14 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    text-align: center;
}
#p1056 .migrated-dce-14 > h2 {
    flex: 0 0 100%;
}
#p1056 .migrated-team-member {
    flex: 0 1 320px;
}

/* RSS removal ------------------------------------------------------------- */
.rd-navbar-aside .fa-rss,
.rd-navbar-aside a[href*=".rss"] {
    display: none !important;
}
/* =========================================================

   Team page

   ========================================================= */



.taxexpert-team {

    width: min(100% - 40px, 920px);

    margin: 0 auto;

    padding: 10px 0 90px;

}



.taxexpert-team-leadership {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 28px;

    margin: 0 0 48px;

}



.taxexpert-team-card {

    position: relative;

    display: flex;

    align-items: center;

    gap: 22px;

    min-height: 150px;

    padding: 30px;

    border: 1px solid #e5e5e5;

    background: #fff;

    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.06);

}



.taxexpert-team-card::before {

    position: absolute;

    top: 0;

    right: 0;

    left: 0;

    height: 4px;

    content: "";

    background: #c80000;

}



.taxexpert-team-card__mark {

    display: flex;

    flex: 0 0 68px;

    align-items: center;

    justify-content: center;

    width: 68px;

    height: 68px;

    border: 1px solid #c80000;

    border-radius: 50%;

    color: #c80000;

    font-size: 19px;

    font-weight: 700;

    letter-spacing: 0.04em;

}



.taxexpert-team-card h3 {

    margin: 0 0 7px;

    color: #292929;

    font-size: 27px;

    line-height: 1.2;

}



.taxexpert-team-role {

    margin: 0;

    color: #c80000;

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 0.08em;

    text-transform: uppercase;

}



.taxexpert-team-staff {

    padding: 36px 40px;

    background: #f4f5f7;

    border-left: 4px solid #c80000;

}



.taxexpert-team-staff h3 {

    margin: 0 0 26px;

    color: #292929;

    font-size: 23px;

}



.taxexpert-team-staff__list {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 0 36px;

    margin: 0;

    padding: 0;

    list-style: none;

}



.taxexpert-team-staff__list li {

    display: flex;

    flex-direction: column;

    gap: 4px;

    padding: 15px 0;

    border-bottom: 1px solid #dcdfe3;

}



.taxexpert-team-staff__list strong {

    color: #292929;

    font-size: 16px;

}



.taxexpert-team-staff__list span {

    color: #7d838a;

    font-size: 14px;

    line-height: 1.45;

}



@media (max-width: 767px) {

    .taxexpert-team {

        width: min(100% - 30px, 920px);

        padding-bottom: 55px;

    }



    .taxexpert-team-leadership,

    .taxexpert-team-staff__list {

        grid-template-columns: 1fr;

    }



    .taxexpert-team-card {

        padding: 24px;

    }



    .taxexpert-team-card h3 {

        font-size: 23px;

    }



    .taxexpert-team-staff {

        padding: 28px 24px;

    }

}

/* Datenschutzerklärung */



.tx-privacy,

.privacy-content{

    max-width:900px;

    margin:0 auto;

    padding:20px 0 70px;

}



.tx-privacy h2,

.privacy-content h2{

    font-size:34px;

    margin:45px 0 20px;

    color:#222;

    border-left:5px solid #c30000;

    padding-left:18px;

}



.tx-privacy h3,

.privacy-content h3{

    margin-top:35px;

    color:#444;

}



.tx-privacy p,

.tx-privacy li,

.privacy-content p,

.privacy-content li{

    font-size:16px;

    line-height:1.8;

    color:#666;

}



.tx-privacy ul,

.privacy-content ul{

    padding-left:24px;

}



/* Disclaimer */



.disclaimer-page{

    max-width:900px;

    margin:0 auto;

    padding:20px 0 70px;

}



.disclaimer-page h2{

    font-size:34px;

    margin-top:45px;

    border-left:5px solid #c30000;

    padding-left:18px;

}



.disclaimer-page p{

    line-height:1.8;

    color:#666;

}


/* ==========================================================================
   FINALIZATION 2026-07: legal pages, footer spacing, anfahrt hero
   ========================================================================== */

#p1058 .page-title-wrap {
    background-image: url('/fileadmin/user_upload/bg-image-7.jpg') !important;
    background-size: cover !important;
    background-position: center center !important;
}

#p1059 .migration-main-content .shell,
#p1061 .migration-main-content .shell,
#p1062 .migration-main-content .shell {
    width: min(100% - 40px, 960px);
    max-width: 960px;
    margin-inline: auto;
}

/* Impressum */
#p1059 .frame-type-text,
#p1059 .ce-bodytext {
    max-width: 900px;
    margin-inline: auto;
}
#p1059 .ce-bodytext > h2 {
    margin: 0 0 30px;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.15;
}
#p1059 .ce-bodytext h3 {
    margin: 34px 0 10px;
    font-size: clamp(22px, 2vw, 28px);
    line-height: 1.2;
}
#p1059 .ce-bodytext p,
#p1059 .ce-bodytext li {
    font-size: 15px;
    line-height: 1.75;
}
#p1059 .ce-bodytext ul {
    margin: 0 0 20px;
    padding-left: 22px;
}

/* Datenschutzrichtlinien */
#p1061 .frame-type-text,
#p1061 .frame-type-html,
#p1061 .ce-bodytext {
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
}
#p1061 .frame-type-text p,
#p1061 .frame-type-html p,
#p1061 .ce-bodytext p {
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #666 !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}
#p1061 .migrated-dce-16 {
    max-width: 900px;
    margin: 28px auto 0;
    padding: 34px;
    background: #f3f5f7;
}
#p1061 .migrated-dce-16 > h3 {
    position: relative;
    margin: 18px 0 12px;
    padding: 18px 66px 18px 22px;
    border: 1px solid #e0e3e6;
    background: #fff;
    color: #292929;
    font-size: 20px;
    line-height: 1.3;
}
#p1061 .migrated-dce-16 > h3:first-child { margin-top: 0; }
#p1061 .migrated-dce-16 > h3::after {
    content: "+";
    position: absolute;
    top: -1px;
    right: -1px;
    display: grid;
    width: 52px;
    height: calc(100% + 2px);
    place-items: center;
    background: #c80000;
    color: #fff;
    font-size: 25px;
}
#p1061 .migrated-dce-16 ul {
    margin: 0 0 22px;
    padding-left: 22px;
}
#p1061 .migrated-dce-16 li {
    color: #666;
    font-size: 15px;
    line-height: 1.7;
}

/* Disclaimer */
#p1062 .frame-type-html,
#p1062 .migrated-dce-16,
#p1062 .ce-bodytext {
    max-width: 900px !important;
    margin-inline: auto !important;
}
#p1062 .migrated-dce-16 {
    padding: 0;
    background: transparent;
}
#p1062 .migrated-dce-16 h2 {
    margin: 42px 0 16px;
    padding-left: 18px;
    border-left: 4px solid #c80000;
    color: #292929;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.15;
}
#p1062 .migrated-dce-16 h2:first-child { margin-top: 0; }
#p1062 .migrated-dce-16 p {
    margin: 0 0 20px;
    color: #666;
    font-size: 15px;
    line-height: 1.8;
}

/* Datenschutz landing */
#p1055 .migration-main-content {
    padding-top: 70px;
    padding-bottom: 90px;
}
#p1055 .migration-main-content .btn {
    margin: 0 18px 14px;
}

.page-foot.section-15.bg-cloud-burst p { margin: 0; }

@media (max-width: 767px) {
    #p1059 .migration-main-content,
    #p1061 .migration-main-content,
    #p1062 .migration-main-content {
        padding-top: 42px;
        padding-bottom: 48px;
    }
    #p1061 .migrated-dce-16 { padding: 18px; }
    #p1061 .migrated-dce-16 > h3 {
        padding: 15px 55px 15px 16px;
        font-size: 17px;
    }
    #p1061 .migrated-dce-16 > h3::after { width: 44px; }
    #p1055 .migration-main-content .btn {
        display: block;
        width: min(100%, 300px);
        margin: 0 auto 14px;
    }
}

/* ==========================================================================
   POST-BASELINE ADDITIONS
   These rules are additive and do not replace the finalization desktop rules.
   ========================================================================== */

/* Consent-first Google Maps */
.taxexpert-map-consent {
    min-height: 395px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    background: #f2f3f5;
    border: 1px solid #e2e4e7;
    text-align: center;
}
.taxexpert-map-consent__inner {
    max-width: 560px;
}
.taxexpert-map-consent h3 {
    margin: 0 0 14px;
    color: #292929;
    font-size: 28px;
}
.taxexpert-map-consent p {
    margin: 0 0 22px;
    color: #6f767d;
    line-height: 1.65;
}
.taxexpert-map-consent button {
    appearance: none;
    border: 0;
    border-radius: 2px;
    padding: 14px 24px;
    background: #c80000;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}
.taxexpert-map-consent button:hover,
.taxexpert-map-consent button:focus {
    background: #a90000;
}
.taxexpert-map-frame {
    width: 100%;
    min-height: 395px;
    border: 0;
    display: block;
}

/* Mobile navigation: remove the stray visible submit label/button.
   Search remains usable via the keyboard Enter/Search action. */
@media (max-width: 767px) {
    .rd-navbar-search,
    .rd-navbar-search-wrap,
    #searchForm {
        box-sizing: border-box;
    }

    #searchForm {
        position: relative;
        width: 100%;
    }

    #searchForm .form-group {
        width: 100%;
        margin: 0;
    }

    #tx-indexedsearch-searchbox-sword {
        width: 100% !important;
        min-height: 38px;
        padding: 8px 10px !important;
        box-sizing: border-box;
    }

    #tx-indexedsearch-searchbox-button-submit,
    #searchForm .rd-search-submit,
    .rd-navbar-search #searchForm button[type="submit"],
    .rd-navbar-search #searchForm input[type="submit"] {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }

    .taxexpert-map-consent,
    .taxexpert-map-frame {
        min-height: 300px;
    }

    .taxexpert-map-consent {
        padding: 24px 18px;
    }

    .taxexpert-map-consent h3 {
        font-size: 24px;
    }

    .taxexpert-map-consent button {
        width: 100%;
        min-height: 46px;
    }
}
