/* German copy needs flexible rows and content-sized calls to action. */
html[lang="de"] #home-benefits > .wrap > .row {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 30px;margin:0;}
html[lang="de"] #home-benefits > .wrap > .row::before,html[lang="de"] #home-benefits > .wrap > .row::after {display:none;}
html[lang="de"] #home-benefits .one-third {display:grid;grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:20px;align-content:start;float:none;width:auto;padding:0;min-width:0;}
html[lang="de"] #home-benefits .circle {grid-column:1;grid-row:1 / span 2;float:none;margin:0;width:88px;height:88px;}
html[lang="de"] #home-benefits h3 {grid-column:2;margin:0;padding:0 0 10px;line-height:1.4;overflow-wrap:break-word;}
html[lang="de"] #home-benefits p {grid-column:2;margin:0;padding:0;min-width:0;line-height:1.5;overflow-wrap:break-word;}
html[lang="de"] #home-rates-cta > .wrap {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;height:auto;min-height:130px;padding-top:28px;padding-bottom:28px;}
html[lang="de"] #home-rates-cta p {display:block;min-width:0;margin:0;padding:0;line-height:1.4;}
html[lang="de"] #home-rates-cta .btn {float:none!important;display:block;box-sizing:border-box;width:auto;min-width:300px;max-width:100%;height:auto;min-height:70px;line-height:1.4;padding:20px 32px;margin:0;white-space:normal;text-align:center;overflow:visible;}
@media(max-width:1100px){html[lang="de"] #home-benefits > .wrap > .row{grid-template-columns:repeat(2,minmax(0,1fr));}html[lang="de"] #home-rates-cta > .wrap{grid-template-columns:minmax(0,1fr);text-align:center;}html[lang="de"] #home-rates-cta .btn{justify-self:center;}}
@media(max-width:650px){html[lang="de"] #home-benefits > .wrap > .row{grid-template-columns:minmax(0,1fr);gap:30px;}html[lang="de"] #home-rates-cta .btn{width:100%;min-width:0;}html[lang="de"] #home-benefits .one-third{grid-template-columns:72px minmax(0,1fr);column-gap:16px;}html[lang="de"] #home-benefits .circle{width:72px;height:72px;line-height:84px;}html[lang="de"] #home-benefits .circle .icon{font-size:30px;}}

/* Keep translated navigation on one row, with the existing compact menu below 1200px. */
html[lang="de"] .header {position:relative;border-top:6px solid #ffce00;}
html[lang="de"] .header > .wrap {display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:80px;height:auto;}
html[lang="de"] .header > .wrap::before,html[lang="de"] .header > .wrap::after {display:none;}
html[lang="de"] .header .logo {display:block;flex:0 0 180px;width:180px;padding:10px 0;}
html[lang="de"] .header .logo img {display:block;width:180px;max-width:100%;height:auto;}
html[lang="de"] .main-nav {float:none;min-width:0;font-size:12px;}
html[lang="de"] .main-nav > ul {display:flex;align-items:center;gap:16px;flex-wrap:nowrap;}
html[lang="de"] .main-nav.fleet-nav-enabled > ul > li {float:none;padding:29px 0;white-space:nowrap;}
html[lang="de"] .main-nav > ul > li > a {display:block;line-height:22px;}
html[lang="de"] .main-nav ul ul a {white-space:normal;}
html[lang="de"] .intro .textwidget h1 {font-size:clamp(32px,4vw,54px);line-height:1.2;max-width:1050px;margin:0 auto 18px;}
html[lang="de"] .intro .textwidget h2 {line-height:1.4;}
html[lang="de"] .intro .actions {display:flex;align-items:stretch;justify-content:center;gap:20px;flex-wrap:wrap;}
html[lang="de"] .intro .actions .btn {box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:220px;min-height:56px;height:auto;line-height:1.4;padding:16px 28px;margin:0;white-space:nowrap;}
html[lang="de"] .intro .actions .hidedesktop {display:none;}
@media(max-width:1199px){
 html[lang="de"] .header > .wrap {display:block;position:relative;width:100%;max-width:100%;min-height:80px;}
 html[lang="de"] .header .logo {position:absolute;top:0;left:4%;width:180px;padding:16px 0;float:none;}
 html[lang="de"] .main-nav {display:none;}
 html[lang="de"] .slicknav_menu {display:block;}
}

/* Booking details must wrap as complete rows instead of interleaved floats. */
html[lang="de"] .sidebar .summary dl:not(.total) {display:grid;grid-template-columns:84px minmax(0,1fr);gap:8px 10px;float:none;}
html[lang="de"] .sidebar .summary dt,html[lang="de"] .sidebar .summary dd {float:none;width:auto;min-width:0;margin:0;padding:0;line-height:1.5;overflow-wrap:break-word;}
html[lang="de"] .sidebar .summary dt {word-break:normal;}
html[lang="de"] .sidebar .summary dl.total {display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 14px;margin:0;padding:18px 20px;box-sizing:border-box;}
html[lang="de"] .sidebar .summary .total dt {flex:1 1 100%;font-size:14px;}
html[lang="de"] .sidebar .summary .total dd {font-size:23px;white-space:nowrap;}
html[lang="de"] #route_details {box-sizing:border-box;width:100%!important;max-width:100%;padding:14px!important;}
html[lang="de"] #wrapper_route_map > br {display:none;}
html[lang="de"] #wrapper_route_map .tit {margin:16px 0 8px;line-height:1.5;}
html[lang="de"] #map-canvas {width:100%;max-width:100%;}
html[lang="de"] .footer .copy {display:flex;flex-direction:column;align-items:center;gap:18px;padding:24px 0;text-align:center;}
html[lang="de"] .footer .copy p {float:none;max-width:100%;width:auto;margin:0;color:#c9cdd0;}
html[lang="de"] .footer .copy .foot-nav {float:none;max-width:100%;width:100%;}
html[lang="de"] .footer .copy .foot-nav ul {display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;}
html[lang="de"] .footer .copy .foot-nav li {float:none;padding:0;line-height:1.5;}
html[lang="de"] .footer .copy a {color:#c9cdd0;}
html[lang="de"] .footer .copy a:hover {color:#ffce00;}
html[lang="de"] .header .logo {flex-basis:200px;width:200px;}
html[lang="de"] .header .logo img {width:200px;}

html[lang="de"] .german-language-link {display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:#e3e5e7;}
html[lang="de"] .german-language-link img {display:inline-block;width:22px;height:16px;object-fit:cover;vertical-align:middle;}

/* Keep both journey choices aligned, including Uniform's generated radio wrappers. */
html[lang="de"] .advanced-search .form-group.radios {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:11px 16px 0;box-sizing:border-box;}
html[lang="de"] .advanced-search .form-group.radios > div {display:flex;align-items:center;gap:12px;float:none!important;width:100%;min-height:25px;}
html[lang="de"] .advanced-search .form-group.radios .radio {flex:0 0 25px;float:none;top:0;width:25px;height:25px;margin:0;padding:0!important;}
html[lang="de"] .advanced-search .form-group.radios label {float:none;display:block;max-width:none;margin:0;padding:0;line-height:1.4;}
html[lang="de"] .advanced-search .form-group.radios > div > input[type="radio"] {flex:0 0 25px;width:25px;height:25px;margin:0;}

/* A consistent three-column booking row instead of percentage floats. */
html[lang="de"] #booking #start {display:grid;grid-template-columns:minmax(230px,1fr) minmax(270px,1fr) minmax(220px,1fr);align-items:center;gap:30px;padding-top:26px;padding-bottom:26px;}
html[lang="de"] #booking #start::before,html[lang="de"] #booking #start::after {display:none;}
html[lang="de"] #booking #start > .form-group {float:none;width:auto;min-width:0;margin:0;padding:0;}
html[lang="de"] #booking #start .spinner {display:grid;grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:16px;}
html[lang="de"] #booking #start .spinner label {float:none;line-height:1.5;padding:0;margin:0;}
html[lang="de"] #booking #start .spinner label small {display:block;font-size:11px;line-height:1.5;margin-top:3px;}
html[lang="de"] #booking #start .spinner input {float:none;width:76px;height:48px;padding:12px;text-align:center;box-sizing:border-box;}
html[lang="de"] #booking #start .radios {justify-content:center;align-self:center;padding:0;gap:14px;}
html[lang="de"] #booking #start .right {align-self:center;}
html[lang="de"] #booking #start .right .btn {display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:auto;min-height:54px;padding:14px 20px;line-height:1.4;margin:0;}
html[lang="de"] #booking #start > .form-group > br {display:none;}
@media(max-width:1000px){html[lang="de"] #booking #start{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}html[lang="de"] #booking #start .right{grid-column:1 / -1;}html[lang="de"] #booking #start .right .btn{max-width:360px;margin:0 auto;}}
@media(max-width:650px){html[lang="de"] #booking #start{grid-template-columns:minmax(0,1fr);gap:24px;}html[lang="de"] #booking #start .right{grid-column:auto;}html[lang="de"] #booking #start .right .btn{max-width:none;}}
