/* ============================================================
   room_peak.css · Raum-Höhepunkt (content_inc/section/room_peak/room_peak.php)
   Vollbild: Werk im Raum aus dem Room Manager, großer Titel darüber.
   Szene = Klassen aus css/hub_room_teaser.css, Lage des Gemäldes = js/room_peak.js.
   Geladen über roomPeakAssets().
   ============================================================ */

.room-peak { position: relative; min-height: 100vh; display: flex; align-items: flex-end; background: var(--bg); color: var(--fg); overflow: hidden; }
.room-peak-image { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; --hrt-image-h: 100vh; }
.room-peak-image::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 60%; background: linear-gradient(0deg, var(--bg) 0%, rgba(0,0,0,0) 100%); pointer-events: none; }
.room-peak-fallback { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Szene: breit etwas größer als der Bildschirm, damit das Gemälde zur Seite rücken kann (JS) */
.room-peak .hub-room-teaser-scene * { box-sizing: border-box; }
.room-peak .hub-room-teaser-scene { width: 125%; width: max(125%, calc(var(--hrt-image-h) * var(--room-ratio))); }
.room-peak .hub-room-teaser-art { display: block; cursor: pointer; }

/* Text: unten links (Standard) oder unten rechts */
.room-peak-text { position: relative; z-index: 2; max-width: 1240px; width: 100%; margin: 0 auto; padding: 0 24px 96px; box-sizing: border-box; }
.room-peak-text-inner { max-width: 820px; }
.room-peak--right .room-peak-text-inner { margin-left: auto; }

.room-peak-eyebrow {
    display: inline-flex; align-items: center; gap: .7em;
    font-size: 12px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase;
    color: var(--color-accent); margin-bottom: 18px;
}
.room-peak-eyebrow::before { content: ""; width: 2.2em; height: 1px; background: var(--color-accent); opacity: .6; }

.room-peak .room-peak-title { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; font-size: clamp(56px, 9vw, 140px); line-height: 1.1; letter-spacing: -.015em; margin: 0 0 24px; padding: 0; color: var(--fg); text-shadow: 0px 2px 7px rgba(0, 0, 0, 0.3); }
.room-peak-title em,
.room-peak-title .hub-room-teaser-accent { font-style: normal; color: var(--color-accent); }   /* Hero: Akzent aus dem Teaser */
.room-peak-text p { font-size: 20px; line-height: 1.6; max-width: 620px; margin: 0 0 10px; opacity: .9; }
.room-peak .room-peak-button { margin-top: 22px; }

/* Kompakt (Hero): kleinerer Titel, breiter, damit er mit Text + Button unten bleibt und das Gemälde frei steht */
.room-peak--compact .room-peak-text-inner { max-width: 960px; }
.room-peak.room-peak--compact .room-peak-title { font-size: clamp(48px, 7.2vw, 110px); }

/* Zeile unter dem Button (Hero: "Oder direkt anrufen: …"), wie .hub-room-teaser-cta-note */
.room-peak .room-peak-text p.room-peak-note { margin: 16px 0 0; font-size: 14px; opacity: 1; color: rgba(242, 242, 239, 0.66); }
.room-peak-note a { margin-left: 6px; font-family: var(--font-display, inherit); font-size: 18px; font-weight: 600; letter-spacing: .04em; color: #f2f2ef; text-decoration: none; transition: color .25s ease; }
.room-peak-note a:hover { color: #c9a45c; }

/* ── Ken-Burns (Option 'kenburns'): Raum zoomt ganz langsam aufs Gemälde zu und wieder zurück ──
   Nur CSS. Läuft auf JEDER Folie dauerhaft (hin und her), darum springt beim Raumwechsel nichts.
   Zoom-Mitte = dort, wo js/room_peak.js das Gemälde hinschiebt (breit 64 % / 32 %, Text rechts 30 %, Handy mittig). */
@-webkit-keyframes roomPeakKenBurns {
    from { -webkit-transform: scale(1); transform: scale(1); }
    to   { -webkit-transform: scale(1.07); transform: scale(1.07); }
}
@keyframes roomPeakKenBurns {
    from { transform: scale(1); }
    to   { transform: scale(1.07); }
}
.room-peak--kenburns .hub-room-teaser-slide {
    -webkit-transform-origin: 64% 32%;
    transform-origin: 64% 32%;
    will-change: transform;
    -webkit-animation: roomPeakKenBurns 24s ease-in-out infinite alternate;
    animation: roomPeakKenBurns 24s ease-in-out infinite alternate;
}
.room-peak--kenburns.room-peak--right .hub-room-teaser-slide {
    -webkit-transform-origin: 30% 32%;
    transform-origin: 30% 32%;
}
@media (max-width: 899px) {
    .room-peak--kenburns .hub-room-teaser-slide,
    .room-peak--kenburns.room-peak--right .hub-room-teaser-slide {
        -webkit-transform-origin: 50% 45%;
        transform-origin: 50% 45%;
    }
}
@media (prefers-reduced-motion: reduce) {
    .room-peak--kenburns .hub-room-teaser-slide { -webkit-animation: none; animation: none; }
}

/* Platz für Extra-HTML unter dem Text (z. B. "Alle Räume ansehen") */
.room-peak-extra { margin-top: 22px; }

/* ── Raum-Chips (Werkseite): unten rechts, Glas-Look ── */
.room-peak-chips {
    position: absolute;
    right: 24px;
    bottom: 40px;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    max-width: 46%;
}
.room-peak--right .room-peak-chips { right: auto; left: 24px; justify-content: flex-start; }
.room-peak-chip {
    margin: 0;
    padding: 10px 18px;
    border: 1px solid rgba(242, 242, 239, .28);
    border-radius: 999px;
    background: rgba(12, 13, 14, .45);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: #f2f2ef;
    font-family: var(--font-display, inherit);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.room-peak-chip { position: relative; overflow: hidden; }
.room-peak-chip:hover { border-color: rgba(242, 242, 239, .7); }

/* Laufleiste im aktiven Chip (Option 'chip_autoplay'): läuft in --peak-chip-time voll, dann nächster Raum */
.room-peak-chip-bar {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 5px;
    height: 2px;
    border-radius: 2px;
    background: rgba(12, 13, 14, .15);
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
}
.room-peak-chip-bar::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: var(--color-accent, #c9a45c);
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
}
.room-peak-chip.is-running .room-peak-chip-bar { opacity: 1; }
.room-peak-chip.is-running .room-peak-chip-bar::before {
    -webkit-animation: roomPeakChipBar var(--peak-chip-time, 5000ms) linear forwards;
    animation: roomPeakChipBar var(--peak-chip-time, 5000ms) linear forwards;
}
.room-peak.is-paused .room-peak-chip-bar::before {
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
}
@-webkit-keyframes roomPeakChipBar { from { -webkit-transform: scaleX(0); transform: scaleX(0); } to { -webkit-transform: scaleX(1); transform: scaleX(1); } }
@keyframes roomPeakChipBar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.room-peak-chip.is-active {
    background: #f2f2ef;
    border-color: #f2f2ef;
    color: #0c0d0e;
}

/* Dezenter Link zum Werk: gegenüber vom Text */
.room-peak-credit {
    position: absolute; right: 24px; bottom: 32px; z-index: 3;
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12px; letter-spacing: .08em; color: var(--fg); text-decoration: none;
    opacity: .6; transition: opacity .25s ease;
}
.room-peak--right .room-peak-credit { right: auto; left: 24px; }
.room-peak-credit:hover, .room-peak-credit:focus { opacity: 1; }
.room-peak-credit svg { width: 14px; height: 14px; flex: 0 0 auto; }

/* Handy: Raum oben als eigener Block, Text darunter (sonst liegt der große Titel über dem Gemälde) */
@media (max-width: 899px) {
    .room-peak { min-height: 80vh; }
    .room-peak-text { padding-bottom: 64px; }
    .room-peak--rooms { display: block; min-height: 0; }
    .room-peak--rooms .room-peak-image { position: relative; height: 62vh; --hrt-image-h: 62vh; }
    .room-peak--rooms .room-peak-image::after { height: 35%; }
    .room-peak .hub-room-teaser-scene { width: 100%; width: max(100%, calc(var(--hrt-image-h) * var(--room-ratio))); }
    .room-peak--rooms .room-peak-text { margin-top: -40px; padding-bottom: 32px; }
    .room-peak--right .room-peak-text-inner { margin-left: 0; }
    .room-peak .room-peak-button { display: flex; justify-content: center; width: 100%; white-space: normal; text-align: center; box-sizing: border-box; }
    .room-peak-credit, .room-peak--right .room-peak-credit { position: relative; left: auto; right: auto; bottom: auto; margin: 0 24px 56px; }
    /* Chips: direkt unten IM Raumbild (über dem Text), wischbar in einer Zeile.
       Reihenfolge per flex order: Raum → Chips → Text → Werk-Link */
    .room-peak--rooms { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: stretch; align-items: stretch; }
    .room-peak--rooms .room-peak-image { -webkit-order: 0; order: 0; }
    .room-peak--rooms .room-peak-chips { -webkit-order: 1; order: 1; }
    .room-peak--rooms .room-peak-text { -webkit-order: 2; order: 2; }
    .room-peak--rooms .room-peak-credit { -webkit-order: 3; order: 3; }
    .room-peak-chips, .room-peak--right .room-peak-chips {
        position: relative; left: auto; right: auto; bottom: auto;
        z-index: 3;
        max-width: none;
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin-top: -58px;                   /* liegt auf dem unteren Rand des Raumbilds */
        padding: 0 24px 14px;
    }
    .room-peak--chips .room-peak-text { margin-top: 0; padding-top: 18px; }
    .room-peak-chip { flex: 0 0 auto; padding: 9px 14px; font-size: 13px; }
    /* Scrollbar der Chip-Leiste ausblenden (wischen geht weiter) */
    .room-peak-chips { -ms-overflow-style: none; scrollbar-width: none; }
    .room-peak-chips::-webkit-scrollbar { display: none; width: 0; height: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .room-peak .hub-room-teaser-slide { transition: none; }
}
