/* ===== Index Hero ===== */
.index-hero {
    position: relative;
    padding: 110px 0 70px; /* 110px = unter fixed navbar */
    overflow: hidden;
}

.index-hero .mbr-parallax-bg {
    position: absolute;
    inset: 0;
    background-image: url("images2/20190510-dscf0170-1333x2000.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
}

/* Mobirise legacy setzt oft opacity:0.4 + dunkles overlay → wir überschreiben */
.index-hero .mbr-overlay {
    position: absolute;
    inset: 0;
    opacity: 0.4 !important;
    background: #ffffff !important; /* weißer Schleier */
    z-index: 1;
}

.index-hero .container {
    position: relative;
    z-index: 2;
    color: #2f7f7a;
}
/* Textfarbe wie im Original */
.index-hero .mbr-section-title,
.index-hero .hero-copy {
    color: #2b7c80 !important;
}

.index-hero .hero-copy p {
    margin: 0 0 18px;
}

/* Button: eckig/rot wie Original (falls legacy es rund macht) */
.index-hero .btn {
    border-radius: 0 !important;
}
.index-hero .mbr-section-title {
    max-width: 1100px;
    margin: 0 auto 22px;
    font-size: 2.2rem; /* ca. 70 % */
    line-height: 1.15;
}

.index-hero .mbr-text {
    max-width: 980px;
    margin: 0 auto 28px;
    color: inherit;
}



/* Startseite: Notification / Änderungen im Praxisteam (Original-Look) */
.notice {
    background: #6f9496; /* Original-Grün */
    color: #ffffff;
    padding: 80px 0;
}

.notice__inner {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
}

/* H2: Reem Kufi, 36px, weiß, padding 24px 0 */
.notice h2 {
    font-family: "Reem Kufi", sans-serif;
    font-size: 36px;
    line-height: 1.15;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    padding: 24px 0;
}

/* P: Roboto ~17.6px, weiß, padding 10px 0 */
.notice p {
    font-family: Roboto, sans-serif;
    font-size: 17.6px;
    line-height: 1.6;
    font-weight: 400;
    color: #ffffff;
    margin: 0;
    padding: 10px 0;
}

/* Strong bleibt einfach weiß + fett */
.notice p strong {
    font-weight: 700;
    color: #ffffff;
}

@media (max-width: 900px) {
    .notice { padding: 56px 0; }
    .notice h2 { font-size: 30px; padding: 18px 0; }
    .notice p { font-size: 16px; padding: 8px 0; }
}

/* ================
   INDEX – SPRECHZEITEN (match legacy look)
   Targets: #content1-l + #table3-k
   ================ */
.section--sprechzeiten {
    padding: 80px 0;
    background: #fff;
}

.section--sprechzeiten .section-title {
    text-align: center;
    font-family: "Reem Kufi", sans-serif;
    font-size: 64px;        /* ggf. feinjustieren */
    line-height: 1.05;
    margin: 0 0 28px;
    color: #3d8f93;          /* Original-Grün */
}

.sprechzeiten {
    width: min(900px, 92%);
    margin: 0 auto;
    border-collapse: collapse;
}

.sprechzeiten thead th {
    font-weight: 700;
    text-transform: none;
    padding: 10px 18px 16px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.sprechzeiten tbody th,
.sprechzeiten tbody td {
    padding: 14px 18px;      /* kompakt */
    line-height: 1.3;
}

.sprechzeiten tbody th {
    font-weight: 600;
    text-align: left;
}

.sprechzeiten tbody td {
    text-align: center;
}


/* =========================
   INDEX – AKTUELLES
   ========================= */
.aktuelles{
    background: #6f9496; /* Original-Grün */
    color: #fff;
    padding: 90px 0;
}

.aktuelles__inner{
    max-width: 980px;
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
}

.aktuelles__title{
    font-family: "Reem Kufi", sans-serif;
    font-size: 36px;
    line-height: 1.15;
    font-weight: 700;
    color: #fff;
    margin: 0;
    padding: 24px 0 18px;
}

.aktuelles__copy p{
    font-family: Roboto, sans-serif;
    font-size: 17.6px;
    line-height: 1.6;
    font-weight: 400;
    color: #fff;
    margin: 0;
    padding: 10px 0;
}

.aktuelles__copy a{
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.aktuelles__badge{
    padding-top: 26px;
}

.aktuelles__badge img{
    max-width: min(400px, 90vw);
    height: auto;
    display: inline-block;
    background: #fff; /* wie im Original: weißer Kasten */
}

@media (max-width: 900px){
    .aktuelles{ padding: 64px 0; }
    .aktuelles__title{ font-size: 30px; padding: 18px 0 14px; }
    .aktuelles__copy p{ font-size: 16px; }
}

/* =========================
   INDEX – PRAXISTEAM (neu)
   ========================= */

.section--team{
    background:#f3f1f1;
    padding:90px 0;
}

.team__container{
    width:min(1100px, 92%);
    margin:0 auto;
}

.team__title{
    text-align:center;
    font-family:"Reem Kufi", sans-serif;
    font-size:64px;
    line-height:1.05;
    margin:0 0 22px;
    color:#3d8f93;
}

.team__intro{
    max-width:980px;
    margin:0 auto 48px;
    text-align:center;
}

.team__intro p{
    font-family:Roboto, sans-serif;
    font-size:17.6px;
    line-height:1.6;
    margin:0;
    padding:10px 0;
    color:#111;
}

/* Ärzte */
.team__doctors{
    display:grid;
    gap:34px;
    margin:0 0 56px;
}

.team-doctor{
    display:grid;
    grid-template-columns: 1fr 1fr;
    background:#fff;
}

.team-doctor__media{
    background:#ddd;
}

.team-doctor__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    min-height:320px;
}

.team-doctor__body{
    padding:44px 44px 40px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.team-doctor__name{
    font-family:"Reem Kufi", sans-serif;
    font-size:44px;
    line-height:1.1;
    margin:0 0 10px;
    color:#3d8f93;
}

.team-doctor__meta{
    font-family:Roboto, sans-serif;
    font-size:17.6px;
    line-height:1.4;
    margin:0 0 22px;
    color:#111;
}

.team-doctor__actions{
    display:flex;
    gap:18px;
    align-items:center;
    flex-wrap:wrap;
}

.team-link{
    font-family:Roboto, sans-serif;
    font-weight:600;
    font-size: 1.2rem;
    /* color:#111; */
    text-decoration:underline;
    text-underline-offset:3px;
    color:#3d8f93;
}
.team-link:hover {
    color:#3d8f93;
}

.btn-team{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 18px;
    border-radius:0 !important;
    background:#d85b5b;
    color:#fff;
    text-decoration:none;
    font-family:Roboto, sans-serif;
    font-weight:700;
    border:0;
}

.btn-team__icon{
    display:inline-flex;
}

.team-doctor--reverse .team-doctor__media{ order:2; }
.team-doctor--reverse .team-doctor__body{ order:1; }

/* Team-Kacheln */
.team__grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:22px;
}

.team-card{
    background:#fff;
    margin:0;
}

.team-card__img img{
    width:100%;
    height:auto;
    display:block;
}

.team-card__cap{
    padding:14px 14px 18px;
}

.team-card__name{
    font-family:Roboto, sans-serif;
    font-weight:700;
    color:#111;
    margin:0 0 6px;
}

.team-card__role{
    font-family:Roboto, sans-serif;
    color:#111;
    opacity:.9;
}

/* Responsive */
@media (max-width: 980px){
    .team__title{ font-size:48px; }
    .team-doctor{
        grid-template-columns: 1fr;
    }
    .team-doctor__body{ padding:28px 24px; }
    .team-doctor__media img{ min-height:260px; }
    .team__grid{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 520px){
    .section--team{ padding:64px 0; }
    .team__title{ font-size:40px; }
    .team__grid{ grid-template-columns: 1fr; }
}

/* =========================
   FIX: PRAXISTEAM – Ärzte (full-bleed, kein Abstand, Text links)
   ========================= */

/* 1) Schütt + Richter sollen ohne Abstand direkt untereinander sitzen */
.team__doctors{
    gap: 0;              /* vorher 34px */
    margin-bottom: 56px; /* kannst du lassen */
}

/* 2) Ärzte-Block soll links/rechts bis an den Rand gehen (full bleed),
      obwohl der Rest in .team__container zentriert bleibt */
.team__doctors{
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* 3) Karten selbst ohne Außenabstand/Radius */
.team-doctor{
    margin: 0;
    border-radius: 0;
}

/* 4) Text linksbündig + “mit Abstand” (Padding hast du schon, aber linksbündig fehlte) */
.team-doctor__body{
    text-align: left;
    align-items: flex-start;
}

/* optional: Name/Meta nicht zentrieren (falls irgendwo inherited) */
.team-doctor__name,
.team-doctor__meta{
    text-align: left;
}

/* optional: damit die Trennung zwischen den beiden Ärzten klar bleibt (wie im Original oft eine feine Linie) */
.team-doctor + .team-doctor{
    border-top: 1px solid #e6e6e6;
}

/* Mobile: bei den Ärzten immer Bild oben, Text darunter */
@media (max-width: 900px){
    .team__doctors .team-doctor{
        display: flex;
        flex-direction: column;   /* stapeln */
    }

    .team__doctors .team-doctor__img{
        order: 0;                 /* Bild zuerst */
        width: 100%;
    }

    .team__doctors .team-doctor__body{
        order: 1;                 /* Text darunter */
        width: 100%;
    }
}
/* Mobile: bei den Ärzten immer Bild oben, Text darunter (auch bei --reverse) */
@media (max-width: 980px){
    .team__doctors .team-doctor{
        display: flex;           /* statt grid */
        flex-direction: column;  /* stapeln */
    }

    .team__doctors .team-doctor__media{
        order: 0;                /* Bild immer zuerst */
        width: 100%;
    }

    .team__doctors .team-doctor__body{
        order: 1;                /* Text immer darunter */
        width: 100%;
    }

    /* explizit --reverse neutralisieren */
    .team__doctors .team-doctor--reverse .team-doctor__media{ order: 0; }
    .team__doctors .team-doctor--reverse .team-doctor__body{ order: 1; }
}
/* =========================
   INDEX – PRAXISSPEKTRUM (neu)
   ========================= */

.section--spectrum{
    background:#fff;
    padding:90px 0;
}

.spectrum__container{
    width:min(1100px, 92%);
    margin:0 auto;
}

.spectrum__title{
    text-align:center;
    font-family:"Reem Kufi", sans-serif;
    font-size:64px;
    line-height:1.05;
    margin:0 0 40px;
    color:#3d8f93; /* grün wie Vorgabe */
}

/* Liste + Zeilen */
.spectrum__list{
    display:flex;
    flex-direction:column;
    gap:64px;
}

.spectrum__item{
    display:grid;
    grid-template-columns: 1fr 1fr;
    column-gap:80px;
    align-items:start;
}

.spectrum__item-title{
    margin:0;
    text-align:center;
    font-family:"Reem Kufi", sans-serif;
    font-size:44px;
    line-height:1.15;
    color:#3d8f93;
}

.spectrum__item-text{
    margin:0;
    font-family:Roboto, sans-serif;
    font-size:17.6px;
    line-height:1.7;
    color:#111;
    text-align:left;
}

/* Responsive */
@media (max-width: 980px){
    .spectrum__title{ font-size:48px; }
    .spectrum__item{
        grid-template-columns: 1fr;
        row-gap:14px;
    }
    .spectrum__item-title{
        text-align:center;
        font-size:38px;
    }
    .spectrum__item-text{
        text-align:left;
    }
}

@media (max-width: 520px){
    .section--spectrum{ padding:64px 0; }
    .spectrum__title{ font-size:40px; }
    .spectrum__item-title{ font-size:32px; }
}

/* =========================
   INDEX – DIAGNOSTIK (neu)
   ========================= */

.section--diagnostik{
    position:relative;
    background:#3d8f93;
    padding:90px 0;
    overflow:hidden;
}

.diag__container{
    width:min(1100px, 92%);
    margin:0 auto;
    position:relative;
    z-index:1;
    text-align:center;
    color:#fff;
}

.diag__title{
    font-family:"Reem Kufi", sans-serif;
    font-size:72px;
    line-height:1.05;
    margin:0 0 18px;
    color:#fff;
}

.diag__lead{
    font-family:Roboto, sans-serif;
    font-size:17.6px;
    line-height:1.6;
    margin:0 auto 40px;
    max-width:980px;
    color:#fff;
}

.diag__panel{
    width:min(900px, 92%);
    margin:0 auto;
    background:#f3f1f1;
    color:#111;
}

/* Details-Akkordeon */
.diag-item{
    border:0;
}

.diag-summary{
    list-style:none;
    cursor:pointer;
    padding:18px 26px;
    font-family:"Reem Kufi", sans-serif;
    font-size:42px;
    line-height:1.1;
    color:#111;
    background:#f3f1f1;
    border-top:1px solid #d9d9d9;
}
/* Diagnostik: wenn wir nach dem Öffnen scrollen, soll der Titel nicht unter der Navbar verschwinden */
.diag-summary {
    scroll-margin-top: 110px; /* entspricht grob deiner Navbar/Top-Abstände – ggf. 90–120px feinjustieren */
}
.diag-item:first-child .diag-summary{
    border-top:0;
}

.diag-summary::-webkit-details-marker{ display:none; }

/* leichtes Feedback beim Öffnen */
.diag-item[open] .diag-summary{
    background:#ece9e9;
}

.diag-content{
    padding:18px 26px 28px;
    background:#f3f1f1;
}

.diag-content p{
    margin:0 0 18px;
    font-family:Roboto, sans-serif;
    font-size:20px;
    line-height:1.7;
    color:#111;
}

.diag-content p:last-child{ margin-bottom:0; }

@media (max-width: 980px){
    .diag__title{ font-size:52px; }
    .diag-summary{ font-size:34px; }
    .diag-content p{ font-size:18px; }
}

@media (max-width: 520px){
    .section--diagnostik{ padding:64px 0; }
    .diag__title{ font-size:42px; }
    .diag-summary{ font-size:30px; padding:16px 18px; }
    .diag-content{ padding:14px 18px 22px; }
}
.diag-content,
.diag-content p{
    text-align: left;
}

/* =========================
   INDEX – IMPRESSIONEN
   ========================= */

.section-impressions{
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:80px 0 90px;
    background:#fff;
    overflow:hidden;
}

.impressions-title{
    font-family:"Reem Kufi", sans-serif;
    font-size:64px;
    line-height:1.05;
    text-align:center;
    margin:0 0 48px;
    color:#3d8f93;
}

/* Slider */
.impressions-slider{
    position:relative;
    width:100%;
}

.impressions-track{
    display:flex;
    gap:10px;                    /* <-- 10px weißer Abstand zwischen Bildern */
    padding:0 10px;              /* <-- optional: links/rechts ebenfalls 10px Luft */
    background:#fff;             /* <-- Gap zeigt "weiß" */
    scroll-snap-type:x mandatory;
    overflow-x:auto;
    scrollbar-width:none;
}

.impressions-track::-webkit-scrollbar{
    display:none;
}

/* 3 Bilder sichtbar (mit Gap einkalkuliert) */
.impressions-track img{
    flex:0 0 calc((100% - 20px) / 3);  /* 2 Gaps à 10px */
    max-width:calc((100% - 20px) / 3);
    height:auto;
    object-fit:cover;
    scroll-snap-align:start;

    border:0;                    /* <-- border entfernen */
    display:block;
}

/* Navigation */
.impressions-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:48px;
    height:48px;
    border-radius:50%;
    border:0;
    background:rgba(0,0,0,0.35);
    cursor:pointer;
    z-index:5;
}

.impressions-nav::before{
    content:"";
    display:block;
    width:10px;
    height:10px;
    border-top:2px solid #fff;
    border-right:2px solid #fff;
    margin:auto;
}

.impressions-nav.prev{ left:16px; }
.impressions-nav.prev::before{ transform:rotate(-135deg); }

.impressions-nav.next{ right:16px; }
.impressions-nav.next::before{ transform:rotate(45deg); }

/* Caption */
.impressions-caption{
    max-width:900px;
    margin:36px auto 0;
    text-align:center;
    font-family:Roboto, sans-serif;
    font-size:17.6px;
    line-height:1.6;
    color:#111;
}

/* =========================
   RESPONSIVE
   ========================= */

/* 2 Bilder sichtbar */
@media (max-width: 1100px){
    .impressions-track img{
        flex:0 0 calc((100% - 10px) / 2); /* 1 Gap à 10px */
        max-width:calc((100% - 10px) / 2);
    }
}

/* Mobile: 1 Bild, FULL BLEED (ohne weißen Rand/Gaps) */
@media (max-width: 640px){
    .impressions-title{
        font-size:42px;
        margin-bottom:32px;
    }

    .impressions-track{
        gap:0;          /* <-- keine weißen Zwischenräume */
        padding:0;      /* <-- kein Rand links/rechts */
    }

    .impressions-track img{
        flex:0 0 100%;
        max-width:100%;
    }

    .impressions-nav{
        width:40px;
        height:40px;
    }
}

/* Lightbox */
.impressions-lightbox[hidden]{ display:none !important; }

.impressions-lightbox{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:3000;
    padding:24px;
}

.impressions-lightbox-img{
    max-width:min(1200px, 96vw);
    max-height:88vh;
    width:auto;
    height:auto;
    display:block;
    box-shadow:0 18px 60px rgba(0,0,0,.45);
}

/* dicker X oben rechts */
.impressions-lightbox-close{
    position:absolute;
    top:16px;
    right:16px;
    width:56px;
    height:56px;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    color:#fff;
    font-size:42px;
    line-height:1;
    cursor:pointer;
}

.impressions-lightbox-close:hover{
    background:rgba(255,255,255,.26);
}

/* Smartphone: keine Lightbox-Interaktion (JS blockt schon, CSS optional) */
@media (max-width: 640px){
    .impressions-lightbox{ display:none !important; }
}