/*
Theme Name: Rad-Reise-Fieber
Description: Block-Theme für rad-reise-fieber.de – Reisetagebuch Cottbus–Asien–Cottbus 2012/2013. Gestaltung nach der Seite von 2013: orange Kopfleiste mit Schriftzug, Panorama-Kopfbild, orange Menüleiste, Creme-Grund, blaue Überschriften.
Author: NIEDERLAUSITZ aktuell
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: rad-reise-fieber
*/

:root{--rrf-blau:#0075ff;--rrf-orange:#ff8000;--rrf-orange-2:#ff9426;--rrf-creme:#fdf7ec;--rrf-creme-2:#f4ecdb;--rrf-linie:#e4dccb;--rrf-tinte:#1f2427;--rrf-grau:#5f6569;--rrf-blau-soft:#d9e7fb;--rrf-karte:#fff;
  --rrf-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;--rrf-daten:"IBM Plex Mono",ui-monospace,Consolas,monospace}
*{box-sizing:border-box}
body{overflow-x:hidden}
:focus-visible{outline:3px solid var(--rrf-orange);outline-offset:2px}
img{max-width:100%;height:auto}

/* Kopf wie 2013 */
.rrf-kopf{max-width:1180px;margin:clamp(0px,1.4vw,14px) auto 0;padding:0 max(16px,3vw)}
.rrf-marke{background:linear-gradient(var(--rrf-orange-2),var(--rrf-orange));display:flex;align-items:center;gap:1rem;padding:clamp(.45rem,1.2vw,.8rem) clamp(.7rem,2vw,1.4rem);text-decoration:none;border-radius:6px 6px 0 0}
.rrf-marke img{height:clamp(44px,7vw,74px);width:auto;display:block;max-width:100%;object-fit:contain;object-position:left center}
.rrf-marke span{margin-left:auto;font-family:var(--rrf-daten);font-size:.72rem;color:#fff;text-align:right;line-height:1.35}
.rrf-panorama{display:block;width:100%;height:clamp(96px,17.9vw,211px);object-fit:cover;background:#cfe3f5;border-top:4px solid var(--rrf-creme);border-bottom:4px solid var(--rrf-creme)}
.rrf-menue{position:sticky;top:0;z-index:20;max-width:1180px;margin:0 auto;padding:0 max(16px,3vw)}
.admin-bar .rrf-menue{top:32px}
.rrf-menue .wp-block-navigation{background:linear-gradient(var(--rrf-orange-2),var(--rrf-orange));border-radius:0 0 6px 6px;box-shadow:0 2px 6px rgba(0,0,0,.12);padding:.35rem .5rem;overflow-x:auto;scrollbar-width:none}
.rrf-menue .wp-block-navigation::-webkit-scrollbar{display:none}
.rrf-menue .wp-block-navigation__container{flex-wrap:nowrap;gap:.2rem}
.rrf-menue .wp-block-navigation .wp-block-navigation-item a.wp-block-navigation-item__content{color:#fff;padding:.45rem .8rem;border-radius:3px;white-space:nowrap;text-decoration:none;letter-spacing:.03em}
.rrf-menue .wp-block-navigation-item__content:hover{background:rgba(255,255,255,.22);color:#fff}
.rrf-menue .current-menu-item>.wp-block-navigation-item__content,.rrf-menue .wp-block-navigation-item__content[aria-current="page"]{background:#ffd9b0;color:#0060d6}
@media (max-width:600px){.rrf-marke span{display:none}.admin-bar .rrf-menue{top:0}}

/* Allgemein */
.rrf-eyebrow{font-family:var(--rrf-display);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.8125rem;color:var(--rrf-blau);margin:0}
.rrf-daten,.rrf-meta{font-family:var(--rrf-daten);font-variant-numeric:tabular-nums}
.rrf-meta{font-size:.78rem;color:var(--rrf-grau);display:flex;gap:.6rem;flex-wrap:wrap;margin:0}
.rrf-meta b{color:var(--rrf-blau);font-weight:500}
.rrf-meta .zug{border:1px dashed var(--rrf-grau);border-radius:3px;padding:0 .3rem}
main{padding-bottom:3rem}

/* Startseite */
.rrf-hero h1{font-size:var(--wp--preset--font-size--riesig);color:var(--rrf-tinte);margin:.6rem 0 1rem}
.rrf-hero h1 em{font-style:normal;color:var(--rrf-orange)}
.rrf-hero .rrf-lead{font-size:1.25rem;max-width:34ch}
.rrf-tacho{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rrf-linie);border:1px solid var(--rrf-linie);border-radius:6px;overflow:hidden;max-width:520px;margin:1.2rem 0}
.rrf-tacho div{background:var(--rrf-karte);padding:.8rem .9rem}
.rrf-tacho .v{font-family:var(--rrf-daten);font-weight:500;font-size:clamp(1.25rem,2.6vw,1.75rem);display:block}
.rrf-tacho .v.rad{color:var(--rrf-blau)}
.rrf-tacho .l{font-family:var(--rrf-display);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--rrf-grau)}
.rrf-streifen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.rrf-streifen figure{margin:0;position:relative;border-radius:4px;overflow:hidden}
.rrf-streifen figure:first-child{grid-column:1/-1}
.rrf-streifen img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.rrf-streifen figure:first-child img{aspect-ratio:16/9}
.rrf-streifen figcaption{position:absolute;left:.5rem;bottom:.5rem;background:var(--rrf-tinte);color:var(--rrf-creme);font-family:var(--rrf-daten);font-size:.7rem;padding:.2rem .45rem;border-radius:3px;margin:0}
.rrf-zitat{background:var(--rrf-creme-2);border-block:1px solid var(--rrf-linie)}
.rrf-zitat blockquote{margin:0;border:0;padding:0}
.rrf-zitat blockquote p{font-style:italic;font-size:1.6rem;line-height:1.3}
.rrf-zitat cite{font-style:normal;font-family:var(--rrf-display);text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;color:var(--rrf-grau)}

/* Route im Tacho */
.rrf-legende{display:flex;gap:1.2rem;flex-wrap:wrap;font-family:var(--rrf-daten);font-size:.78rem;color:var(--rrf-grau);margin:.4rem 0 1rem}
.rrf-legende span{display:inline-flex;align-items:center;gap:.4rem}
.rrf-legende i{width:26px;height:4px;border-radius:2px;background:var(--rrf-blau);display:inline-block}
.rrf-legende i.zug{background:repeating-linear-gradient(90deg,var(--rrf-grau) 0 6px,transparent 6px 10px)}
.rrf-legende i.flug{background:repeating-linear-gradient(90deg,var(--rrf-orange) 0 3px,transparent 3px 6px)}
.rrf-route{list-style:none;margin:0;padding:0;border-top:1px solid var(--rrf-linie)}
.rrf-route li{display:grid;grid-template-columns:4.5rem minmax(0,1fr) minmax(0,1.6fr) 6.5rem;gap:1rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--rrf-linie)}
.rrf-route .tag{font-family:var(--rrf-daten);font-size:.8rem;color:var(--rrf-grau)}
.rrf-route .ort{font-family:var(--rrf-display);font-weight:600;font-size:1.15rem;min-width:0;text-decoration:none;color:var(--rrf-tinte)}
.rrf-route a.ort:hover{color:var(--rrf-blau)}
.rrf-route .ort small{display:block;font-family:var(--rrf-daten);font-weight:400;font-size:.72rem;color:var(--rrf-grau)}
.rrf-route .balken{height:8px;background:var(--rrf-blau-soft);border-radius:4px;position:relative;overflow:hidden}
.rrf-route .balken b{position:absolute;inset:0 auto 0 0;background:var(--rrf-blau);border-radius:4px}
.rrf-route .km{font-family:var(--rrf-daten);text-align:right;white-space:nowrap}
.rrf-route li.zug .ort::after,.rrf-route li.flug .ort::after{font-family:var(--rrf-daten);font-size:.68rem;font-weight:500;margin-left:.45rem;padding:.05rem .35rem;border-radius:3px;vertical-align:middle}
.rrf-route li.zug .ort::after{content:"Zug";border:1px dashed var(--rrf-grau);color:var(--rrf-grau)}
.rrf-route li.flug .ort::after{content:"Flug";border:1px dotted var(--rrf-orange);color:var(--rrf-orange)}
.rrf-route li.ziel .ort{color:var(--rrf-blau)}
@media (max-width:600px){
  .rrf-route li{grid-template-columns:3.4rem minmax(0,1fr) 6.2rem}
  .rrf-route .balken{grid-column:2/4;grid-row:2}
  .rrf-tacho{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rrf-tacho div:last-child{grid-column:1/-1}
}

/* Regionen-Knöpfe */
.rrf-regionen{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.4rem;padding:0;list-style:none}
.rrf-regionen a{display:inline-block;font-family:var(--rrf-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;color:var(--rrf-tinte);border:1px solid var(--rrf-linie);border-radius:999px;padding:.35rem .85rem;text-decoration:none;background:var(--rrf-karte)}
.rrf-regionen a:hover,.rrf-regionen a.aktiv{background:var(--rrf-tinte);color:var(--rrf-creme);border-color:var(--rrf-tinte)}

/* Berichtskarten */
.rrf-karten .wp-block-post-template.is-layout-grid{gap:1.4rem;grid-template-columns:repeat(auto-fill,minmax(min(16rem,100%),1fr))}
.rrf-karten .wp-block-post{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.rrf-karten .wp-block-post-featured-image{margin:0}
.rrf-karten .wp-block-post-featured-image img{aspect-ratio:4/3;object-fit:cover;border-radius:4px;width:100%}
.rrf-karten .wp-block-post-title{font-size:1.35rem;margin:0;color:var(--rrf-tinte)}
.rrf-karten .wp-block-post-title a{color:inherit;text-decoration:none}
.rrf-karten .wp-block-post-title a:hover{color:var(--rrf-blau)}
.rrf-karten .wp-block-post-excerpt{color:var(--rrf-grau);font-size:.98rem;margin:0}
.rrf-karten .wp-block-post-excerpt__more-link{font-family:var(--rrf-display);font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:.88rem;text-decoration:none}

/* Berichte und Seiten */
.rrf-inhalt img.alignleft{float:left;margin:.35rem 1.4rem .8rem 0;max-width:min(48%,380px);border-radius:4px}
.rrf-inhalt img.alignright{float:right;margin:.35rem 0 .8rem 1.4rem;max-width:min(48%,380px);border-radius:4px}
.rrf-inhalt img.aligncenter{display:block;margin:1rem auto;border-radius:4px}
.rrf-inhalt img:not(.alignleft):not(.alignright):not(.aligncenter){border-radius:4px}
.rrf-inhalt::after{content:"";display:table;clear:both}
.rrf-inhalt p,.rrf-inhalt li{text-align:left}
.rrf-inhalt h2{clear:both;margin-top:2.2rem}
.rrf-inhalt table{border-collapse:collapse;width:100%}
.rrf-inhalt td,.rrf-inhalt th{border:1px solid var(--rrf-linie);padding:.4rem .6rem;vertical-align:top}
.rrf-inhalt .wp-block-gallery{clear:both}
.rrf-inhalt .wp-block-gallery img{border-radius:3px}
@media (max-width:600px){.rrf-inhalt img.alignleft,.rrf-inhalt img.alignright{float:none;margin:.5rem 0 1rem;max-width:100%}}
.rrf-tachostand{border-left:4px solid var(--rrf-orange);background:var(--rrf-karte);border-radius:0 6px 6px 0;padding:.6rem .9rem;font-family:var(--rrf-daten);font-size:.85rem;display:flex;gap:1.2rem;flex-wrap:wrap}
.rrf-tachostand b{color:var(--rrf-blau);font-weight:500}
.rrf-unterseiten{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;list-style:none;padding:0}
.rrf-unterseiten a{display:block;background:var(--rrf-karte);border:1px solid var(--rrf-linie);border-radius:6px;padding:1rem;text-decoration:none;font-family:var(--rrf-display);font-weight:700;font-size:1.3rem;text-transform:uppercase}
.rrf-presse{border-left:3px solid var(--rrf-blau);padding-left:1rem}
.wp-block-post-navigation-link a{font-family:var(--rrf-display);font-weight:600;text-decoration:none}

/* Kommentare (Archiv) */
.wp-block-comments{border-top:1px solid var(--rrf-linie);padding-top:1.5rem}
.wp-block-comment-template{padding:0}
.wp-block-comment-template li{list-style:none;margin:0 0 1rem}
.wp-block-comment-author-name{font-family:var(--rrf-display);font-weight:700;font-size:1.05rem}
.wp-block-comment-date{font-family:var(--rrf-daten);font-size:.72rem;color:var(--rrf-grau)}
.wp-block-comment-content{font-size:.98rem}

/* Fuß */
.rrf-fuss{border-top:4px solid var(--rrf-blau);background:linear-gradient(var(--rrf-orange-2),var(--rrf-orange));color:#fff;font-family:var(--rrf-daten);font-size:.78rem}
.rrf-fuss a{color:#fff;text-decoration:none;margin-left:1rem}
.rrf-fuss a:hover{text-decoration:underline;color:#fff}
.rrf-fuss img{height:34px;width:auto;vertical-align:middle;margin-right:.6rem}
.rrf-fuss-zeile{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.rrf-fuss-zeile span:last-child a:first-child{margin-left:0}
.rrf-inhalt .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){flex-grow:0}

/* Hell/Dunkel-Umschalter – orange Kopf und Panorama bleiben in beiden Modi gleich */
.rrf-menue{position:sticky}
.rrf-menue .wp-block-navigation{padding-right:3.4rem}
.rrf-modus{position:absolute;right:calc(max(16px,3vw) + .45rem);top:50%;transform:translateY(-50%);width:2.3rem;height:2.3rem;border-radius:50%;border:2px solid rgba(255,255,255,.75);background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;margin:0!important}
.rrf-modus:hover{background:rgba(255,255,255,.32)}
.rrf-modus svg{width:1.15rem;height:1.15rem}
.rrf-modus .sonne{display:none}
html[data-theme="dark"] .rrf-modus .mond{display:none}
html[data-theme="dark"] .rrf-modus .sonne{display:block}
html[data-theme="dark"]{color-scheme:dark;
  --rrf-blau:#5aaeff;--rrf-creme:#17191a;--rrf-creme-2:#1f2223;--rrf-linie:#33373a;--rrf-tinte:#e9e7e1;--rrf-grau:#a3a8ab;--rrf-blau-soft:#22344d;--rrf-karte:#212426;
  --wp--preset--color--creme:#17191a;--wp--preset--color--creme-2:#1f2223;--wp--preset--color--linie:#33373a;--wp--preset--color--tinte:#e9e7e1;
  --wp--preset--color--grau:#a3a8ab;--wp--preset--color--blau:#5aaeff;--wp--preset--color--weiss:#212426}
html[data-theme="dark"] .wp-block-button:not(.is-style-outline) .wp-element-button,html[data-theme="dark"] .wp-block-search__button{color:#1f2427}
html[data-theme="dark"] .rrf-streifen figcaption{background:#0d0e0f;color:#e9e7e1}
html[data-theme="dark"] .rrf-inhalt img{filter:brightness(.94)}

/* Routenkarte [rrf_karte] – Aufbau nach der Vortragskarte: oranger Rahmen, Gitternetz, rote Stationen */
:root{--rrf-meer:#e4ecef;--rrf-netz:#cbd7dc;--rrf-land:#c4e2ab;--rrf-kueste:#93c27a;--rrf-grenze:#93b384;--rrf-karte-tinte:#2b2b2a;--rrf-halo:rgba(255,255,255,.85)}
html[data-theme="dark"]{--rrf-meer:#13202a;--rrf-netz:#213340;--rrf-land:#2d3d2b;--rrf-kueste:#45603e;--rrf-grenze:#4d6747;--rrf-karte-tinte:#e9e7e1;--rrf-halo:rgba(19,32,42,.85)}
.rrf-karte{margin:0}
.rrf-karte-leiste{display:flex;align-items:center;gap:.6rem 1.2rem;flex-wrap:wrap;margin:0 0 .8rem}
.rrf-karte-start{background:var(--rrf-orange);color:#1f2427;border:0;border-radius:4px;padding:.6rem 1.1rem;font-family:var(--rrf-display);font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:1rem;cursor:pointer}
.rrf-karte-start:hover{background:var(--rrf-orange-2)}
.rrf-karte-stand{font-family:var(--rrf-daten);display:flex;gap:.4rem 1rem;flex-wrap:wrap;margin:0;font-size:.9rem;font-variant-numeric:tabular-nums}
.rrf-karte-stand b{color:var(--rrf-blau);font-weight:500}
.rrf-karte-svg{display:block;width:100%;height:auto;border:5px solid var(--rrf-orange);border-radius:6px;background:var(--rrf-meer)}
.rrf-karte-meer{fill:var(--rrf-meer)}
.rrf-karte-netz path{fill:none;stroke:var(--rrf-netz);stroke-width:.7}
.rrf-karte-land{fill:var(--rrf-land);stroke:var(--rrf-kueste);stroke-width:.5;stroke-linejoin:round}
.rrf-karte-grenzen{fill:none;stroke:var(--rrf-grenze);stroke-width:.45;stroke-dasharray:2 1.6}
.rrf-maske{fill:none;stroke:#fff;stroke-width:16;stroke-linecap:round;stroke-linejoin:round}
.rrf-linie{fill:none;stroke-linecap:round;stroke-linejoin:round}
.rrf-linie.rad{stroke:var(--rrf-orange);stroke-width:3}
.rrf-linie.zug{stroke:var(--rrf-karte-tinte);stroke-width:2;stroke-dasharray:6 4;stroke-linecap:butt}
.rrf-linie.flug{stroke:var(--rrf-karte-tinte);stroke-width:2;stroke-dasharray:.5 5}
.rrf-stationen circle{fill:#d7261e;stroke:#fff;stroke-width:1.3}
.rrf-stationen a circle{cursor:pointer;transition:r .15s}
.rrf-stationen a:hover circle,.rrf-stationen a:focus circle{r:6;fill:var(--rrf-blau)}
.rrf-stationen text{font-family:var(--rrf-daten);font-size:11px;fill:var(--rrf-karte-tinte);paint-order:stroke;stroke:var(--rrf-halo);stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.rrf-stationen text.heim{font-family:var(--rrf-display);font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.04em}
.rrf-fahrzeug>circle{fill:var(--rrf-orange);stroke:#fff;stroke-width:1.6}
.rrf-fahrzeug g{display:none}
.rrf-fahrzeug path{fill:#fff}
.rrf-fahrzeug .dreh{display:inline}
.rrf-fahrzeug>circle{filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.rrf-fahrzeug[data-art="rad"] g.rad,.rrf-fahrzeug[data-art="zug"] g.zug,.rrf-fahrzeug[data-art="flug"] g.flug{display:inline}
.rrf-karte .rrf-legende{margin:.6rem 0 0}
@media (max-width:700px){.rrf-stationen text{font-size:20px;stroke-width:5px}.rrf-stationen text.heim{font-size:26px}.rrf-stationen circle{stroke-width:2}.rrf-fahrzeug{transform-box:fill-box}}
.rrf-karte .rrf-legende i{background:var(--rrf-orange)}
.rrf-karte .rrf-legende i.zug{background:repeating-linear-gradient(90deg,var(--rrf-karte-tinte) 0 6px,transparent 6px 10px)}
.rrf-karte .rrf-legende i.flug{background:repeating-linear-gradient(90deg,var(--rrf-karte-tinte) 0 2px,transparent 2px 6px)}
