/* Synapsenbrenner - Modul reiseplaner-daten (P2): gemeinsame Styles.
   Ampel-Balken wie die Reisezeit-Ampel am Erlebnis (cpt-sb-erlebnis.css),
   Flammen-Zeile fuer Trubel und Aura, Karten-Raster fuer Highlights und
   Unterkuenfte auf der Ortsseite. Theme: 1rem = 10px. */

.sbRpdAmpel {
    display: flex;
    margin: 0 0 1.6rem;
    padding: 0;
    list-style: none;
    border-radius: 999px;
    overflow: hidden;
}
.sbRpdAmpel .sbAmpelMonat {
    flex: 1 1 0;
    padding: 0.6rem 0;
    font-size: 1.2rem;
    text-align: center;
}
.sbRpdAmpel .sbAmpelGruen {
    background-color: var(--sb-mint, #cfeee4);
    color: var(--sb-petrolDunkel, #0d3b3f);
}
.sbRpdAmpel .sbAmpelGrau {
    background-color: var(--sb-surfaceAlt, #f1f3f4);
    color: var(--sb-inkMuted, #5f6b6d);
}
.sbRpdAmpel .sbAmpelRot {
    background-color: var(--sb-ampelRot, #c0392b);
    color: #fff;
}
@media (max-width: 767px) {
    .sbRpdAmpel {
        flex-wrap: wrap;
        border-radius: 1.2rem;
    }
    .sbRpdAmpel .sbAmpelMonat {
        flex: 1 1 16%;
    }
}

.sbSteckbriefListe dd .sbRpdAmpel {
    margin: 0.4rem 0 0;
}

.sbRpdStufe {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
}
.sbRpdFlammen {
    display: inline-flex;
    gap: 0.1rem;
}
.sbRpdFlammen .sbFlamme {
    width: 1.5rem;
    height: 1.5rem;
    display: block;
}
.sbRpdFlammen .sbFlammeVoll {
    color: var(--sb-petrol, #14666c);
}
.sbRpdFlammen .sbFlammeLeer {
    color: var(--sb-linie, #d5dcdd);
}
/* P4 (Tor D1 Punkt 2): Trubel als Punkte */
.sbRpdPunkte {
    display: inline-flex;
    gap: 0.3rem;
}
.sbRpdPunkt {
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background: var(--sb-linie, #e5e7eb);
    display: block;
}
.sbRpdPunktVoll {
    background: var(--sb-text-2, #4b5563);
}

.sbRpdKoordinate {
    word-break: break-word;
}

/* Karten-Raster (Highlights, Besondere Unterkuenfte auf der Ortsseite) */
.sbRpdKarten {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(26rem, 1fr));
    gap: 2.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.sbRpdKarte {
    display: flex;
    flex-direction: column;
    background: var(--sb-surface, #fff);
    border: 1px solid var(--sb-linie, #d5dcdd);
    border-radius: 1.2rem;
    overflow: hidden;
}
.sbRpdKarte:focus-within {
    box-shadow: 0 0 0 3px var(--sb-mint, #cfeee4);
}
.sbRpdKarteBild img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.sbRpdKarteText {
    padding: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    flex: 1 1 auto;
}
.sbRpdKarteText h3 {
    margin: 0;
    font-size: 1.8rem;
}
.sbRpdKarteMeta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 1.6rem;
    font-size: 1.3rem;
    color: var(--sb-inkMuted, #5f6b6d);
}
.sbRpdKarteKurz {
    margin: 0;
}
.sbRpdKarteCta {
    margin-top: auto;
}

.sbRpdUrheber {
    font-size: 1.2rem;
    color: var(--sb-inkMuted, #5f6b6d);
    margin: 0.4rem 0 0;
}
/* P20 (07.10.2026, Daniel): im dunklen Hero weiss und rechtsbuendig direkt unter dem Bild. */
.sbOrtHero .sbHeroBilderWrap .sbRpdUrheber {
    color: #fff;
    text-align: right;
    margin: 0.6rem 0 0;
}
.sbOrtHero .sbHeroBilderWrap .sbRpdUrheber.sbRpdUrheber a {
    color: #fff;
}
