/* ============================================================
   SUMMER ENDS — A visual archive of roads, landscapes and distant places.
   Redesign v2 (25.08.2026): dunkel, edel, fotografisch — Fotobuch-Charakter.

   Designsystem:
   --bg            #0E0F10  Haupthintergrund
   --surface       #17191B  abgesetzte Flaechen
   --surface-soft  #1E2023  Hover-Flaechen
   --text          #ECE9E2  Haupttext
   --text-muted    #A5A39D  Sekundaertext
   --text-subtle   #7E7B74  dezenteste Metadaten (Kontrast >= 4.5)
   --line          #303236  Linien
   --accent        #B89A68  warmer Akzent (sparsam)
   --accent-route  #C66A45  Routenakzent (nur Route/Etappen)

   Grundsaetze: keine Cards, keine Boxen, keine Neon-/Gaming-Optik,
   kein Slider, kein Parallax, Animationen nur dezent,
   prefers-reduced-motion wird respektiert.
   ============================================================ */

:root {
    --bg: #0E0F10;
    --surface: #17191B;
    --surface-soft: #1E2023;
    --text: #ECE9E2;
    --text-muted: #A5A39D;
    --text-subtle: #7E7B74;
    --line: #303236;
    --accent: #B89A68;
    --accent-route: #C66A45;

    --content-width: 1240px;          /* einheitlicher Inhaltscontainer */
    --reading-width: 780px;           /* Lesebreite fuer Text-/Rechtsseiten */
    --image-width: min(1600px, 94vw); /* grosse Foto-Flaechen */
    --wide-width: min(1900px, 100%);  /* Hero / Header */

    --space-sm: 16px;
    --space-md: 32px;
    --space-lg: 64px;
    --space-xl: 96px;
    --space-xxl: 120px;
}

/* ============================================================
   1) BASE
   ============================================================ */
body,
.site,
#page,
body.custom-background {
    background-color: var(--bg) !important;
    color: var(--text);
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.7;
}

/* Content-Container auf volle Breite oeffnen; .se-*-Klassen steuern Breiten */
.content-wrapper.container,
.content-area,
#primary,
.post-wrap {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
}
.content-wrapper .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.content-area .sidebar,
#secondary {
    display: none;
}
.content-area .post-wrap,
.content-area main {
    width: 100% !important;
    float: none !important;
}
.page .content-inner,
.page .post-wrap .content-inner {
    max-width: none;
}
.single .content-inner,
.single .post-wrap .content-inner {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}
.archive .post-wrap,
.category .post-wrap,
.blog .post-wrap {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
}

/* ============================================================
   LEGACY-EINZELBEITRAEGE (Sydney-Template, keine se-Etappe)
   Dieselben Grundwerte wie Journey-Etappen: Titel, Textbreite,
   Abstaende, Medien. Mobil 20-24px Innenabstand.
   ============================================================ */
.single .entry-header {
    max-width: 980px;
    margin: 0 auto;
    padding: 56px 48px 8px;
}
.single .entry-header .entry-title {
    font-size: clamp(30px, 4.2vw, 52px);
    line-height: 1.12;
    letter-spacing: 0.02em;
    overflow-wrap: break-word;
}
.single .content-inner,
.single .post-wrap .content-inner {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 80px;
}
.single .entry-content {
    max-width: var(--reading-width);
    margin: 0 auto;
    padding: 24px 48px 0;
    font-size: 17px;
    line-height: 1.72;
}
.single .entry-content p {
    margin: 0 0 1.15em;
}
.single .entry-content img {
    height: auto;
}
/* Zwischenueberschriften, Listen und Zitate an das Textsystem angleichen */
.single .entry-content h2,
.single .entry-content h3 {
    margin: 1.8em 0 0.6em;
    line-height: 1.25;
}
.single .entry-content h2 {
    font-size: clamp(24px, 2.4vw, 30px);
    font-weight: 600;
}
.single .entry-content h3 {
    font-size: clamp(19px, 1.8vw, 22px);
    font-weight: 600;
}
.single .entry-content ul,
.single .entry-content ol {
    margin: 0 0 1.3em;
    padding-left: 1.5em;
}
.single .entry-content li {
    margin-bottom: 0.5em;
    line-height: 1.65;
}
.single .entry-content blockquote {
    margin: 1.6em 0;
    padding: 4px 0 4px 22px;
    border-left: 2px solid var(--accent);
    font-style: italic;
    color: var(--text-muted);
}
/* YouTube-Click-to-Load in Legacy-Posts: Desktop 960-1100px breit (aus dem
   Textfluss zentriert), 16:9; gemeinsames vertikales Abstandssystem 32px. */
.single .entry-content .se-yt-ctl {
    width: min(1080px, calc(100vw - 96px));
    max-width: 1080px;
    margin: 32px 0;
    margin-left: 50%;
    transform: translateX(-50%);
}
@media (max-width: 640px) {
    .single .entry-header {
        padding: 32px 24px 4px;
    }
    .single .entry-header .entry-title {
        font-size: clamp(26px, 8vw, 34px);
    }
    .single .entry-content {
        padding: 20px 24px 0;
        font-size: 16px;
    }
    .single .entry-content .se-yt-ctl {
        width: calc(100vw - 48px);
        margin: 28px 0;
        margin-left: 50%;
    }
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.widget-title,
.page-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 400;
    color: var(--text);
    letter-spacing: 0.02em;
}

a,
.entry-content a,
.entry-content a:visited {
    color: #C9C5BC;
    text-decoration: none;
    transition: color 0.3s ease;
}
a:hover,
a:focus,
.entry-content a:hover,
.entry-content a:focus {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

/* Sichtbarer Tastaturfokus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}

::selection {
    background: var(--accent);
    color: var(--bg);
}

/* ============================================================
   2) SKIP-LINK
   ============================================================ */
.se-skip-link {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 100000;
    padding: 10px 18px;
    background: var(--accent);
    color: var(--bg);
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: translateY(-200%);
    transition: transform 0.2s ease;
}
.se-skip-link:focus {
    transform: translateY(0);
    color: var(--bg);
    text-decoration: none;
}

/* ============================================================
   3) HEADER — dunkel, dezente Transparenz beim Scrollen
   ============================================================ */
.shfb-header,
.shfb-header .shfb-row-wrapper,
.shfb-header .shfb-row-wrapper.shfb-main_header_row {
    background: rgba(14, 15, 16, 0.92) !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    border-bottom: 1px solid var(--line);
    box-shadow: none !important;
}
.shfb-header .container,
.site-header .container {
    max-width: var(--wide-width) !important;
    width: 100% !important;
    padding-left: 48px;
    padding-right: 48px;
}
.shfb-header .shfb-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 84px;
    padding: 0;
}

/* Wortmarke = Home-Link */
.shfb-header .site-branding,
.shfb-header .site-title,
.site-header .site-title a {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text) !important;
}
.shfb-header .site-description,
.shfb-header .site-tagline,
.site-header .site-description {
    display: none;
}

/* Navigation: ruhig, gesperrt */
.main-navigation a,
#mainnav a,
.mainnav a {
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 400;
    color: var(--text-muted) !important;
    padding: 0.6em 1.1em;
}
.main-navigation a:hover,
#mainnav a:hover,
.mainnav a:hover {
    color: var(--text) !important;
    text-decoration: none;
}
/* Aktiver Menuepunkt: Gold (Vorgabe: Gold nur fuer aktive Zustaende) */
.main-navigation .current-menu-item > a,
#mainnav .current-menu-item > a,
.mainnav .current-menu-item > a {
    color: var(--accent) !important;
    text-decoration: none;
}
.main-navigation ul ul,
#mainnav ul ul,
.mainnav ul ul,
.main-navigation .sub-menu {
    background: var(--surface);
    border: 1px solid var(--line);
    box-shadow: none;
}
.main-navigation ul ul a,
#mainnav ul ul a {
    text-transform: none;
    letter-spacing: 0.03em;
    font-size: 14px;
    font-weight: 400;
    color: var(--text-muted) !important;
}
.main-navigation ul ul a:hover {
    background: var(--surface-soft);
    color: var(--text) !important;
}

/* ============================================================
   4) HERO — ~90vh, ein starkes Bild, dunkler Verlauf
   ============================================================ */
.se-hero {
    position: relative;
    margin: 0 auto;
    max-width: var(--wide-width);
    height: 90vh;
    min-height: 520px;
    overflow: hidden;
    display: block;
    color: inherit;
}
.se-hero img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.97);
}
.se-hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(14, 15, 16, 0.85) 0%, rgba(14, 15, 16, 0.3) 30%, transparent 52%);
}
.se-hero-text {
    position: absolute;
    left: 48px;
    right: 48px;
    bottom: 44px;
    max-width: 980px;
}
.se-hero-text .se-hero-title {
    margin: 0 0 12px;
    font-size: clamp(48px, 5.5vw, 80px);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: 0.06em;
    color: var(--text);
}
.se-hero .se-hero-text .se-hero-tagline {
    margin: 0 0 16px;
    font-size: clamp(17px, 1.8vw, 22px);
    font-weight: 300;
    line-height: 1.45;
    color: var(--text);
    opacity: 0.88;
    max-width: 620px;
}
.se-hero-text .se-hero-years {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--text-muted);
}

/* ============================================================
   5) SEKTIONS-UEBERSCHRIFTEN + gemeinsame Elemente
   ============================================================ */
.se-section {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(30px, 2.4vw, 38px);
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--text);
    margin: var(--space-xxl) auto 40px;
    max-width: var(--image-width);
    padding: 0 48px;
}
.se-section-left {
    text-align: left;
}
.se-section-narrow {
    max-width: var(--content-width);
}

/* ============================================================
   6) FEATURED JOURNEY — grosses Foto + sekundaeres Karten-Inset
   ============================================================ */
.se-feature-journey {
    display: block;
    margin: 0 auto;
    max-width: var(--wide-width);
    padding: 0 48px;
    color: inherit;
    position: relative;
}
.se-feature-journey:hover { text-decoration: none; }
.se-feature-journey .se-fj-img {
    display: block;
    overflow: hidden;
}
.se-feature-journey .se-fj-photo {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 21 / 9;
    object-fit: cover;
    filter: brightness(0.96);
    transition: filter 0.5s ease;
}
.se-feature-journey:hover .se-fj-photo {
    filter: brightness(1);
}
.se-fj-row {
    display: grid;
    grid-template-columns: 1fr minmax(220px, 300px);
    gap: 40px;
    align-items: end;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0 48px 26px;
    z-index: 2;
}
.se-feature-journey::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 32%;
    background: linear-gradient(to top, rgba(10, 10, 11, 0.90), rgba(10, 10, 11, 0));
    pointer-events: none;
    z-index: 1;
}
.se-fj-text {
    display: block;
    padding: 0;
    max-width: 640px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.60);
}
.se-fj-text .se-fj-name {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(28px, 2.6vw, 40px);
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--text);
    transition: color 0.3s ease;
    display: block;
}
.se-fj-meta {
    display: block;
    margin-top: 4px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.se-fj-desc {
    display: block;
    margin-top: 10px;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.55;
    color: var(--text-muted);
    max-width: 640px;
}
.se-feature-journey:hover .se-fj-text .se-fj-name { color: var(--accent); }
.se-fj-route {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 2px;
    background: none;
    border: none;
    justify-self: end;
}
.se-fj-route-txt {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.se-fj-route-label {
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--accent);
}
.se-fj-route-name {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 18px;
    font-weight: 500;
    color: var(--text);
}

/* ============================================================
   7) SELECTED JOURNEYS — asymmetrisches Editorial-Grid, 6 Reisen
   ============================================================ */
.se-selected {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 28px 24px;
    max-width: var(--image-width);
    margin: 0 auto;
    padding: 0 48px;
}
.se-sel {
    display: block;
    color: inherit;
    overflow: hidden;
    position: relative;
}
.se-sel:hover { text-decoration: none; }
.se-sel img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.96);
    transition: filter 0.5s ease;
}
.se-sel:hover img { filter: brightness(1); }
.se-sel-a { grid-column: span 7; grid-row: span 2; }
.se-sel-b { grid-column: span 5; }
.se-sel-c { grid-column: span 5; }
.se-sel-d { grid-column: span 4; }
.se-sel-e { grid-column: span 4; }
.se-sel-f { grid-column: span 4; }
.se-sel-d img,
.se-sel-e img,
.se-sel-f img { aspect-ratio: 4 / 3; }
.se-sel::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 36%;
    background: linear-gradient(to top, rgba(10, 10, 11, 0.90), rgba(10, 10, 11, 0));
    pointer-events: none;
    z-index: 1;
}
.se-sel .se-sel-cap {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 18px 18px 16px;
    z-index: 2;
    pointer-events: none;
}
.se-sel .se-sel-cap::before {
    content: "";
    display: block;
    width: 26px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 9px;
}
.se-sel-name {
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.22;
    color: var(--text);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.60);
    transition: color 0.3s ease;
}
.se-sel-meta {
    display: block;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-top: 4px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.60);
}
.se-sel:hover .se-sel-name { color: var(--accent); }
.se-sel:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ============================================================
   8) PHOTOGRAPHY (Startseite) — ruhige kuratierte Auswahl
   ============================================================ */
.se-photography {
    background: var(--surface);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    margin-top: var(--space-xxl);
    padding: var(--space-xl) 0 var(--space-lg);
}
.se-photography .se-section {
    margin-top: 0;
    margin-bottom: var(--space-lg);
}
.se-photo-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 300px;
    gap: 20px;
    max-width: var(--image-width);
    margin: 0 auto;
    padding: 0 48px;
}
.se-photo {
    display: block;
    overflow: hidden;
    position: relative;
    background: none;
    color: inherit;
}
.se-photo:hover { text-decoration: none; }
.se-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.96);
    transition: filter 0.4s ease;
}
.se-photo:hover img { filter: brightness(1); }
.se-photo::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 34%;
    background: linear-gradient(to top, rgba(10, 10, 11, 0.90), rgba(10, 10, 11, 0));
    pointer-events: none;
    z-index: 1;
}
.se-photo::after {
    content: attr(data-lb-caption);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 18px 18px 16px;
    color: var(--text);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.02em;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.60);
    pointer-events: none;
    z-index: 2;
    transition: color 0.4s ease;
}
.se-photo-cap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 18px 18px 16px;
    color: var(--text);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.02em;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.60);
    pointer-events: none;
    z-index: 2;
    transition: color 0.4s ease;
}
.se-photo:has(.se-photo-cap)::after { content: none; }
.se-photo:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.se-photo:hover::after, .se-photo:hover .se-photo-cap { color: var(--accent); opacity: 1; }
.se-photo-a { grid-column: span 6; grid-row: span 2; }
.se-photo-b { grid-column: span 3; }
.se-photo-c { grid-column: span 3; }
.se-photo-d { grid-column: span 3; }
.se-photo-e { grid-column: span 3; }
.se-photo-f { grid-column: span 4; }
.se-photo-g { grid-column: span 4; }
.se-photo-h { grid-column: span 4; }
.se-photo-all {
    display: block;
    margin: 36px auto 0;
    max-width: var(--image-width);
    padding: 0 48px;
    text-align: left;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.se-photo-all:hover { color: var(--accent); }
.se-photo-center { text-align: center; }

/* ============================================================
   9) MAP / PLACES — reduzierte dunkle Uebersicht (SVG, lokal)
   ============================================================ */
.se-map-wrap {
    position: relative;
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 28px 48px 96px;
}
.se-map-canvas {
    position: relative;
}
.se-map {
    display: block;
    width: 100%;
    height: auto;
    background: var(--surface);
}
/* Meer + dezentes Gradnetz (ruhige Atlas-Optik) */
.se-map-sea {
    fill: #17191B;
}
.se-map-graticule line {
    stroke: #20242A;
    stroke-width: 0.6;
}
/* Landmassen (nicht bereiste) */
.se-map-world path {
    fill: #26292E;
    stroke: #1A1D21;
    stroke-width: 0.5;
}
/* Bereiste Laender: Bronze-Flaechen, klickbar, Hover-Aufhellung (besserer Kontrast) */
.se-map-land {
    cursor: pointer;
}
.se-map-land path {
    fill: #5A543A;
    stroke: #26292E;
    stroke-width: 0.7;
    transition: fill 0.3s ease;
}
.se-map-land:hover path,
.se-map-land:focus path {
    fill: #7A6F45;
}
/* Marker: feiner Ring + Punkt, Hover-Label mit Kontur-Halo */
.se-map-marker {
    cursor: pointer;
}
.se-map-ring {
    fill: none;
    stroke: var(--accent);
    stroke-width: 1.3;
    opacity: 0.6;
    transition: opacity 0.25s ease, r 0.25s ease;
    r: 7.5px;
}
.se-map-dot {
    fill: var(--accent);
    stroke: var(--bg);
    stroke-width: 1.2;
    transition: fill 0.25s ease;
}
.se-map-marker:hover .se-map-dot,
.se-map-marker:focus .se-map-dot {
    fill: var(--text);
}
.se-map-marker:hover .se-map-ring,
.se-map-marker:focus .se-map-ring {
    opacity: 1;
    r: 9px;
}
.se-map-label {
    font-family: "Inter", sans-serif;
    font-size: 9.5px;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    fill: var(--text-muted);
    paint-order: stroke;
    stroke: #17191B;
    stroke-width: 3px;
    stroke-linejoin: round;
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
}
.se-map-marker:hover .se-map-label,
.se-map-marker:focus .se-map-label {
    opacity: 1;
}
.se-map-marker:focus-visible {
    outline: 1px solid var(--accent);
    outline-offset: 2px;
}
/* Auf kleinen Schirmen: Marker und Labels groesser (Touch-Trefferflaeche) */
@media (max-width: 600px) {
    .se-map-hit { r: 18px; }
    .se-map-ring { r: 11px; }
    .se-map-dot { r: 4.2px; }
    .se-map-label { font-size: 11px; }
}
/* Tooltip (eigenes JS, kein natives <title>) */
.se-map-tip {
    position: absolute;
    z-index: 5;
    display: none;
    max-width: 260px;
    padding: 9px 13px;
    background: var(--surface-soft);
    border: 1px solid var(--line);
    border-radius: 2px;
    font-size: 12px;
    letter-spacing: 0.04em;
    color: var(--text-muted);
    pointer-events: none;
}
.se-map-tip.is-visible {
    display: block;
}
.se-map-tip-land {
    display: block;
    color: var(--text);
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}
.se-map-tip-meta {
    display: block;
    margin-top: 2px;
    font-size: 13px;
    color: var(--text-muted);
}
.se-map-hint {
    font-size: 13px;
    letter-spacing: 0.08em;
    color: var(--text-subtle);
    margin-top: 14px;
}
.se-map-hint a { color: var(--text-muted); }
.se-map-hint a:hover { color: var(--accent); }

/* Vollbild-Button: nur Mobil sichtbar */
.se-map-fullscreen {
    display: none;
    margin: 18px auto 0;
    padding: 12px 26px;
    background: none;
    border: 1px solid var(--accent);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text);
    cursor: pointer;
    transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}
/* Statische Vorschau: nur Mobil (Desktop zeigt die interaktive Karte) */
.se-map-static {
    display: none;
}
.se-map-fullscreen:hover,
.se-map-fullscreen:focus {
    color: var(--accent);
    border-color: var(--accent);
}
@media (max-width: 640px) {
    .se-map-fullscreen { display: block; }
    /* Statische Vorschau nur mobil, oberhalb des Buttons */
    .se-map-static {
        display: block;
        margin: 0 0 4px;
        border: 1px solid var(--line);
        overflow: hidden;
        cursor: pointer;
    }
    .se-map-static .se-map {
        display: block;
        width: 100%;
        height: auto;
    }
    .se-map-canvas { display: none; }
    .se-map-canvas.is-fullscreen {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 10000;
        background: var(--bg);
        padding: 56px 16px 16px;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    .se-map-canvas.is-fullscreen .se-map-tip { display: none; }
    .se-map-canvas.is-fullscreen + .se-map-fullscreen {
        display: none;
    }
    .se-map-fullscreen-close {
        position: fixed;
        top: 10px;
        right: 14px;
        z-index: 10001;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        padding: 0 !important;
        border: 1px solid var(--line);
        border-radius: 50%;
        background: var(--surface);
        color: var(--text);
        font-size: 22px;
        line-height: 1;
        cursor: pointer;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }
}

/* ============================================================
   10) TIMELINE — Jahre als ruhige chronologische Uebersicht
   ============================================================ */
.se-timeline {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 0 48px;
}
.se-tl-row {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 24px;
    padding: 13px 0;
    border-bottom: 1px solid rgba(48, 50, 54, 0.45);
}
.se-tl-row:first-of-type { border-top: 1px solid rgba(48, 50, 54, 0.45); }
.se-tl-year {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 24px;
    color: var(--text-muted);
}
.se-tl-year a { color: var(--text-muted); }
.se-tl-year a:hover { color: var(--accent); }
.se-tl-journeys {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 28px;
    align-items: baseline;
}
.se-tl-j {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--text);
}
.se-tl-j:hover { color: var(--accent); }
.se-tl-more {
    max-width: var(--content-width);
    margin: 28px auto 0;
    padding: 0 48px;
    text-align: left;
}
.se-tl-more a {
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.se-tl-more a:hover { color: var(--accent); }

/* ============================================================
   11) ABSCHLUSS + FOOTER
   ============================================================ */
.se-closing {
    max-width: var(--content-width);
    margin: var(--space-xxl) auto var(--space-lg);
    padding: 0 48px;
    font-size: clamp(17px, 1.8vw, 21px);
    font-weight: 300;
    line-height: 1.6;
    color: var(--text-muted);
}

.shfb-footer,
#colophon {
    background: var(--surface) !important;
    border-top: 1px solid var(--line);
    padding: var(--space-lg) 0;
}
.shfb-footer .shfb-row {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 2.5em;
    flex-wrap: wrap;
}
.shfb-footer .shfb-column { text-align: center; }
.shfb-footer .shfb-component-copyright { display: none; }
.se-footer-brand {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.16em;
    color: var(--text);
    margin-bottom: 6px;
}
.se-footer-tagline {
    font-size: 13px;
    font-weight: 300;
    letter-spacing: 0.04em;
    color: var(--text-subtle);
    margin-bottom: 14px;
}
.se-footer-links { font-size: 12.5px; }
.se-footer-links a {
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.se-footer-links a:hover { color: var(--text); }
.shfb-footer .sydney-credits {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.08em;
    color: var(--text-subtle);
}
.shfb-footer a {
    font-size: 12.5px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.shfb-footer a:hover { color: var(--text); text-decoration: none; }

/* ============================================================
   12) JOURNEY-ARCHIV (Shortcode se_journeys)
   ============================================================ */
.se-archiv {
    max-width: var(--image-width);
    margin: 0 auto;
    padding: 0 48px 96px;
}
/* ============================================================
   Fotografischer Seitenkopf (festes Panorama, kein Slider)
   ============================================================ */
.se-archiv-hero {
    position: relative;
    height: 380px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    margin-bottom: 64px;
    margin-left: calc(50% - 50vw);
    width: 100vw;
    background: var(--surface);
}
.se-archiv-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.se-archiv-hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 10, 11, 0.62) 0%, rgba(8, 10, 11, 0.18) 45%, rgba(8, 10, 11, 0.78) 100%);
}
.se-archiv-hero-text {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--image-width);
    margin: 0 auto;
    padding: 0 48px 44px;
}
.se-archiv-hero .se-archiv-hero-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(56px, 8vw, 92px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.03em;
    color: #ffffff;
    margin: 0 0 12px;
}
.se-archiv-hero-sub {
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: #EDEAE3;
    margin: 0 0 10px;
}
.se-archiv-hero-stats {
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin: 0;
}

/* ============================================================
   Latest Journey (neueste Reise, grosse Editorial-Komposition)
   ============================================================ */
.se-latest {
    margin-bottom: 48px;
}
.se-latest-link {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 32px;
    align-items: center;
    text-decoration: none;
    color: inherit;
}
.se-latest-img {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--surface);
}
.se-latest-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform 0.8s ease;
}
.se-latest-link:hover .se-latest-img img { transform: scale(1.015); }
.se-latest-kicker {
    font-size: 13px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--accent);
    margin: 0 0 14px;
}
.se-latest-text .se-latest-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.02em;
    color: var(--text);
    margin: 0 0 14px !important;
}
.se-latest-meta {
    font-size: 13.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 20px;
}
.se-latest-more {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--accent);
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(184, 154, 104, 0.55);
    transition: border-color 0.25s ease, color 0.25s ease;
}
.se-latest-more::after {
    content: "→";
    transition: transform 0.3s ease;
}
.se-latest-link:hover .se-latest-more::after { transform: translateX(6px); }
.se-latest-link:hover .se-latest-more { border-color: var(--accent); }

/* Filter: drei klar getrennte Gruppen als dezente Dropdowns (Year · Place · Journey type) */
.se-filters-wrap {
    position: sticky;
    top: 0;
    z-index: 40;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    background: var(--bg);
    border-bottom: 1px solid var(--line);
    padding: 14px 0;
    margin-bottom: 56px;
}
.se-filters-toggle {
    display: none;
}
.se-archiv-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 32px;
    max-width: var(--image-width);
    margin: 0 auto;
    padding: 0 48px;
    align-items: flex-end;
}
.se-filter-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.se-filter-label {
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-subtle);
}
.se-filter-select {
    appearance: none;
    -webkit-appearance: none;
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 10px 36px 10px 14px;
    font-size: 13px;
    letter-spacing: 0.05em;
    line-height: 1.3;
    cursor: pointer;
    min-height: 42px;
    min-width: 170px;
    transition: border-color 0.25s ease, color 0.25s ease;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23A5A39D' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 13px center;
}
.se-filter-select:hover {
    border-color: var(--text-muted);
}
.se-filter-select:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}
.se-filter-select.is-active {
    border-color: var(--accent);
    color: var(--accent);
}
/* Mobile: nur ein "Filters"-Button, Panel klappt auf */
@media (max-width: 767px) {
    .se-filters-toggle {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: none;
        border: 1px solid var(--line);
        border-radius: 6px;
        color: var(--text);
        font-size: 12px;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        padding: 12px 18px;
        cursor: pointer;
        min-height: 44px;
        margin-bottom: 24px;
    }
    .se-filters-toggle:hover { border-color: var(--text-muted); }
    .se-filters-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
    .se-archiv-filters {
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        margin-bottom: 28px;
    }
    .se-filters-wrap.open .se-archiv-filters { display: flex; }
    .se-filter-select { width: 100%; min-width: 0; }
    .se-filters-wrap { margin-bottom: 32px; }
}
/* Raster: Jahresabschnitte (Editorial), darin 3 Spalten — 2 Tablet, 1 Mobil */
.se-archiv-grid {
    display: block;
}
.se-year-section {
    margin-bottom: 84px;
}
.se-year-head {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-bottom: 40px;
}
.se-year-label {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 46px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.05em;
    color: var(--accent);
    opacity: 0.85;
}
.se-year-line {
    flex: 1;
    height: 1px;
    background: rgba(184, 154, 104, 0.4);
}
.se-year-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 64px 28px;
}
.se-archiv-item {
    display: block;
    color: inherit;
}
.se-archiv-item:hover { text-decoration: none; }
/* Tastaturfokus fuer jede Karte sichtbar */
.se-archiv-item:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
    border-radius: 4px;
}
.se-archiv-img {
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--surface);
}
.se-archiv-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    transform: scale(1);
    transition: transform 0.7s ease;
}
.se-archiv-item:hover .se-archiv-img img { transform: scale(1.02); }
/* eleganter Platzhalter: dunkle Flaeche mit Titel + Jahr (kein Fake-Foto) */
.se-archiv-img-ph {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    padding: 22px;
    background: var(--surface);
    border-top: 1px solid var(--line);
}
.se-archiv-ph-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--text);
}
.se-archiv-ph-year {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-muted);
}
/* Titel + Metadaten unter dem Bild */
.se-archiv-name {
    display: block;
    position: relative;
    padding-top: 16px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 23px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--text);
    transition: color 0.25s ease;
}
/* dezente goldene Linie unter dem Titel (waechst beim Hover) */
.se-archiv-name::after {
    content: "";
    display: block;
    width: 26px;
    height: 1px;
    background: var(--accent);
    margin-top: 10px;
    transition: width 0.35s ease;
}
.se-archiv-item:hover .se-archiv-name::after { width: 48px; }
.se-archiv-meta {
    display: block;
    margin-top: 4px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #B5B3AC;
}
.se-archiv-item:hover .se-archiv-name { color: var(--accent); }
.se-archiv-item[hidden] { display: none; }
/* Leerer Filter-Zustand (eigene Meldung, falls kein Treffer) */
.se-archiv-empty {
    display: none;
    grid-column: 1 / -1;
    padding: 48px 0;
    color: var(--text-subtle);
    font-size: 14px;
    letter-spacing: 0.05em;
}
/* Dezenter Load-more-Button (nur Darstellung) */
.se-archiv-more {
    display: block;
    margin: 56px auto 0;
    padding: 12px 34px;
    min-height: 44px;
    background: none;
    border: 1px solid var(--accent);
    border-radius: 999px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text);
    cursor: pointer;
    transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}
.se-archiv-more:hover,
.se-archiv-more:focus-visible {
    color: var(--accent);
    border-color: var(--accent);
    background: rgba(184, 154, 104, 0.06);
}
/* Ergebnisanzahl der Filter (P2, 01.09.2026): deutlich, aber dezent */
.se-filter-count {
    max-width: var(--content-width);
    margin: 20px auto 0;
    padding: 0 48px;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-muted);
}
@media (max-width: 640px) {
    .se-filter-count {
        padding: 0 24px;
    }
}
/* Ueberschrift der Archiv-Seite: der fotografische Seitenkopf traegt die H1,
   der Theme-Titel wird ausgeblendet */
.page-id-47847 {
    overflow-x: clip;
}
.page-id-47847 .entry-header {
    display: none;
}
/* Shortcode-Seiten mit eigenem Seitenkopf (Places/Photography/Map):
   Theme-Titel ausblenden, damit nur ein h1 bleibt */
.page-id-47848 .entry-header,
.page-id-47849 .entry-header,
.page-id-47851 .entry-header {
    display: none;
}
/* Theme-Padding (#content.page-wrap 83px) fuer die Archiv-Seite entfernen:
   das Hero beginnt direkt unter dem Header */
.page-id-47847 #content.page-wrap {
    padding-top: 0;
}
.page-id-47847 .entry-header .entry-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(40px, 4.5vw, 64px);
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.1;
    color: var(--text);
    text-align: left;
}

/* ============================================================
   13) PLACES (Shortcode se_places) — Editorial: links Kontinent,
       rechts Laenderliste; Kennzahlen + Kontinentnavigation
   ============================================================ */
.se-page-head {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 56px 48px 0;
}
.se-page-head .se-page-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(38px, 4vw, 56px);
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.1;
    margin: 0 0 10px;
}
.se-page-head .se-page-sub {
    max-width: 640px;
    font-size: 17px;
    font-weight: 300;
    line-height: 1.6;
    color: var(--text-muted);
    margin: 0;
}

/* Kompakte Kennzahlen */
.se-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    max-width: var(--content-width);
    margin: 28px auto 0;
    padding: 0 48px;
}
.se-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 14px 22px;
    background: var(--surface);
    border-left: 1px solid var(--accent);
}
.se-stat-num {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 26px;
    font-weight: 600;
    color: var(--text);
}
.se-stat-label {
    font-size: 13px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-muted);
}

/* Kontinentnavigation */
.se-cont-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: var(--content-width);
    margin: 28px auto 0;
    padding: 0 48px;
}
.se-cont-link {
    padding: 7px 16px;
    border: 1px solid var(--line);
    border-radius: 999px;
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-muted);
    transition: color 0.25s ease, border-color 0.25s ease;
}
.se-cont-link:hover,
.se-cont-link:focus,
.se-cont-link.is-active {
    color: var(--accent);
    border-color: var(--accent);
    text-decoration: none;
}

/* Kontinent-Sektion: links Titel + Foto, rechts Laender */
.se-places {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 8px 48px 96px;
}
.se-continent {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 48px;
    padding: 48px 0 8px;
    border-bottom: 1px solid var(--line);
}
.se-continent:last-child { border-bottom: none; }
.se-cont-head {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.se-cont-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(32px, 3vw, 42px);
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--text);
    margin: 0;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--accent);
}
.se-cont-photo-wrap {
    overflow: hidden;
}
.se-cont-photo {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    filter: brightness(0.96);
}
/* P2 (01.09.2026): Mobil-Toggles + Zurueck-nach-oben */
.se-cont-summary {
    display: none; /* Desktop: Laenderlisten immer offen */
    list-style: none;
}
.se-cont-summary::-webkit-details-marker { display: none; }
.se-back-top {
    grid-column: 2;
    display: block;
    margin-top: 24px;
    font-size: 12.5px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.se-back-top:hover {
    color: var(--accent);
    text-decoration: none;
}
@media (max-width: 640px) {
    .se-continent {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .se-back-top {
        grid-column: 1;
    }
    .se-cont-summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 44px;
        padding: 10px 0;
        border-bottom: 1px solid var(--line);
        cursor: pointer;
        font-size: 13px;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: var(--text-muted);
    }
    .se-cont-summary::after {
        content: '−';
        color: var(--accent);
        font-size: 18px;
        line-height: 1;
    }
    .se-cont-countries:not([open]) .se-cont-summary::after { content: '+'; }
}

/* Laenderliste */
.se-cont-countries {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 24px 40px;
    align-content: start;
}
.se-country {
    padding-top: 6px;
}
.se-country-name {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 21px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--text);
    margin: 0 0 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--line);
}
.se-country-journeys {
    list-style: none;
    margin: 0;
    padding: 0;
}
.se-country-journeys li {
    margin: 0 0 6px;
    line-height: 1.5;
}
.se-country-journeys a {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 17px;
    color: #C9C5BC;
    transition: color 0.25s ease;
}
.se-country-journeys a:hover,
.se-country-journeys a:focus {
    color: var(--accent);
    text-decoration: none;
}
.se-country-meta {
    margin-left: 8px;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-subtle);
}

/* ============================================================
   14) PHOTOGRAPHY-GRUPPEN (Shortcode se_photography)
       Editorial: Leitbild (gross) + kleine Bilder, abwechselnd
   ============================================================ */
.se-photo-groups {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 8px 48px 96px;
}
.se-photo-section {
    padding: 40px 0 8px;
    border-bottom: 1px solid var(--line);
}
.se-photo-section:last-child { border-bottom: none; }
.se-photo-group-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(28px, 2.6vw, 36px);
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 0 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--accent);
}
.se-photo-group {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
    gap: 20px;
    align-items: start;
}
/* Leitbild ~2/3, ergaenzende Bilder in der schmaleren Nebenspalte (uebereinander);
   Position wechselt pro Abschnitt ueber data-lead (kein JS) */
.se-photo-group[data-lead="left"] .se-photo-lead { grid-column: 1 / span 2; }
.se-photo-group[data-lead="left"] .se-photo-small { grid-column: 3; }
.se-photo-group[data-lead="right"] .se-photo-lead { grid-column: 2 / span 2; }
.se-photo-group[data-lead="right"] .se-photo-small { grid-column: 1; }
.se-photo-group .se-photo {
    display: block;
    overflow: hidden;
    position: relative;
}
.se-photo-group .se-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.97);
    transition: filter 0.35s ease, transform 0.45s ease;
}
.se-photo-group .se-photo-lead img { aspect-ratio: 3 / 2; }
.se-photo-group .se-photo-small img { aspect-ratio: 4 / 3; }
.se-photo-group .se-photo:hover img,
.se-photo-group .se-photo:focus img {
    filter: brightness(1);
    transform: scale(1.02);
}
/* Dauerhaft sichtbare Beschriftung: Leitbild groesser, kleine 13-14px (mobil lesbar) */
.se-photo-group .se-photo-cap {
    font-size: clamp(13px, 1.1vw, 16px);
}
.se-photo-group .se-photo-lead .se-photo-cap {
    font-size: clamp(15px, 1.3vw, 18px);
}
/* Optionaler kurzer Einleitungssatz je Kategorie */
.se-photo-group-intro {
    font-size: 15px;
    line-height: 1.55;
    color: var(--text-muted);
    margin: -8px 0 22px;
}
/* Tablet: Leitbild volle Breite, ergaenzende darunter in zwei Spalten */
@media (max-width: 1024px) {
    .se-photo-group { grid-template-columns: repeat(2, 1fr); }
    .se-photo-group .se-photo-lead,
    .se-photo-group[data-lead="left"] .se-photo-lead,
    .se-photo-group[data-lead="right"] .se-photo-lead { grid-column: 1 / -1; }
    .se-photo-group .se-photo-small,
    .se-photo-group[data-lead="left"] .se-photo-small,
    .se-photo-group[data-lead="right"] .se-photo-small { grid-column: span 1; }
    .se-photo-group .se-photo-lead img { aspect-ratio: 21 / 9; }
}
/* Smartphone: einspaltig, natuerliche Lesereihenfolge (h2 -> Leitbild -> kleine) */
@media (max-width: 640px) {
    .se-photo-groups { padding-left: 24px; padding-right: 24px; }
    .se-photo-group { grid-template-columns: 1fr; gap: 16px; }
    .se-photo-group .se-photo-lead,
    .se-photo-group .se-photo-small,
    .se-photo-group[data-lead="left"] .se-photo-lead,
    .se-photo-group[data-lead="left"] .se-photo-small,
    .se-photo-group[data-lead="right"] .se-photo-lead,
    .se-photo-group[data-lead="right"] .se-photo-small { grid-column: 1; }
    .se-photo-group .se-photo-lead img { aspect-ratio: 4 / 3; }
}

/* ============================================================
   15) REISE-SEITE (Journey)
   ============================================================ */
.se-journey-hero {
    position: relative;
    max-width: var(--wide-width);
    margin: 0 auto;
    height: 72vh;
    min-height: 460px;
    overflow: hidden;
}
.se-journey-hero img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.9);
}
.se-journey-hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(14, 15, 16, 0.9) 0%, rgba(14, 15, 16, 0.3) 40%, transparent 65%);
}
.se-journey-hero-text {
    position: absolute;
    left: 48px;
    right: 48px;
    bottom: 36px;
}
.se-journey-title {
    margin: 0 0 8px;
    font-size: clamp(38px, 6vw, 72px);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: 0.03em;
}
.se-journey-meta {
    margin: 0;
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.se-journey-head {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 48px;
}
.se-journey-body {
    max-width: var(--image-width);
    margin: 0 auto;
    padding: 0 48px 96px;
}

/* Kompakte Reisedaten */
.se-journey-facts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 20px 0;
    margin: 40px 0 0;
}
.se-journey-fact-k {
    display: block;
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 4px;
}
.se-journey-fact-v {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 20px;
    color: var(--text);
}

/* Route / Etappen */
.se-journey-stages { margin-top: var(--space-lg); }
.se-route-list {
    border-top: 1px solid var(--line);
}
.se-route-item {
    border-bottom: 1px solid var(--line);
    padding: 20px 0;
}
.se-route-item.is-last { border-bottom: none; }
.se-route-link {
    display: grid;
    grid-template-columns: 72px minmax(220px, 380px) 1fr;
    gap: 28px;
    align-items: center;
    color: inherit;
}
.se-route-link:hover { text-decoration: none; }
.se-route-num {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 30px;
    font-weight: 400;
    color: var(--text-subtle);
    transition: color 0.3s ease;
}
.se-route-img {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--surface);
}
.se-route-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.94);
    transition: filter 0.5s ease;
}
.se-route-link:hover .se-route-img img { filter: brightness(1); }
.se-route-link:hover .se-route-num { color: var(--accent); }
.se-route-title {
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 23px;
    line-height: 1.3;
    color: var(--text);
    transition: color 0.3s ease;
}
.se-route-link:hover .se-route-title { color: var(--accent); }
.se-route-date {
    display: block;
    margin-top: 6px;
    font-size: 12.5px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-subtle);
}

/* Journal Notes (eingeklappt) */
.se-journey-notes { margin-top: var(--space-lg); }
/* Bootstrap setzt details{display:block} und bricht damit das native
   Ein-/Ausklappen: Kinder geschlossener details explizit ausblenden,
   geoeffnete wieder zeigen (verhindert Ueberlappung mit der Navigation). */
.se-notes:not([open]) > :not(summary) {
    display: none !important;
}
.se-notes[open] > .se-notes-list,
.se-notes[open] > .se-notes-content {
    display: block !important;
}
.se-notes {
    border: 1px solid var(--line);
    padding: 0 24px;
    background: var(--surface);
}
.se-notes summary {
    cursor: pointer;
    padding: 18px 0;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-muted);
    list-style: none;
    display: flex;
    align-items: baseline;
    gap: 10px;
}
.se-notes summary::-webkit-details-marker { display: none; }
.se-notes summary::before {
    content: '+';
    font-size: 16px;
    color: var(--accent);
    width: 14px;
}
.se-notes[open] summary::before { content: '−'; }
.se-notes summary em {
    font-style: normal;
    font-size: 12px;
    color: var(--text-subtle);
    letter-spacing: 0.1em;
}
.se-notes-list {
    padding: 4px 0 24px;
}
.se-note {
    padding: 14px 0;
    border-top: 1px solid var(--line);
}
.se-note-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 19px;
    color: var(--text);
}
.se-note-title:hover { color: var(--accent); }
.se-note-text {
    margin: 6px 0 0;
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--text-muted);
}
.se-notes-content {
    padding: 4px 0 24px;
    /* Text nutzt die volle Boxbreite (kein sichtbarer Rand mehr);
       Zeilenlaenge bleibt durch 16.5px/1.75 gut lesbar */
    max-width: 100%;
}
.se-notes-content p {
    font-size: 16.5px;
    line-height: 1.75;
    color: var(--text-muted);
}
.se-notes-content h2, .se-notes-content h3 {
    margin-top: 1.4em;
}

/* Navigation prev / up / next */
.se-journey-nav,
.se-etappe-nav {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 24px;
    align-items: end;
    border-top: 1px solid var(--line);
    margin-top: var(--space-lg);
    padding-top: 24px;
}
.se-journey-nav a,
.se-etappe-nav a {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: inherit;
}
.se-journey-nav a:hover,
.se-etappe-nav a:hover { text-decoration: none; }
.se-nav-dir {
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.se-nav-name {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 20px;
    color: var(--text);
    transition: color 0.3s ease;
}
.se-journey-nav a:hover .se-nav-name,
.se-etappe-nav a:hover .se-nav-name { color: var(--accent); }
.se-journey-nav-next,
.se-etappe-nav-next { text-align: right; }
.se-journey-nav-up,
.se-etappe-nav-up {
    font-size: 12.5px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-muted);
    white-space: nowrap;
}
.se-journey-nav-up:hover,
.se-etappe-nav-up:hover { color: var(--accent); }
.se-journey-empty {
    color: var(--text-muted);
    font-size: 17px;
}
/* Mobil: Previous / Journey / Next eindeutig stapeln, 44px Touchhoehe */
@media (max-width: 640px) {
    .se-journey-nav,
    .se-etappe-nav {
        grid-template-columns: 1fr;
        gap: 2px;
        text-align: left;
    }
    .se-journey-nav a,
    .se-etappe-nav a {
        min-height: 44px;
        justify-content: center;
        padding: 10px 0;
    }
    .se-journey-nav-next,
    .se-etappe-nav-next { text-align: left; }
}

/* ============================================================
   16) ETAPPEN-SEITE (Stage)
   ============================================================ */
.se-etappe-cover {
    max-width: var(--image-width);
    margin: 0 auto;
    padding: 40px 48px 0;
}
.se-etappe-cover img {
    display: block;
    width: 100%;
    height: auto;
}
.se-etappe-head {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 36px 48px 0;
}
.se-etappe-kicker {
    margin: 0 0 8px;
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.se-etappe-kicker a { color: var(--text-muted); }
.se-etappe-kicker a:hover { color: var(--accent); }
.se-etappe-title {
    margin: 0 0 8px;
    font-size: clamp(32px, 4.5vw, 52px);
    line-height: 1.12;
    letter-spacing: 0.02em;
}
.se-etappe-date {
    margin: 0;
    font-size: 12.5px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-subtle);
}
.se-etappe-gallery {
    max-width: var(--image-width);
    margin: 0 auto;
    padding: 40px 48px 0;
}
.se-etappe-imgs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.se-etappe-imgs .se-photo {
    background: var(--surface);
}
.se-etappe-imgs .se-photo img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
/* Journey-Seite: Galerie aller Reisebilder (nach der Route) */
.se-journey-gallery {
    max-width: var(--image-width);
    margin: 0 auto;
    padding: 40px 48px 0;
}
.se-journey-gallery .se-section {
    margin-top: 0;
    margin-bottom: var(--space-lg);
}
.se-journey-imgs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.se-journey-imgs .se-photo {
    background: var(--surface);
}
.se-journey-imgs .se-photo img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.se-etappe-notes {
    max-width: var(--content-width);
    margin: 48px auto 0;
    padding: 0 48px;
}
.se-etappe-nav {
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 80px;
}

/* ============================================================
   17) LIGHTBOX — lokal, Tastatur + Wischbedienung
       (Overlay .se-lb-box; Trigger-Links tragen .se-lb)
   ============================================================ */
.se-lb-box {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(10, 11, 12, 0.95);
    display: none;
    align-items: center;
    justify-content: center;
}
.se-lb-box.is-open { display: flex; }
.se-lb-box .se-lb-img {
    max-width: 88vw;
    max-height: 82vh;
    width: auto;
    height: auto;
    object-fit: contain;
}
.se-lb-box .se-lb-figure {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.se-lb-box .se-lb-cap {
    font-size: 13px;
    letter-spacing: 0.06em;
    color: var(--text-muted);
    max-width: 70vw;
    text-align: center;
}
.se-lb-box .se-lb-count {
    position: absolute;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    font-size: 12.5px;
    letter-spacing: 0.2em;
    color: var(--text-subtle);
}
.se-lb-box .se-lb-close {
    position: absolute;
    top: 16px;
    right: 20px;
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    padding: 6px 10px;
}
.se-lb-box .se-lb-close:hover { color: var(--text); }
.se-lb-box .se-lb-prev,
.se-lb-box .se-lb-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 40px;
    line-height: 1;
    cursor: pointer;
    padding: 10px 14px;
    min-width: 48px;
    min-height: 48px;
}
.se-lb-box .se-lb-prev { left: 12px; }
.se-lb-box .se-lb-next { right: 12px; }
.se-lb-box .se-lb-prev:hover,
.se-lb-box .se-lb-next:hover { color: var(--text); }
.se-lb-box.is-anim .se-lb-img { animation: se-lb-fade 0.25s ease; }
@keyframes se-lb-fade {
    from { opacity: 0.4; }
    to { opacity: 1; }
}

/* ============================================================
   18) REST-INHALTE (Blog, Videos, Hiking, Archive) — dezent
   ============================================================ */
.se-clean .meta-post,
.se-clean .entry-meta,
.se-clean .posted-on,
.se-clean .cat-links,
.se-clean .tags-links,
.se-clean .comments-link,
.se-clean .byline,
.se-clean .author,
.se-clean .sydney-post-author,
.se-clean .sydney-post-date,
.se-clean .navigation.post-navigation,
.se-clean .post-navigation,
.se-clean .nav-links,
.se-clean .sydney-related-posts {
    display: none !important;
}
.se-clean .entry-title {
    font-size: 38px;
    line-height: 1.2;
}
/* Startseite: Seitentitel nicht doppelt (Hero traegt das H1) */
.home .entry-header,
.home .page .entry-title,
.home .entry-title {
    display: none;
}
.se-clean .entry-content img,
.se-clean .entry-content figure img {
    border-radius: 0;
    box-shadow: none;
}
.se-clean .wp-block-gallery {
    margin-bottom: 24px;
}
.se-clean .entry-content {
    font-size: 16.5px;
    line-height: 1.75;
    color: var(--text-muted);
}
.se-clean .entry-content p { color: var(--text-muted); }

/* 404 */
.error404 .se-404 {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 120px 48px 160px;
}
.error404 .se-404 h1 {
    font-size: clamp(48px, 8vw, 96px);
    letter-spacing: 0.04em;
    margin-bottom: 16px;
}
.error404 .se-404 p {
    font-size: 17px;
    color: var(--text-muted);
}

/* ============================================================
   19) MOBIL
   ============================================================ */
@media (max-width: 1024px) {
    .shfb-header .container,
    .se-hero,
    .se-hero-text,
    .se-section,
    .se-feature-journey,
    .se-selected,
    .se-photo-grid,
    .se-map-wrap,
    .se-timeline,
    .se-closing,
    .se-archiv,
    .se-places,
    .se-photo-groups,
    .se-journey-body,
    .se-journey-head,
    .se-etappe-cover,
    .se-etappe-head,
    .se-etappe-gallery,
    .se-journey-gallery,
    .se-etappe-notes {
        padding-left: 24px;
        padding-right: 24px;
    }
    .page-id-47847 .entry-header {
        padding-left: 24px;
        padding-right: 24px;
    }
    .se-hero { height: 78vh; }
    .se-photo-grid { grid-auto-rows: 240px; }
    .se-year-grid { grid-template-columns: repeat(2, 1fr); gap: 48px 20px; }
    .se-archiv-hero-text { padding: 0 24px 36px; }
    .se-archiv-filters { padding: 0 24px; }
    .se-latest-link { grid-template-columns: 1.6fr 1fr; gap: 28px; }
    .se-etappe-imgs,
    .se-journey-imgs { grid-template-columns: repeat(2, 1fr); }
    .se-journey-facts { grid-template-columns: repeat(2, 1fr); }
    .se-route-link { grid-template-columns: 56px minmax(160px, 280px) 1fr; gap: 18px; }
    .se-tl-row { grid-template-columns: 80px 1fr; gap: 16px; }
    .se-continent { grid-template-columns: 1fr; gap: 20px; }
    .se-cont-photo-wrap { max-width: 420px; }
}

@media (max-width: 640px) {
    .se-hero { height: 72vh; min-height: 460px; }
    .se-hero-text { left: 24px; right: 24px; bottom: 28px; }
    .se-hero-title { font-size: clamp(38px, 10vw, 52px); }
    .se-photo-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; gap: 12px; }
    .se-photo-a { grid-column: span 2; grid-row: span 2; }
    .se-photo-b, .se-photo-c, .se-photo-d, .se-photo-e, .se-photo-f, .se-photo-g, .se-photo-h { grid-column: span 1; grid-row: span 1; }
    .se-selected { grid-template-columns: 1fr; gap: 28px; }
    .se-sel-a, .se-sel-b, .se-sel-c, .se-sel-d, .se-sel-e, .se-sel-f { grid-column: span 1; grid-row: auto; }
    .se-sel img { aspect-ratio: 4 / 3; }
    .se-sel-f img { aspect-ratio: 4 / 3; }
    .se-feature-journey .se-fj-photo { aspect-ratio: 4 / 3; }
    .se-fj-row { grid-template-columns: 1fr; gap: 18px; }
    .se-year-grid { grid-template-columns: 1fr; gap: 40px; }
    .se-archiv-img { aspect-ratio: 4 / 3; }
    .se-archiv-hero { height: 260px; }
    .se-archiv-hero .se-archiv-hero-title { font-size: clamp(38px, 12vw, 52px); }
    .se-archiv-hero-sub { font-size: 16px; }
    .se-archiv-hero-stats { font-size: 13px; letter-spacing: 0.14em; }
    .se-latest-link { grid-template-columns: 1fr; gap: 20px; }
    .se-latest { margin-bottom: 40px; }
    .se-year-head { gap: 18px; margin-bottom: 30px; }
    .se-year-label { font-size: 36px; }
    .se-archiv-filters { padding: 0 24px; }
    .page-id-47847 .entry-header { margin: 24px auto 28px; }
    .page-id-47847 .entry-header .entry-title { font-size: clamp(34px, 9vw, 48px); }
    .se-etappe-imgs,
    .se-journey-imgs { grid-template-columns: 1fr; gap: 16px; }
    .se-journey-facts { grid-template-columns: 1fr 1fr; gap: 16px; }
    .se-route-link { grid-template-columns: 1fr; gap: 10px; }
    .se-route-img { aspect-ratio: 16 / 9; }
    .se-route-num { font-size: 24px; }
    .se-journey-nav,
    .se-etappe-nav {
        grid-template-columns: 1fr;
        gap: 14px;
        text-align: left !important;
    }
    .se-journey-nav-next,
    .se-etappe-nav-next { text-align: left !important; }
    .se-tl-row { grid-template-columns: 1fr; gap: 2px; padding: 12px 0; }
    .se-journey-hero { height: 58vh; }
    .se-journey-hero-text { left: 24px; right: 24px; bottom: 24px; }
    .se-section { font-size: clamp(26px, 7vw, 32px); margin-top: var(--space-xl); }
    .se-photography { margin-top: var(--space-xl); padding: var(--space-lg) 0; }
    .se-lb-prev { left: 4px; }
    .se-lb-next { right: 4px; }
}

/* ============================================================
   20) REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Lange URLs/Woerter in Listen sauber umbrechen (verhindert 4px-Overflow
   bei 390px, z.B. Google-Ads-URL in der Datenschutzerklaerung) */
.entry-content ul li,
.entry-content ol li {
    overflow-wrap: anywhere;
    word-break: normal;
}

/* ============================================================
   21) TEXTSEITEN (About, Impressum, Privacy) — Lesebreite
   ============================================================ */
.se-textpage .entry-header {
    max-width: var(--reading-width);
    margin: 0 auto;
    padding: 56px 48px 8px;
}
.se-textpage .entry-header .entry-title {
    font-size: clamp(38px, 4vw, 56px);
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.1;
    margin: 0;
}
.se-textpage .entry-content {
    max-width: var(--reading-width);
    margin: 0 auto;
    padding: 8px 48px 96px;
    font-size: 17px;
    line-height: 1.72;
    color: var(--text);
}
.se-textpage .entry-content p {
    margin: 0 0 1.15em;
}
.se-textpage .entry-content h2,
.se-textpage .entry-content h3 {
    margin: 1.8em 0 0.6em;
    line-height: 1.25;
}
.se-textpage .entry-content h2 {
    font-size: clamp(24px, 2.4vw, 30px);
    font-weight: 600;
}
.se-textpage .entry-content h3 {
    font-size: clamp(19px, 1.8vw, 22px);
    font-weight: 600;
}
.se-textpage .entry-content a {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.se-textpage .entry-content a:hover,
.se-textpage .entry-content a:focus {
    color: var(--text);
}
.se-textpage .entry-content ul,
.se-textpage .entry-content ol {
    margin: 0 0 1.3em;
    padding-left: 1.5em;
}
.se-textpage .entry-content li {
    margin-bottom: 0.5em;
    line-height: 1.65;
}

/* Adress-/Kontakt-Bloecke in Rechtsseiten als zusammenhaengende Einheit */
.se-textpage .entry-content p:has(> br) {
    padding: 14px 18px;
    background: var(--surface);
    border-left: 1px solid var(--accent);
}

/* ============================================================
   22) SEITENKOPF fuer Shortcode-Seiten (Places, Photography, Map)
   ============================================================ */
.se-page-head {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 56px 48px 0;
}
.se-page-head .se-page-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(38px, 4vw, 56px);
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.1;
    margin: 0 0 10px;
}
.se-page-head .se-page-sub {
    max-width: 640px;
    font-size: 17px;
    font-weight: 300;
    line-height: 1.6;
    color: var(--text-muted);
    margin: 0;
}
/* P2 (01.09.2026): Kompakter Seitenkopf fuer Places/Photography/Map/About.
   Ziel Header->Seitentitel: 72-96px Desktop, 48-64px Tablet, 36-48px Mobil.
   Vorher: page-wrap 83px + page-head 64px + h1-Margin ~51px = ~198px. */
.page-id-47848 .page-wrap,
.page-id-47849 .page-wrap,
.page-id-47850 .page-wrap,
.page-id-47851 .page-wrap {
    padding-top: 0;
}
.page-id-47848 .se-page-head,
.page-id-47849 .se-page-head,
.page-id-47850 .se-page-head,
.page-id-47851 .se-page-head {
    padding-top: 72px;
}
.page-id-47848 .se-page-head .se-page-title,
.page-id-47849 .se-page-head .se-page-title,
.page-id-47850 .se-page-head .se-page-title,
.page-id-47851 .se-page-head .se-page-title {
    margin-top: 0 !important;
}
.page-id-47850 .entry-title {
    margin-top: 72px;
}
@media (max-width: 1024px) {
    .page-id-47848 .se-page-head,
    .page-id-47849 .se-page-head,
    .page-id-47850 .se-page-head,
    .page-id-47851 .se-page-head {
        padding-top: 56px;
    }
    .page-id-47850 .entry-title {
        margin-top: 56px;
    }
}
@media (max-width: 640px) {
    .page-id-47848 .se-page-head,
    .page-id-47849 .se-page-head,
    .page-id-47850 .se-page-head,
    .page-id-47851 .se-page-head {
        padding-top: 40px;
    }
    .page-id-47850 .entry-title {
        margin-top: 40px;
    }
}

/* ============================================================
   23) ABOUT — zweispaltige Editorial-Komposition
       (nutzt den vollen Inhaltscontainer, nicht die Lesebreite)
   ============================================================ */
.page-id-47850 .entry-content {
    max-width: none;
    padding: 8px 0 0;
}
.se-about {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 56px;
    align-items: start;
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 24px 48px 96px;
}
.se-about-text {
    font-size: 17px;
    line-height: 1.72;
}
.se-about-text p {
    margin: 0 0 1.15em;
}
.se-about-figure {
    margin: 0;
}
.se-about-photo {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    filter: brightness(0.97);
}
.se-about-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 28px 0 0;
}
.se-about-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px 18px;
    background: var(--surface);
    border-left: 1px solid var(--accent);
}
.se-about-num {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 24px;
    font-weight: 600;
    color: var(--text);
}
.se-about-label {
    font-size: 11.5px;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.se-about-note {
    margin-top: 26px;
    padding: 12px 16px;
    border-left: 1px solid var(--accent);
    background: var(--surface);
    font-size: 13.5px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--accent);
}
@media (max-width: 1024px) {
    .se-about {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 24px 24px 72px;
    }
}
@media (max-width: 640px) {
    .se-about { padding: 20px 24px 64px; }
    /* Kennzahlen: gleichmaessiges 3-Spalten-Raster, Hinweis darunter */
    .se-about-stats {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }
    .se-about-stat {
        padding: 10px 8px;
        text-align: center;
    }
    .se-about-num {
        font-size: 20px;
    }
    .se-about-label {
        font-size: 10px;
        letter-spacing: 0.08em;
    }
    .se-about-note {
        margin-top: 20px;
    }
}

/* ============================================================
   24) IMPRESSUM — sachliche Rechtstext-Gliederung
   ============================================================ */
.se-legal-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(24px, 2.2vw, 30px);
    font-weight: 600;
    letter-spacing: 0.03em;
    margin: 0 0 6px;
    display: none; /* P3: Doppel-Benennung entfernt, h1 traegt die Ueberschrift */
}
.se-legal-sub {
    font-size: 16px;
    letter-spacing: 0.06em;
    color: var(--text-muted);
    margin: 0 0 36px;
}
.se-legal-section {
    margin: 0 0 30px;
}
.se-legal-h2 {
    font-size: clamp(18px, 1.6vw, 21px);
    font-weight: 600;
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--line);
}
.se-legal-body {
    font-size: 16px;
    line-height: 1.7;
}
.se-legal-line {
    display: block;
    margin-bottom: 8px;
}
.se-legal-line a {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 3px;
    word-break: break-all;
}
.se-legal-line a:hover,
.se-legal-line a:focus {
    color: var(--text);
}
/* Adress-/Kontaktblock zusammenhaengend */
.se-legal-section:has(.se-legal-line strong) .se-legal-body {
    padding: 14px 18px;
    background: var(--surface);
    border-left: 1px solid var(--accent);
}

/* ============================================================
   25) PRIVACY — Lesestruktur mit Inhaltsverzeichnis
   ============================================================ */
.se-priv-toc {
    margin: 0 0 44px;
    padding: 16px 20px; /* P3: leicht reduzierte Innenabstaende, Touchflaechen bleiben */
    background: var(--surface);
    border-left: 1px solid var(--accent);
}
.se-priv-toc-title {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
    margin: 0 0 12px;
}
.se-priv-toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
    columns: 2;
    column-gap: 32px;
}
.se-priv-toc-list li {
    margin: 0 0 7px;
    break-inside: avoid;
}
.se-priv-toc-list a {
    color: var(--text-muted);
    font-size: 14.5px;
    transition: color 0.25s ease;
}
.se-priv-toc-list a:hover,
.se-priv-toc-list a:focus {
    color: var(--accent);
    text-decoration: none;
}
.se-priv-h2 {
    font-size: clamp(21px, 2vw, 25px);
    font-weight: 600;
    margin: 44px 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
    scroll-margin-top: 110px;
}
.se-textpage .entry-content h2.se-h-long,
.se-textpage .entry-content h3.se-h-long {
    font-size: clamp(19px, 1.9vw, 24px);
}
.se-back-toc {
    display: inline-block;
    margin: 4px 0 20px;
    font-size: 12.5px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.se-back-toc:hover {
    color: var(--accent);
    text-decoration: none;
}
.se-textpage .entry-content .se-priv-toc + p {
    margin-top: 0;
}
@media (max-width: 640px) {
    .se-priv-toc-list { columns: 1; }
    .se-priv-h2 { scroll-margin-top: 90px; }
}

/* ============================================================
   26) YOUTUBE CLICK-TO-LOAD — eine wiederverwendbare Komponente
       Flex-Spalte ohne absolute Positionen: 16:9-Rahmen, Play
       mittig (Icon + Titel), darunter Hinweis, darunter Link.
       Kollisionsfrei auch bei 390px. Kein Request vor Klick.
   ============================================================ */
.se-yt-ctl {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    margin: 24px 0;
    background:
        radial-gradient(ellipse at 30% 20%, #23262B 0%, transparent 55%),
        linear-gradient(160deg, #17191B 0%, #0E0F10 100%);
    border: 1px solid var(--line);
    overflow: hidden;
}
/* Der 16:9-Rahmen umfasst Play-Bereich; Hinweis + Link liegen darunter */
.se-yt-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 16 / 9;
    width: 100%;
}
.se-yt-ctl.is-playing .se-yt-frame {
    aspect-ratio: auto;
    display: block;
}
.se-yt-ctl.is-playing iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
}
.se-yt-play {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 24px 20px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text);
    max-width: 100%;
}
.se-yt-play-icon {
    display: block;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: 1px solid var(--accent);
    position: relative;
    flex-shrink: 0;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}
.se-yt-play-icon::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0;
    height: 0;
    margin: -11px 0 0 -4px;
    border-style: solid;
    border-width: 11px 0 11px 19px;
    border-color: transparent transparent transparent var(--accent);
}
.se-yt-play:hover .se-yt-play-icon,
.se-yt-play:focus .se-yt-play-icon {
    background: var(--accent);
    border-color: var(--accent);
}
.se-yt-play:hover .se-yt-play-icon::after,
.se-yt-play:focus .se-yt-play-icon::after {
    border-left-color: var(--bg);
}
.se-yt-play-label {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(17px, 1.8vw, 21px);
    max-width: 480px;
    text-align: center;
    line-height: 1.3;
    overflow-wrap: break-word;
}
/* Datenschutzhinweis: eigener Bereich unterhalb des Rahmens */
.se-yt-note {
    margin: 0;
    padding: 10px 16px;
    border-top: 1px solid var(--line);
    background: rgba(23, 25, 27, 0.6);
    font-size: 13px;
    line-height: 1.45;
    letter-spacing: 0.02em;
    color: var(--text-muted);
    text-align: center;
}
/* Watch-on-YouTube-Link: klar getrennt unter dem Hinweis */
.se-yt-links {
    margin: 0;
    padding: 0 16px 12px;
    background: rgba(23, 25, 27, 0.6);
    text-align: center;
    font-size: 12px;
}
.se-yt-links a {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--text-muted);
    letter-spacing: 0.06em;
    transition: color 0.25s ease, border-color 0.25s ease;
}
.se-yt-links a:hover,
.se-yt-links a:focus {
    color: var(--accent);
    border-color: var(--accent);
    text-decoration: none;
}
/* Nach dem Laden nur noch das Video zeigen */
.se-yt-ctl.is-playing .se-yt-note,
.se-yt-ctl.is-playing .se-yt-links,
.se-yt-ctl.is-playing .se-yt-play {
    display: none;
}
@media (max-width: 640px) {
    .se-yt-play { padding: 18px 14px; gap: 10px; }
    .se-yt-play-icon { width: 56px; height: 56px; }
    .se-yt-play-label { font-size: 16px; }
    .se-yt-note { padding: 8px 12px; font-size: 11px; }
    .se-yt-links { padding: 0 12px 10px; }
}

/* ============================================================
   27) JOURNEY-GALERIE: "Show more photographs" (Darstellungs-
       Begrenzung; volle Tagesgalerien bleiben auf Etappenseiten)
   ============================================================ */
.se-gal-count {
    font-style: normal;
    font-size: 0.62em;
    letter-spacing: 0.08em;
    color: var(--text-subtle);
}
.se-gal-more[hidden] {
    display: none !important;
}
.se-gal-more {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 24px;
}
.se-gal-more .se-photo {
    background: var(--surface);
}
.se-gal-more .se-photo img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.se-gal-more-wrap {
    margin: 28px 0 0;
    text-align: center;
}
.se-gal-more-btn {
    padding: 12px 30px;
    background: none;
    border: 1px solid var(--accent);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text);
    cursor: pointer;
    transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}
.se-gal-more-btn:hover,
.se-gal-more-btn:focus {
    color: var(--accent);
    border-color: var(--accent);
    background: rgba(184, 154, 104, 0.06);
}
.se-gal-more-btn[hidden] {
    display: none;
}
@media (max-width: 640px) {
    .se-gal-more {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .se-gal-more-btn {
        width: 100%;
    }
}
@media (max-width: 768px) {
    .se-photo::before, .se-sel::before { height: 40%; }
    .se-photo::after, .se-sel .se-sel-cap { padding: 16px 16px 14px; }
    .se-photo::after { font-size: 16px; }
    .se-sel-name { font-size: 17px; }
    .se-sel-meta { font-size: 13px; }
    .se-feature-journey::before { height: 36%; }
    .se-fj-row { padding: 0 32px 22px; }
}
@media (max-width: 390px) {
    .se-photo::after, .se-sel .se-sel-cap { padding: 14px 14px 12px; }
    .se-photo::after { font-size: 15px; }
    .se-sel-name { font-size: 16px; }
    .se-sel-meta { font-size: 13px; }
    .se-photo::before, .se-sel::before { height: 46%; }
    .se-fj-row { padding: 0 20px 18px; }
}
@media (min-width: 641px) and (max-width: 1024px) {
    /* schmale 16:9-Kacheln: Beschriftung unterhalb des Bildes (dunkle Flaeche) */
    .se-sel { overflow: visible; }
    .se-sel::before { display: none; }
    .se-sel img { height: auto; aspect-ratio: 4 / 3; }
    .se-sel-f img { aspect-ratio: 4 / 3; }
    .se-sel .se-sel-cap {
        position: static;
        background: var(--surface);
        padding: 14px 18px 16px;
        max-width: none;
    }
    .se-sel .se-sel-cap::before { margin-bottom: 8px; }
}


/* =====================================================================
   PHASE 5/6 — System-Komponenten (Suche, Videos, 404) + Design-Feinschliff
   ===================================================================== */

/* Globaler Inhaltscontainer */
.se-container { max-width: var(--content-width); margin-inline: auto; padding-inline: 48px; }
@media (max-width: 1024px) { .se-container { padding-inline: 32px; } }
@media (max-width: 640px)  { .se-container { padding-inline: 24px; } }

/* System-Seitenkopf (h1 + Einleitung) */
.se-page-head { padding-block: var(--space-lg) 0; }
.se-page-title {
	font-family: var(--font-serif, Georgia, serif);
	font-weight: 500;
	font-size: clamp(42px, 5vw, 56px);
	line-height: 1.05;
	color: var(--text);
	margin: 0 0 var(--space-sm);
}
.se-page-intro { color: var(--text-muted); font-size: 17px; max-width: var(--reading-width); margin: 0; }

/* Editorial-Kartenraster: 3 / 2 / 1 Spalten */
.se-card-grid { display: grid; gap: 24px; grid-template-columns: repeat(3, 1fr); padding-block: var(--space-md) var(--space-lg); }
.se-card-grid-321 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1024px) { .se-card-grid-321 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .se-card-grid-321 { grid-template-columns: 1fr; } }

/* Karte */
.se-card { background: var(--surface); border: 1px solid var(--line); display: flex; }
.se-card-link { color: inherit; text-decoration: none; display: flex; flex-direction: column; width: 100%; }
.se-card-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.se-card-img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.se-card-ph { aspect-ratio: 16 / 9; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; background: var(--surface); border-bottom: 1px solid var(--line); }
.se-card-poster-icon { width: 36px; height: 36px; border: 2px solid var(--text-muted); border-radius: 7px; position: relative; }
.se-card-poster-icon::before { content: ""; position: absolute; left: 11px; top: 10px; width: 0; height: 0; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 12px solid var(--text-muted); }
.se-card-poster-meta { font-size: 12.5px; color: var(--text-muted); letter-spacing: .05em; text-transform: uppercase; }
.se-card-body { padding: 16px 18px 18px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 6px; }
.se-card-title { font-family: var(--font-serif, Georgia, serif); font-size: clamp(20px, 2.2vw, 26px); font-weight: 500; line-height: 1.2; margin: 0; color: var(--text); }
.se-card-meta { display: flex; gap: 10px; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted); margin: 0; }
.se-card-excerpt { font-size: 15px; line-height: 1.55; color: var(--text-muted); margin: 0; }

/* CTA-Links (einheitliche Grammatik) */
.se-cta {
	display: inline-flex; align-items: center; gap: 8px; color: var(--text);
	border: 1px solid var(--line); padding: 10px 18px; text-decoration: none;
	font-size: 14px; letter-spacing: 0.04em; transition: border-color 160ms ease, color 160ms ease;
}
.se-cta:hover { border-color: var(--accent); color: var(--accent); }
.se-cta:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

/* Such-Button: sichtbares Lupen-Symbol (Sydney search-submit) + Fokus */
.search-submit {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--surface);
    border: 1px solid var(--line);
    color: var(--text);
    cursor: pointer;
}
.search-submit::before {
    content: "";
    width: 18px;
    height: 18px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27a6.5 6.5 0 1 0-.7.7l.27.28v.79l5 4.99L20.49 19zm-6 0A4.5 4.5 0 1 1 14 9.5 4.5 4.5 0 0 1 9.5 14z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27a6.5 6.5 0 1 0-.7.7l.27.28v.79l5 4.99L20.49 19zm-6 0A4.5 4.5 0 1 1 14 9.5 4.5 4.5 0 0 1 9.5 14z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.search-submit:hover { border-color: var(--accent); color: var(--accent); }
.search-submit:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Breadcrumb (Etappenseiten, Schritt 6): gleicher Inhaltscontainer wie
   Titel/Hauptinhalt (.se-etappe-head), dezente Metadaten-Typografie,
   Trennzeichen rein dekorativ via CSS (nicht von Screenreadern gelesen) */
.se-breadcrumb {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 26px 48px 0;
    font-size: 13px;
    letter-spacing: 0.03em;
    line-height: 1.4;
}
.se-breadcrumb ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
.se-breadcrumb li {
    display: inline-flex;
    align-items: baseline;
    color: var(--text-muted);
}
.se-breadcrumb li + li::before {
    content: "/";
    margin: 0 10px;
    color: var(--text-muted);
    opacity: 0.45;
}
.se-breadcrumb a {
    color: var(--accent);
    text-decoration: none;
    padding: 4px 0;
}
.se-breadcrumb a:hover { color: var(--text); text-decoration: underline; }
.se-breadcrumb a:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-radius: 2px;
}
.se-breadcrumb [aria-current="page"] { color: var(--text-muted); }
/* Gleiche Breakpoint-Grenze wie .se-etappe-head (Padding 48 -> 24 ab 1024px) */
@media (max-width: 1024px) {
    .se-breadcrumb { padding-left: 24px; padding-right: 24px; }
}

/* 404 */
.se-404 { max-width: 560px; margin-inline: auto; text-align: center; padding-block: var(--space-xl) var(--space-lg); }
.se-404-code { font-family: var(--font-serif, Georgia, serif); font-size: clamp(64px, 10vw, 120px); color: var(--accent); line-height: 1; display: block; margin-bottom: var(--space-md); }
.se-404-title { font-size: clamp(28px, 4vw, 40px); font-family: var(--font-serif, Georgia, serif); font-weight: 500; margin: 0 0 var(--space-sm); }
.se-404-text { color: var(--text-muted); font-size: 16px; margin: 0 0 var(--space-md); }
.se-404-search { margin-bottom: var(--space-md); }
.se-404-links { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Suche */
.se-search-h1 { display: block; }
.se-search-term { color: var(--accent); }
.se-search-form { margin-block: var(--space-sm); max-width: 560px; }
.se-search-count { color: var(--text-muted); font-size: 14px; margin: 0 0 var(--space-md); }

/* Leerer Zustand */
.se-empty { text-align: center; padding-block: var(--space-xl); color: var(--text-muted); }
.se-empty-links { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-top: var(--space-md); }
.se-empty-links a { color: var(--text); text-decoration: none; border-bottom: 1px solid var(--line); padding-bottom: 2px; }
.se-empty-links a:hover { color: var(--accent); border-color: var(--accent); }

/* Pagination */
.se-pagination { margin-block: var(--space-md) var(--space-lg); }
.se-pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.se-pagination .page-numbers { color: var(--text-muted); text-decoration: none; padding: 6px 12px; border: 1px solid var(--line); font-size: 14px; }
.se-pagination .page-numbers.current,
.se-pagination .page-numbers:hover { color: var(--accent); border-color: var(--accent); }

/* Bildplatzhalter: reine Dateien, keine sichtbare ueberflaechen */
.se-brand-text { font-family: var(--font-serif, Georgia, serif); color: var(--text); }
.se-post-title-p { font-family: var(--font-serif, Georgia, serif); font-size: clamp(32px, 4vw, 48px); line-height: 1.08; max-width: 980px; }

/* Meta nie kleiner als 13px */
.se-journey-meta, .se-etappe-date, .se-route-date, .se-card-meta, .se-crumb, .se-search-count { font-size: 13px; }


/* =====================================================================
   PHASE 6 — Seite-spezifischer Feinschliff
   ===================================================================== */
/* About: Kennzahlen mobil in drei gleichmaessige kompakte Spalten */
.se-about-stats { display: flex; gap: 24px; flex-wrap: wrap; }
.se-about-stat { flex: 1 1 120px; min-width: 0; }
@media (max-width: 640px) {
	.se-about-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
	.se-about-stat { flex: initial; text-align: center; }
}
.se-about-note { margin-top: 40px; color: var(--text-muted); }

/* Photography: permanente kurze Captions, nie kleiner als 14px */
.se-photo-tile figure, .se-photo-caption { color: var(--text-muted); font-size: 14px; line-height: 1.45; margin-top: 8px; }
.se-photo-caption strong { color: var(--text); font-weight: 500; }

/* Map: Zusammenfassung unter der Karte mobil lesbar umbrechen */
.se-map-summary { color: var(--text-muted); font-size: 14px; line-height: 1.55; max-width: var(--reading-width); }
@media (max-width: 640px) { .se-map-summary { font-size: 14px; } }

/* Journey-Karte: permanente dunkle Caption-Leiste, kein Hover-Zwang */
.se-journey-card { position: relative; }
.se-journey-card .se-journey-caption { background: #151718; color: var(--text); }


/* =====================================================================
   PHASE 7 — Praezisierungen (28. Auftrag)
   ===================================================================== */
/* Morocco-Reise-H1: 44-52px Desktop, 32-38px mobil */
.se-journey-title { font-size: clamp(32px, 4vw, 48px); line-height: 1.08; }
@media (min-width: 1024px) { .se-journey-title { font-size: clamp(44px, 4.5vw, 52px); } }

/* Permanente Metadaten nie unter 14px */
.se-journey-meta, .se-etappe-date, .se-route-date, .se-card-meta,
.se-legal-meta, .se-photo-caption, .se-about-label, .se-crumb { font-size: 14px; }

/* YouTube-Hinweis >= 14px */
.se-yt-note { font-size: 14px; line-height: 1.5; color: var(--text-muted); }

/* Suchschaltflaeche: >=44px hoch, sichtbarer Text "Search", Gold-Fokus, dezenter Hover */
.se-search-form button, .se-404-search button,
form.search-form button[type=submit], .search-form input[type=submit],
.widget_search input[type=submit], .sydney-search button {
	min-height: 44px; padding: 10px 20px; background: var(--surface);
	border: 1px solid var(--line); color: var(--text); cursor: pointer;
	font-size: 15px; letter-spacing: 0.04em; transition: border-color 160ms ease, color 160ms ease;
}
.se-search-form button:hover, .se-404-search button:hover,
form.search-form button[type=submit]:hover, .widget_search input[type=submit]:hover { border-color: var(--accent); color: var(--accent); }
.se-search-form button:focus-visible, .se-404-search button:focus-visible,
form.search-form button[type=submit]:focus-visible, .widget_search input[type=submit]:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

/* Typografischer Video-Platzhalter (bewusst, kein generiertes Bild) */
.se-video-placeholder { display: flex; align-items: center; justify-content: center; min-height: 80px;
	background: var(--surface); border: 1px solid var(--line); padding: 24px; color: var(--text-muted);
	font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase; }


/* Photography-Page: sichtbare kurze Caption (Ort, Jahr) unter jedem Bild */
.se-photo-fig { margin: 0; display: flex; flex-direction: column; }
.se-photo-caption { color: var(--text-muted); font-size: 14px; line-height: 1.45; margin-top: 8px; max-width: 2 lines; }
.se-photo-caption { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }


/* Hero-Foto-Beschriftung (Ort, Jahr) dezent unter dem Tagline */
.se-hero-photo-caption { margin-top: 8px; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted); }

/* ============================================================
   23) JAHRESARCHIV (se-year.php) — kompakte Jahresuebersicht
   Nutzt bestehende Karten (.se-archiv-item) und .se-page-head.
   ============================================================ */
.se-year-main .se-archiv {
    padding-top: 8px;
}
.se-year-empty {
    font-size: 17px;
    font-weight: 300;
    color: var(--text-muted);
    margin: 0;
}

/* ============================================================
   24) GENERISCHES ARCHIV (se-archive.php) — normale Kategorie-
   und Schlagwortarchive im Editorial-Raster. Nutzt .se-page-head;
   Varianten (category/tag/hiking) ueber .se-archive--{variant}.
   ============================================================ */
.se-archive-kicker {
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
    margin: 0 0 10px;
}
.se-archive-count {
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 16px 0 0;
}
.se-archive {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 28px 48px 72px;
}
.se-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 1024px) { .se-archive-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .se-archive-grid { grid-template-columns: 1fr; } }

/* Karte: gleiche DNA wie .se-card (Surface, 16:9-Medium, Serifen-Titel) */
.se-archive-card {
    background: var(--surface);
    border: 1px solid var(--line);
    display: flex;
}
.se-archive-card-link {
    color: inherit;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    width: 100%;
}
.se-archive-card-link:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}
.se-archive-card-media { display: block; }
.se-archive-card-media img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}
/* Neutraler Platzhalter (kein Bild vorhanden: GPX-Tracks, Videos) */
.se-archive-ph {
    aspect-ratio: 16 / 9;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
    padding: 20px;
    text-align: center;
}
.se-archive-ph-label {
    font-size: 12.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
}
.se-archive-ph-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 20px;
    line-height: 1.25;
    color: var(--text-muted);
    max-width: 90%;
}
.se-archive-ph-line {
    width: 48px;
    height: 1px;
    background: rgba(184, 154, 104, 0.5);
}
.se-archive-card-body {
    padding: 16px 18px 18px;
    border-top: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.se-archive-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0;
}
.se-archive-card-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(20px, 2.2vw, 26px);
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    color: var(--text);
}
.se-archive-card-excerpt {
    font-size: 15px;
    line-height: 1.55;
    color: var(--text-muted);
    margin: 0;
}

/* Pagination (nativ, keine URL-Aenderung): 44px-Touchziele */
.se-archive-pagination { margin-top: 52px; }
.se-archive-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}
.se-archive-pagination .page-numbers {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid var(--line);
    background: var(--surface);
    color: var(--text-muted);
    font-size: 15px;
    text-decoration: none;
}
.se-archive-pagination .page-numbers.current,
.se-archive-pagination .page-numbers:hover { border-color: var(--accent); color: var(--accent); }
.se-archive-pagination .page-numbers:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Leeres Archiv (z.B. reine Container-Kategorie ohne direkte Beitraege) */
.se-archive-empty {
    font-size: 17px;
    font-weight: 300;
    color: var(--text-muted);
    margin: 0;
}

/* ============================================================
   25) SUCHERGEBNISSE (se-search.php) — Editorial-Liste
   Ruhige Liste statt Kartenraster: Bild links, Text rechts,
   klare horizontale Trennungen, max. ~1120px. Mobil einspaltig.
   ============================================================ */
.se-search-kicker {
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
    margin: 0 0 10px;
}
.se-search-h1 { overflow-wrap: anywhere; }
.se-search-count {
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 16px 0 0;
}
.se-search-form {
    display: flex;
    gap: 10px;
    margin-top: 26px;
    max-width: 560px;
}
.se-search-input {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    padding: 10px 14px;
    background: var(--surface);
    border: 1px solid var(--line);
    color: var(--text);
    font-size: 15px;
    font-family: inherit;
}
.se-search-input::placeholder { color: var(--text-muted); opacity: 0.75; }
.se-search-input:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-color: var(--accent);
}
.se-search-submit {
    min-height: 44px;
    padding: 10px 22px;
    background: var(--surface);
    border: 1px solid var(--line);
    color: var(--text);
    font-size: 15px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    font-family: inherit;
}
.se-search-submit:hover { border-color: var(--accent); color: var(--accent); }
.se-search-submit:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.se-search-results {
    max-width: 1120px;
    margin: 0 auto;
    padding: 40px 48px 72px;
    display: flex;
    flex-direction: column;
}
.se-search-result { border-bottom: 1px solid var(--line); }
.se-search-result:first-child { border-top: 1px solid var(--line); }
.se-search-result-link {
    display: flex;
    gap: 32px;
    padding: 28px 0;
    color: inherit;
    text-decoration: none;
}
.se-search-result-link:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
}
.se-search-result-media { flex: 0 0 33%; max-width: 360px; }
.se-search-result-media img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}
/* Neutraler Platzhalter (ohne Titel-Wiederholung) */
.se-search-ph {
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    background: var(--surface);
    border: 1px solid var(--line);
    padding: 20px;
    text-align: center;
}
.se-search-ph-label {
    font-size: 12.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
}
.se-search-ph-mark { color: var(--text-muted); font-size: 22px; line-height: 1; }
.se-search-ph-line {
    width: 40px;
    height: 1px;
    background: rgba(184, 154, 104, 0.5);
}
.se-search-result-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
}
.se-search-result-type {
    font-size: 12.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
    margin: 0;
}
.se-search-result-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(22px, 2.4vw, 30px);
    font-weight: 500;
    line-height: 1.25;
    margin: 0;
    color: var(--text);
    overflow-wrap: anywhere;
}
.se-search-result-meta {
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0;
}
.se-search-result-excerpt {
    font-size: 15px;
    line-height: 1.55;
    color: var(--text-muted);
    margin: 0;
}

/* Leer-/Aufforderungs-Zustaende */
.se-search-empty,
.se-search-empty-query {
    max-width: 1120px;
    margin: 0 auto;
    padding: 40px 48px 72px;
}
.se-search-empty-text {
    font-size: 17px;
    font-weight: 300;
    color: var(--text-muted);
    margin: 0 0 22px;
}
.se-search-empty-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.se-search-empty-links a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 18px;
    border: 1px solid var(--line);
    color: var(--text);
    text-decoration: none;
    font-size: 15px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.se-search-empty-links a:hover { border-color: var(--accent); color: var(--accent); }
.se-search-empty-links a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Mobil: Bild/Platzhalter oben, Text darunter, einspaltig, keine festen Breiten */
@media (max-width: 640px) {
    .se-search-result-link { flex-direction: column; gap: 16px; }
    .se-search-result-media { flex: none; max-width: none; }
    .se-search-form { flex-direction: column; }
    .se-search-form .se-search-submit { width: 100%; }
    .se-search-results,
    .se-search-empty,
    .se-search-empty-query { padding-left: 24px; padding-right: 24px; }
}

/* ============================================================
   26) VIDEOARCHIV (se-videos.php) — kuratiertes Filmarchiv
   Einheitliches 3/2/1-Raster, Poster immer 16:9, kontrollierte
   Platzhalter (keine schwarzen Player-Flaechen, kein iframe).
   ============================================================ */
.se-video-kicker {
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
    margin: 0 0 10px;
}
.se-video-count {
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 16px 0 0;
}
.se-video-grid {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 40px 48px 72px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px 24px;   /* mehr vertikaler Abstand zwischen Zeilen */
}
@media (max-width: 1024px) { .se-video-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .se-video-grid { grid-template-columns: 1fr; padding-left: 24px; padding-right: 24px; } }

/* Karte */
.se-video-card {
    background: var(--surface);
    border: 1px solid var(--line);
    display: flex;
    min-width: 0;
}
.se-video-card-link {
    color: inherit;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    width: 100%;
}
.se-video-card-link:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}
/* Poster: immer 16:9, nur in der Archivdarstellung gecroppt (Objektdatei unveraendert) */
.se-video-poster { display: block; overflow: hidden; }
.se-video-poster img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    transition: transform 220ms ease;
}
.se-video-card-link:hover .se-video-poster img,
.se-video-card-link:focus-visible .se-video-poster img { transform: scale(1.02); }

/* Kontrollierter Platzhalter: abgesetzte dunkle Flaeche, dezente goldene
   Linie, reduziertes Play-Symbol, Label VIDEO — kein Fake-Foto, kein
   schwarzer Player-Look */
.se-video-ph {
    aspect-ratio: 16 / 9;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    background:
        radial-gradient(120% 120% at 50% 0%, #17191d 0%, #101113 55%, #0c0d0f 100%);
    border-bottom: 1px solid var(--line);
    padding: 20px;
    text-align: center;
}
.se-video-ph-play {
    width: 0;
    height: 0;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 14px solid rgba(184, 154, 104, 0.6);
    margin-bottom: 2px;
}
.se-video-ph-label {
    font-size: 12.5px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.se-video-ph-line {
    width: 40px;
    height: 1px;
    background: rgba(184, 154, 104, 0.5);
}
.se-video-card-body {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    min-width: 0;
}
.se-video-card-type {
    font-size: 12.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
    margin: 0;
}
.se-video-card-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(19px, 1.9vw, 24px);
    font-weight: 500;
    line-height: 1.25;
    margin: 0;
    color: var(--text);
    overflow-wrap: anywhere;
    /* max. ~3 sichtbare Zeilen auf Desktop, KEINE feste Hoehe */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media (max-width: 640px) {
    .se-video-card-title { -webkit-line-clamp: unset; overflow: visible; display: block; }
}
.se-video-card-meta {
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0;
}

/* Leerer Zustand */
.se-video-empty {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 40px 48px 72px;
}
.se-video-empty-text {
    font-size: 17px;
    font-weight: 300;
    color: var(--text-muted);
    margin: 0;
}

/* Reduzierte Bewegung: keine Hover-Animation */
@media (prefers-reduced-motion: reduce) {
    .se-video-poster img { transition: none; }
    .se-video-card-link:hover .se-video-poster img,
    .se-video-card-link:focus-visible .se-video-poster img { transform: none; }
}
