@font-face{font-family:Ubuntu;src:url('/assets/fonts/ubuntu/Ubuntu-R.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Ubuntu;src:url('/assets/fonts/ubuntu/Ubuntu-M.ttf') format('truetype');font-weight:500 600;font-style:normal;font-display:swap}@font-face{font-family:Ubuntu;src:url('/assets/fonts/ubuntu/Ubuntu-B.ttf') format('truetype');font-weight:700 900;font-style:normal;font-display:swap}@font-face{font-family:Ubuntu;src:url('/assets/fonts/ubuntu/Ubuntu-RI.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
.railway{font-family:Ubuntu,system-ui,sans-serif;background:#f5f5f2;color:#17242b;--ink:#17242b;--muted:#53616b;--line:#cdd2d0;--dark:#17242b;--accent:#243e4e;--wash:#edf0ef;--paper:#fff}.railway h1,.railway h2,.railway .photo-info h2{font-family:Ubuntu,system-ui,sans-serif}.railway a{transition:color .15s}.railway .site-header{max-width:none;padding:2rem max(2rem,calc((100vw - 1200px)/2));background:var(--rail-main);color:var(--rail-ink);border:0;border-top:18px solid var(--rail-band);border-bottom:9px solid var(--rail-band);display:grid;grid-template-columns:1fr;gap:1.8rem}.railway .brand{font-weight:500;font-size:2rem;letter-spacing:-.04em;gap:1.2rem;width:fit-content}.railway .brand small{color:inherit;opacity:.92;letter-spacing:.035em;font-size:.875rem;margin-top:.3rem}.railway .brand-mark{display:grid;place-items:center;border:2px solid currentColor;border-radius:12px;min-width:70px;height:72px;padding:0 .65rem;font:500 2.8rem Ubuntu,sans-serif;letter-spacing:-.06em}.railway .site-header nav{border-top:1px solid currentColor;padding-top:1rem;gap:.5rem 1.8rem;font-size:1rem}.railway .site-header a:hover{color:inherit;text-decoration:underline;text-underline-offset:6px}.railway main{max-width:1264px;padding-top:2.5rem}.railway h1{font-weight:500;letter-spacing:-.04em;font-size:clamp(2rem,4vw,3.1rem)}.railway .eyebrow{color:#3b515a;letter-spacing:.13em;font-size:.8rem}.railway .photo-stream{max-width:1000px}.railway .photo-card{background:white;padding:1.2rem;border-radius:30px;border:1px solid var(--line);margin-bottom:2.5rem}.railway .main-photo,.railway .photo-button,.railway .photo-button img,.railway #lightbox-image,.railway .upload-preview,.railway .text-page img{border-radius:28px}.railway .main-photo{width:100%;height:auto}.railway .photo-info{padding:1.3rem .5rem .4rem}.railway .photo-info h2{font-size:1.5rem;font-weight:500}.railway .photo-info time{font-size:.875rem;letter-spacing:.08em;color:#53616b}.railway .post-categories{border-top:1px solid var(--line);padding-top:1rem}.railway .post-categories a{color:#243e4e}.railway .results-grid{gap:1.5rem}.railway .results-grid .photo-card{display:flex;flex-direction:column;padding:1.5rem;align-items:stretch;border:1px solid var(--line);margin:0}.railway .results-grid .photo-button{width:300px;max-width:100%;align-self:center;overflow:hidden}.railway .results-grid .photo-info{padding:1rem 0 0}.railway .results-grid h2{font-size:1.15rem;line-height:1.5}.railway .post-actions a{color:#243e4e}.railway .search label{font-size:.875rem}.railway input,.railway select,.railway textarea{border-radius:8px}.railway button,.railway .button{border-radius:8px}.railway .photo-button{border-radius:28px;padding:0;background:none}.railway .category-grid section{border-radius:18px;background:#fff;border-top:8px solid var(--rail-main)}.railway .text-page,.railway .login-panel{padding:2rem;background:white;border-radius:24px}.railway .adminbar{background:#17242b;color:white}.railway .panel,.railway .upload-row{background:white;border-radius:12px}.railway .admin-nav [aria-current]{color:#243e4e;border-bottom:3px solid var(--rail-main)}.railway footer{max-width:none;background:var(--rail-main);color:var(--rail-ink);border-top:8px solid var(--rail-band);padding:2rem max(2rem,calc((100vw - 1200px)/2))}.railway footer a:hover{color:inherit}.railway dialog{border-radius:26px;background:#152129}.railway .unpublished{border:3px solid #a9610e!important}.railway .status-badge{border-radius:10px;color:#663a05;background:#ffedcc}.railway .save-bar{border-radius:10px}.railway .theme-option strong{font-weight:500}
/* TEE: beiges Fensterband, purpurroter Wagenkasten, Klassenschild. */
.theme-1-klasse .site-header{background:var(--rail-band);color:#351016;border-top:10px solid var(--rail-main);border-bottom:22px solid var(--rail-main)}.theme-1-klasse .brand-mark{color:var(--rail-band);background:var(--rail-main);border-color:var(--rail-main);border-radius:6px}.theme-1-klasse .site-header nav{border-color:#65192755}.theme-1-klasse .photo-card{border-top:5px solid var(--rail-band)}
/* Zweite Klasse: heller Fensterbereich und kräftiges ozeanblaues Band. */
.theme-2-klasse .site-header{background:var(--rail-band);color:var(--rail-main);border-top:8px solid var(--rail-main);border-bottom:0;padding-bottom:0}.theme-2-klasse .site-header nav{background:var(--rail-main);color:white;border:0;padding:1.1rem 1.4rem;margin:0 -1.4rem}.theme-2-klasse .brand-mark{border-radius:4px}.theme-2-klasse .photo-card{border-bottom:6px solid var(--rail-main)}
/* Interregio: breites blaues Fensterband über einem hellen Wagenkörper. */
.theme-interregio .site-header{border-top:0;border-bottom:18px solid var(--rail-band)}.theme-interregio .brand-mark{font-style:italic;letter-spacing:-.1em;border:0;border-right:2px solid white;border-radius:0;padding-right:1rem}.theme-interregio .photo-card{border-left:6px solid var(--rail-band)}
/* Nahverkehr: türkisfarbene Streifen und dunkle, gut lesbare Anschriften. */
.theme-nahverkehr .site-header{background:#fff;color:#17242b;border-top:18px solid var(--rail-main);border-bottom:12px solid var(--rail-band)}.theme-nahverkehr .brand-mark{background:var(--rail-band);border:0}.theme-nahverkehr .site-header nav{border-color:var(--rail-main)}.theme-nahverkehr .photo-card{border-bottom:6px solid var(--rail-band)}
/* VT 98: weinroter Wagenkasten mit weißen Zierlinien und Anschriften. */
.theme-schienenbus{background:var(--rail-main)}.theme-schienenbus .site-header{border-top:4px solid white;border-bottom:4px double white;margin-top:12px}.theme-schienenbus main{background:#faf9f6;margin-top:2rem;margin-bottom:2rem;border-radius:30px}.theme-schienenbus .brand-mark{border-radius:18px;border:3px double white}.theme-schienenbus .photo-card{border-color:#c8babc}.theme-schienenbus footer{border-top:3px double white}.theme-schienenbus .breadcrumb{color:#53616b}
@media(max-width:680px){.railway .site-header{padding:1.5rem 1rem;gap:1.2rem}.railway .brand{font-size:1.55rem;gap:.8rem}.railway .brand small{font-size:.8rem;max-width:240px;letter-spacing:0}.railway .brand-mark{min-width:54px;height:60px;font-size:2.1rem}.railway .site-header nav{font-size:.95rem;gap:.65rem 1rem}.railway main{padding:1.8rem 1rem}.railway .photo-card{padding:.6rem;border-radius:24px}.railway .main-photo,.railway .photo-button,.railway .photo-button img,.railway #lightbox-image{border-radius:20px}.railway .photo-info h2{font-size:1.2rem}.railway .results-grid .photo-card{padding:1rem}.railway .text-page,.railway .login-panel{padding:1.2rem}.railway footer{padding:1.5rem 1rem}.theme-2-klasse .site-header{padding-bottom:0}.theme-2-klasse .site-header nav{margin:0 -1rem;padding:1rem}.theme-schienenbus main{margin:1rem .5rem;border-radius:20px}.railway .post-categories{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.railway a{transition:none}}

/* Wagenaufteilung: Fensterband, Absetzstreifen und unterer Wagenkasten. */
.railway .photo-card,.railway .results-grid .photo-card{padding:0;border:1px solid var(--rail-main);background:#fff;box-shadow:0 6px 22px #17242b0a}
.railway .photo-heading{padding:1.2rem 1.5rem;margin:0;background:var(--rail-main);color:var(--rail-ink);border-bottom:8px solid var(--rail-band)}
.railway .photo-heading h2{font-family:Ubuntu,system-ui,sans-serif;font-weight:500;font-size:1.4rem}.railway .photo-heading a:hover{color:inherit}.railway .photo-heading time{color:inherit;opacity:.9;font-size:.8rem;letter-spacing:.03em}
.railway .photo-card>.photo-button,.railway .photo-card>a{display:block;margin:1.2rem;max-width:calc(100% - 2.4rem)}
.railway .results-grid .photo-button{margin:1.2rem auto;width:300px;max-width:calc(100% - 2.4rem)}
.railway .photo-info,.railway .results-grid .photo-info{padding:1.1rem 1.5rem 1.4rem;background:color-mix(in srgb,var(--rail-band) 18%,white);border-top:1px solid var(--line)}
.railway .post-categories{padding:0;border:0;margin:0}.railway .post-actions .button{background:var(--rail-main);border:1px solid var(--rail-main);color:var(--rail-ink)}
.railway .post-actions .secondary{background:white;color:var(--rail-main)}.railway .post-actions .button:hover{filter:brightness(.9);text-decoration:none}.railway .status-badge{margin:.8rem;border-radius:8px}
.theme-1-klasse .site-header,.theme-2-klasse .site-header{background:var(--rail-band);color:#17242b;border-top:12px solid #737775;border-bottom:6px solid #333b3d;padding-bottom:0;gap:1.6rem}
.theme-1-klasse .site-header nav,.theme-2-klasse .site-header nav{background:var(--rail-main);color:white;border:0;margin:0 calc(-1 * max(2rem, (100vw - 1200px)/2));padding:1.3rem max(2rem,calc((100vw - 1200px)/2)) 2rem}
.theme-1-klasse .photo-heading,.theme-2-klasse .photo-heading{background:var(--rail-band);color:#17242b;border-bottom:0}
.theme-1-klasse .photo-card,.theme-2-klasse .photo-card{background:var(--rail-band);border-bottom:5px solid #333b3d}
.theme-1-klasse .photo-info,.theme-2-klasse .photo-info{background:var(--rail-main);color:white;border:0}
.theme-1-klasse .post-categories a,.theme-2-klasse .post-categories a{color:white;text-decoration:underline;text-decoration-color:#ffffff66;text-underline-offset:3px}
.theme-1-klasse .post-actions .button,.theme-2-klasse .post-actions .button{background:var(--rail-band);color:#17242b;border-color:var(--rail-band)}
.theme-1-klasse .post-actions .secondary,.theme-2-klasse .post-actions .secondary{background:transparent;color:white;border-color:#ffffff99}
.theme-nahverkehr{background:#e6e8e5}.theme-nahverkehr .site-header{background:var(--rail-main);color:#000;border-top:14px solid #c5c7c4;border-bottom:16px solid var(--rail-band)}
.theme-nahverkehr .site-header nav{border-color:#0005}.theme-nahverkehr .brand-mark{background:transparent;border:2px solid currentColor}.theme-nahverkehr .photo-card,.theme-nahverkehr .photo-info{background:#d7d9d5}.theme-nahverkehr .photo-heading{border-bottom-width:12px}
.theme-schienenbus .photo-heading{border-bottom:3px double white}.theme-schienenbus .photo-info{background:#f4efed}
.railway .site-logo{border-radius:0;max-width:220px;height:84px;width:auto}
@media(max-width:680px){.railway .photo-heading{padding:1rem}.railway .photo-heading h2{font-size:1.2rem}.railway .photo-info,.railway .results-grid .photo-info{padding:1rem}.railway .site-logo{max-width:110px;height:60px}.theme-1-klasse .site-header nav,.theme-2-klasse .site-header nav{margin:0 -1rem;padding:1rem 1rem 1.5rem}}

/* VT 98: Purpurrot / Sandgelb, einschließlich Zierlinien und heller Flächen. */
.theme-schienenbus{--paper:#f4ead0;--wash:#eee0ba}.theme-schienenbus .site-header{border-top-color:var(--rail-band);border-bottom-color:var(--rail-band)}.theme-schienenbus .brand-mark{border-color:var(--rail-band)}.theme-schienenbus footer{border-top-color:var(--rail-band)}.theme-schienenbus .photo-heading{border-bottom-color:var(--rail-band)}.theme-schienenbus main,.theme-schienenbus .text-page,.theme-schienenbus .login-panel,.theme-schienenbus .category-grid section{background:#f4ead0}.theme-schienenbus .photo-card,.theme-schienenbus .results-grid .photo-card{background:var(--rail-band)}.theme-schienenbus .photo-info{background:#eee0ba}.theme-schienenbus .post-actions .secondary{background:var(--rail-band);color:var(--rail-main)}
.railway .contact-form button{background:var(--rail-main);color:var(--rail-ink);border-color:var(--rail-main)}.railway .text-page{border-top:8px solid var(--rail-main)}

.railway .search button,.railway .pagination .button{background:var(--rail-main);color:var(--rail-ink);border-color:var(--rail-main)}.railway .search button:hover,.railway .pagination .button:hover{filter:brightness(.92)}.railway .main-photo-button{width:calc(100% - 2.4rem);max-width:1000px;align-self:center}.railway .lightbox-actions .button{background:var(--rail-band);color:#17242b;border-color:var(--rail-band)}.railway #lightbox{border:2px solid var(--rail-band)}

.railway .site-logo{border-radius:16px}.railway .photo-stream,.railway .single-photo{max-width:1040px}.railway .category-grid .button,.railway .category-roots .button{background:var(--rail-main);color:var(--rail-ink);border-color:var(--rail-main)}.railway .category-grid .button:hover{filter:brightness(.92)}
@media(max-width:768px){.railway .site-header{padding-bottom:1rem}.railway .site-header #site-menu{margin:0;padding:.4rem 0}.theme-1-klasse .site-header #site-menu,.theme-2-klasse .site-header #site-menu{border-radius:8px}.railway .site-logo{border-radius:12px}}

/* Einheitliche Bedienelemente in der aktiven Wagenlackierung. */
.railway button:not(.photo-button):not(.menu-toggle):not(.table-preview),.railway a.button:not(.inquiry-button){background:var(--rail-main);border-color:var(--rail-main);color:var(--rail-ink)}
.railway button:not(.photo-button):not(.menu-toggle):not(.table-preview):hover,.railway a.button:not(.inquiry-button):hover{background:var(--rail-main);color:var(--rail-ink);filter:brightness(.92)}
.railway .picker-browse button,.railway .menu-move button{border:1px solid var(--rail-band)}
.railway #lightbox{background:var(--rail-main);color:var(--rail-ink);border-color:var(--rail-band)}
.railway #lightbox button,.railway #lightbox a.button{background:var(--rail-band);color:#17242b;border-color:var(--rail-band)}
.railway #lightbox button:hover,.railway #lightbox a.button:hover{background:var(--rail-band);color:#17242b;filter:brightness(.92)}
@media(max-width:768px){.railway #lightbox .lightbox-actions #lightbox-inquiry{background:transparent;color:inherit;border:0}.railway #lightbox .lightbox-actions #lightbox-inquiry:hover{background:transparent;color:inherit}}
.railway .table-preview{color:var(--rail-main)!important}

/* Titel und Datumsband auf Ergebnis-Karten ohne weißen Zwischenraum. */
.theme-interregio .results-grid .photo-card{row-gap:0}
