/* Nur Portalinhalt. Der originale Desktop-Seitenrahmen kommt aus kopfzeile(). */
.bus-portal{font:15px/1.45 Arial,Helvetica,sans-serif;color:#202b35;padding:12px 14px;box-sizing:border-box}.bus-portal *{box-sizing:border-box}.bus-portal h1{font-size:25px;margin:0 0 18px;color:#12386c}.bus-portal h2{font-size:19px;margin:15px 0 10px;color:#12386c}.bus-portal a{color:#164e82}.bus-portal label{display:block;margin:9px 0}.bus-portal input,.bus-portal select,.bus-portal button{font:inherit;padding:8px 10px;max-width:100%;border-radius:2px}.bus-portal input,.bus-portal select{width:100%;border:1px solid #9dafc0;background:#fff;color:#222}.bus-portal button,.bus-portal .button{display:inline-block;background:#2065a3;color:#fff;border:0;cursor:pointer;margin:5px 5px 5px 0;padding:9px 14px;text-decoration:none}.bus-portal button.secondary{background:#dce7f0;color:#12386c}.bus-portal .grid,.bus-portal .cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.bus-portal .box,.bus-portal article{background:#f9fafb;border:1px solid #b8cddd;padding:16px;margin:15px 0}.bus-portal .bus-contact{border:1px solid #9db9d2;border-left:5px solid #2065a3;background:#edf3f8;padding:14px;margin-bottom:18px}.bus-portal .bus-contact h2{margin-top:0}.bus-portal .contact-links{display:flex;flex-wrap:wrap;gap:8px 24px}.bus-portal .contact-links a{font-weight:bold}.bus-portal .bus-trip{padding:0;margin:12px 0}.bus-portal .bus-trip-choice{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;background:#e0eaf4;padding:11px 14px;margin:0;cursor:pointer;color:#12386c}.bus-portal .bus-trip-choice input{width:22px;height:22px;margin:0;flex-shrink:0;accent-color:#2065a3}.bus-portal .trip-date,.bus-portal .trip-name{font-size:18px;font-weight:bold}.bus-portal .trip-date{white-space:nowrap}.bus-portal .bus-trip-info{padding:0 14px 4px 50px}.bus-portal .bus-trip-info p{margin:10px 0}.bus-portal .trip-prices,.bus-portal .muted,.bus-portal small{font-size:13px;color:#405366}.bus-portal small{display:block}.bus-portal .fare-details{border-top:1px solid #aabccb;border-bottom:1px solid #aabccb;padding:12px 0;margin:20px 0;font-size:14px}.bus-portal .fare-details summary{font-weight:bold;color:#164e82;cursor:pointer}.bus-portal .bus-contact-form{border-top:2px solid #2065a3;margin-top:24px;padding-top:4px}.bus-portal .check{display:flex;align-items:center;gap:10px}.bus-portal .check input{width:20px;height:20px;flex-shrink:0}.bus-portal .notice{background:#e8f4ff;border-left:4px solid #2065a3;padding:12px}.bus-portal .error{color:#a12424}.bus-portal .table{overflow:auto}.bus-portal table{width:100%;border-collapse:collapse;background:#fff}.bus-portal td,.bus-portal th{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid #c6d2df}.bus-portal th{background:#e5edf5}.bus-portal td form{min-width:210px}.bus-portal nav{display:flex;flex-wrap:wrap;gap:10px 16px;margin:15px 0}.bus-portal .inline{display:flex;gap:10px;align-items:end}.bus-portal .inline label{min-width:230px}.bus-portal fieldset{border:1px solid #b1c3d2}.bus-portal .narrow{max-width:450px}.bus-portal .trap{position:absolute;left:-10000px}.bus-portal .portal-admin-link{font-size:12px;text-align:right;margin:25px 0 0}.bus-portal :is(a,button,input,select):focus{outline:3px solid #e8ae00;outline-offset:2px}
/* Responsive Ergänzung für den ORIGINALEN MSF-Rahmen, keine zweite Kopfzeile. */
@media(max-width:1100px){html,body{min-width:0!important;width:auto!important}body{margin:0!important;background-image:none!important;background-color:#d0d2d5!important}#background{width:100%!important;height:auto!important;min-height:100vh!important;margin:0!important;background-image:none!important}#homepage{position:relative!important;width:100%!important;height:auto!important;min-height:100vh!important;margin:0!important;display:grid!important;grid-template-columns:110px minmax(0,1fr) 180px;gap:0}#logo_gruppe,#logo_msf,#logo_adac,#hauptmenue,#untermenue,#adac,#content{position:static!important;margin:0!important;min-width:0;height:auto!important;box-sizing:border-box}#logo_gruppe{grid-column:1;grid-row:1;width:auto!important;padding:12px}#logo_gruppe img{width:85px!important;height:auto!important;max-width:100%}#logo_msf{grid-column:2;grid-row:1;width:auto!important;align-self:center;padding:12px}#logo_msf img{width:100%!important;max-width:570px;height:auto!important}#logo_adac{grid-column:3;grid-row:1;width:auto!important;align-self:center;padding:12px}#logo_adac img{width:100%!important;max-width:190px;height:auto!important}#hauptmenue{grid-column:2/4;grid-row:2;width:auto!important;line-height:2;padding:5px 8px;overflow-wrap:anywhere}#untermenue{grid-column:1;grid-row:3;width:auto!important;padding:12px 8px;overflow-wrap:anywhere}#content{grid-column:2/4;grid-row:3/5;width:auto!important;max-width:100%;background:#dfdfdf!important}#adac{grid-column:1;grid-row:4;width:auto!important;padding:8px}#content>div{max-width:100%;box-sizing:border-box}#content img{max-width:100%;height:auto}}
@media(max-width:700px){#homepage{grid-template-columns:70px minmax(0,1fr) 105px}#logo_gruppe{padding:8px}#logo_msf,#logo_adac{padding:8px}#hauptmenue{grid-column:1/4;padding:7px 10px}#untermenue{grid-column:1/4;grid-row:3;padding:10px;border-bottom:1px solid #aebccc}#untermenue br{display:none}#untermenue a{display:inline-block;margin:3px 8px 3px 0}#content{grid-column:1/4;grid-row:4}#adac{display:none}.bus-portal{padding:14px 10px}.bus-portal .grid,.bus-portal .cards{grid-template-columns:1fr}.bus-portal .contact-links{display:block}.bus-portal .contact-links span{display:block;margin:7px 0}.bus-portal .trip-name{flex-basis:100%;padding-left:32px}.bus-portal .bus-trip-info{padding-left:14px}.bus-portal .inline{display:block}.bus-portal h1{font-size:23px}}
@media(max-width:400px){#homepage{grid-template-columns:65px minmax(0,1fr)}#logo_gruppe{grid-row:1/3}#logo_msf{grid-column:2;grid-row:1}#logo_adac{grid-column:2;grid-row:2;justify-self:end;width:115px!important}#hauptmenue{grid-column:1/3;grid-row:3}#untermenue{grid-column:1/3;grid-row:4}#content{grid-column:1/3;grid-row:5}}
@media print{.bus-portal nav,.bus-portal button,.bus-portal .portal-admin-link{display:none}.bus-portal article{break-inside:avoid}}
/* V6: kompakte Fahrtenliste und automatisch verfügbare Flyer. */
.bus-portal .bus-intro.has-flyer{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:18px;align-items:start;background:#c4c7ca;padding:12px}.bus-portal .bus-intro .bus-contact{margin:0}.bus-portal .bus-flyer{margin:0;text-align:center;font-size:12px;max-width:145px}.bus-portal .bus-flyer img{display:block;width:100%;height:auto;border:1px solid #8a9daf;box-shadow:0 2px 5px #0002}.bus-portal .bus-flyer figcaption{margin:5px 0;font-weight:bold}.bus-portal .flyer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 12px}.bus-portal .trip-distances{font-size:14px;font-weight:normal;white-space:normal}.bus-portal .trip-flyer{max-width:85px;padding:9px 0}.bus-portal .bus-trip-info:empty{display:none}.bus-portal .common-journey{border-top:1px solid #aabccb;padding-top:4px;margin-top:18px}.bus-portal .journey-exception{border-left:3px solid #b56b00;padding-left:9px}@media(max-width:650px){.bus-portal .bus-intro.has-flyer{grid-template-columns:1fr;padding:10px}.bus-portal .planning-flyer{max-width:120px;justify-self:end}.bus-portal .trip-distances{display:block;margin-top:3px}.bus-portal .bus-intro .contact-links{overflow-wrap:anywhere}}
/* V9: Smartphone-Kopf blau, Originalmenüs erst nach bewusstem Öffnen. */
.bus-mobile-menu-toggle{display:none}
@media(max-width:700px){
 #background,#homepage{background-color:#2065a3!important}
 #logo_gruppe,#logo_msf,#logo_adac{background-color:#2065a3!important}
 #homepage.bus-menu-ready>.bus-mobile-menu-toggle{display:block;grid-column:1/-1;grid-row:3;justify-self:start;margin:8px 12px;padding:9px 14px;border:1px solid #e6eef7;border-radius:3px;background:#174d83;color:#fff;font:inherit;cursor:pointer}
 #homepage.bus-menu-ready>#hauptmenue,#homepage.bus-menu-ready>#untermenue{display:none!important}
 #homepage.bus-menu-ready.bus-menu-open>#hauptmenue,#homepage.bus-menu-ready.bus-menu-open>#untermenue{display:block!important}
 #homepage.bus-menu-ready>#hauptmenue{grid-column:1/-1;grid-row:4;background:#174d83!important;color:#fff}
 #homepage.bus-menu-ready>#untermenue{grid-column:1/-1;grid-row:5;background:#2065a3!important;color:#fff}
 #homepage.bus-menu-ready>#content{grid-column:1/-1;grid-row:6}
 #homepage.bus-menu-ready>#hauptmenue a,#homepage.bus-menu-ready>#untermenue a{color:#fff!important}
 #homepage.bus-menu-ready>#hauptmenue a[style]{color:#ffcf00!important}
 .bus-mobile-menu-toggle:focus-visible{outline:3px solid #ffcf00;outline-offset:2px}
}
/* V10: Auch die Zwischenansicht verwendet den blauen Kopf, sobald der
   feste Desktop-Hintergrund zugunsten des flexiblen Rahmens entfällt. */
@media(min-width:701px) and (max-width:1100px){
 body,#background,#homepage{background-color:#2065a3!important}
 #logo_gruppe,#logo_msf,#logo_adac{background-color:#2065a3!important}
 #hauptmenue{background:#174d83!important;color:#fff}
 #hauptmenue a{color:#fff!important}
 #hauptmenue a[style]{color:#ffcf00!important}
 #untermenue{background:#2065a3!important;color:#fff}
 #untermenue a{color:#fff!important}
 #content{background-color:#dfdfdf!important}
}

.bus-portal pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f5f8;padding:1rem}.bus-portal textarea{width:100%;box-sizing:border-box}@media print{#hauptmenue,#untermenue,.bus-portal nav,.bus-portal form{display:none!important}.bus-portal table{width:100%;border-collapse:collapse}.bus-portal th,.bus-portal td{padding:6px;border:1px solid #777}}
