.gc-vs--faehren {
--gc-vs-brand:     #2c5b94;
--gc-vs-brand-2:   #4583cf;
--gc-vs-text:      #1a1a1a;
--gc-vs-text-mute: #6a6a6a;
--gc-vs-surface:   #f7f9fb;
--gc-vs-border:    #e6e8ec;
--gc-vs-radius:    14px;
--gc-vs-radius-sm: 10px;
--gc-vs-shadow:    0 2px 10px rgba(20,30,50,0.04), 0 8px 24px rgba(20,30,50,0.04);
container-type: inline-size;
container-name: gc-vs-fer;
} .gc-fer-status {
margin: 0.85rem 0 0;
min-height: 80px;
}
.gc-fer-status__skeleton, .gc-fer-status__empty {
padding: 1.5rem;
text-align: center;
color: var(--gc-vs-text-mute);
background: var(--gc-vs-surface);
border-radius: var(--gc-vs-radius);
border: 1px dashed var(--gc-vs-border);
}
.gc-fer-status__inner {
border-radius: var(--gc-vs-radius);
padding: 1rem 1.1rem 1.1rem;
border: 1px solid var(--gc-vs-border);
background: #fff;
box-shadow: var(--gc-vs-shadow);
}
.gc-fer-status__inner--green  { border-top: 4px solid #16a34a; }
.gc-fer-status__inner--yellow { border-top: 4px solid #d97706; }
.gc-fer-status__inner--red    { border-top: 4px solid #dc2626; }
.gc-fer-status__head {
display: flex;
align-items: center;
gap: 0.55rem;
margin-bottom: 0.85rem;
flex-wrap: wrap;
}
.gc-fer-status__dot {
width: 12px; height: 12px;
border-radius: 50%;
background: #16a34a;
box-shadow: 0 0 0 0 rgba(22,163,74,0.4);
animation: gc-fer-pulse 2s ease-in-out infinite;
}
.gc-fer-status__inner--yellow .gc-fer-status__dot { background: #d97706; box-shadow: 0 0 0 0 rgba(217,119,6,0.4); }
.gc-fer-status__inner--red .gc-fer-status__dot    { background: #dc2626; box-shadow: 0 0 0 0 rgba(220,38,38,0.4); }
@keyframes gc-fer-pulse {
0%   { box-shadow: 0 0 0 0 rgba(22,163,74,0.5); }
70%  { box-shadow: 0 0 0 8px rgba(22,163,74,0); }
100% { box-shadow: 0 0 0 0 rgba(22,163,74,0); }
}
.gc-fer-status__inner--yellow .gc-fer-status__dot { animation-name: gc-fer-pulse-y; }
.gc-fer-status__inner--red    .gc-fer-status__dot { animation-name: gc-fer-pulse-r; }
@keyframes gc-fer-pulse-y { 0%{box-shadow:0 0 0 0 rgba(217,119,6,0.5);} 70%{box-shadow:0 0 0 8px rgba(217,119,6,0);} 100%{box-shadow:0 0 0 0 rgba(217,119,6,0);} }
@keyframes gc-fer-pulse-r { 0%{box-shadow:0 0 0 0 rgba(220,38,38,0.5);} 70%{box-shadow:0 0 0 8px rgba(220,38,38,0);} 100%{box-shadow:0 0 0 0 rgba(220,38,38,0);} }
@media (prefers-reduced-motion: reduce) { .gc-fer-status__dot { animation: none; } }
.gc-fer-status__title {
margin: 0;
font-size: 1.1rem;
font-weight: 700;
color: var(--gc-vs-brand);
}
.gc-fer-status__count {
margin-left: auto;
font-size: 0.82rem;
color: var(--gc-vs-text-mute);
background: var(--gc-vs-surface);
padding: 0.2rem 0.55rem;
border-radius: 6px;
}
.gc-fer-status__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 0.6rem;
}
.gc-fer-status__item {
display: grid;
grid-template-columns: auto 1fr;
gap: 0.7rem;
padding: 0.7rem 0.85rem;
background: var(--gc-vs-surface);
border-radius: 8px;
border-left: 3px solid var(--gc-vs-border);
}
.gc-fer-status__item--critical { border-left-color: #dc2626; background: #fef2f2; }
.gc-fer-status__item--warning  { border-left-color: #d97706; background: #fef7e6; }
.gc-fer-status__item--info     { border-left-color: #4583cf; background: #eef3f9; }
.gc-fer-status__sev {
width: 12px; height: 12px;
border-radius: 50%;
flex-shrink: 0;
margin-top: 0.25rem;
}
.gc-fer-status__item--critical .gc-fer-status__sev { background: #dc2626; }
.gc-fer-status__item--warning  .gc-fer-status__sev { background: #d97706; }
.gc-fer-status__item--info     .gc-fer-status__sev { background: #4583cf; }
.gc-fer-status__txt { display: flex; flex-direction: column; gap: 0.18rem; min-width: 0; }
.gc-fer-status__item-title { font-size: 0.95rem; color: var(--gc-vs-text); line-height: 1.35; }
.gc-fer-status__meta { font-size: 0.78rem; color: var(--gc-vs-text-mute); }
.gc-fer-status__link {
font-size: 0.85rem; font-weight: 600;
color: var(--gc-vs-brand); text-decoration: none;
margin-top: 0.2rem;
}
.gc-fer-status__link:hover { text-decoration: underline; } .gc-fer-map-wrap {
margin: 0.85rem 0 1.25rem;
border: 1px solid var(--gc-vs-border);
border-radius: var(--gc-vs-radius);
overflow: hidden;
background: var(--gc-vs-surface);
}
.gc-fer-map {
width: 100%;
height: 380px;
}
@container gc-vs-fer (min-width: 760px) {
.gc-fer-map { height: 480px; }
} .gc-fer-ports {
display: flex;
flex-direction: column;
gap: 1.5rem;
margin-top: 0.5rem;
}
.gc-fer-ports__skeleton {
padding: 2rem;
text-align: center;
background: var(--gc-vs-surface);
border-radius: var(--gc-vs-radius);
color: var(--gc-vs-text-mute);
}
.gc-fer-ports__region-name {
margin: 0 0 0.65rem;
font-size: 1.1rem;
color: var(--gc-vs-brand);
font-weight: 700;
padding-bottom: 0.35rem;
border-bottom: 2px solid #d9e3f0;
}
.gc-fer-ports__count {
font-size: 0.85rem;
color: var(--gc-vs-text-mute);
font-weight: 500;
}
.gc-fer-ports__grid {
display: grid;
grid-template-columns: 1fr;
gap: 0.7rem;
}
.gc-fer-ports__card {
padding: 0.9rem 1rem;
background: #fff;
border: 1px solid var(--gc-vs-border);
border-radius: var(--gc-vs-radius-sm);
transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}
.gc-fer-ports__card:hover {
transform: translateY(-1px);
border-color: var(--gc-vs-brand-2);
box-shadow: 0 4px 12px rgba(20,30,50,0.05);
}
.gc-fer-ports__card--main { border-left: 4px solid var(--gc-vs-brand); }
.gc-fer-ports__card--car  { background: linear-gradient(135deg, #fef2f2 0%, #fff 60%); border-left: 4px solid #dc2626; }
.gc-fer-ports__card-head {
display: flex;
flex-direction: column;
gap: 0.35rem;
margin-bottom: 0.5rem;
}
.gc-fer-ports__card-name {
margin: 0;
font-size: 1.05rem;
color: var(--gc-vs-brand);
font-weight: 600;
}
.gc-fer-ports__badges {
display: flex; flex-wrap: wrap; gap: 0.3rem;
}
.gc-fer-ports__badge {
padding: 0.12rem 0.5rem;
font-size: 0.72rem;
font-weight: 500;
border-radius: 4px;
background: var(--gc-vs-surface);
color: var(--gc-vs-text);
border: 1px solid var(--gc-vs-border);
}
.gc-fer-ports__badge--main { background: #eef3f9; color: var(--gc-vs-brand); border-color: #d9e3f0; }
.gc-fer-ports__badge--car  { background: #fef2f2; color: #991b1b; border-color: #fecaca; font-weight: 600; }
.gc-fer-ports__desc {
margin: 0 0 0.6rem;
font-size: 0.88rem;
line-height: 1.45;
color: var(--gc-vs-text);
}
.gc-fer-ports__links {
display: flex; flex-wrap: wrap; gap: 0.5rem;
}
.gc-fer-ports__link {
font-size: 0.82rem;
font-weight: 600;
color: var(--gc-vs-brand);
text-decoration: none;
padding: 0.3rem 0.6rem;
border: 1px solid var(--gc-vs-border);
border-radius: 6px;
background: #fff;
transition: background 150ms ease;
}
.gc-fer-ports__link:hover {
background: var(--gc-vs-surface);
text-decoration: none;
}
.gc-fer-ports__link--park { color: #d97706; }
.gc-fer-ports__link--map  { color: #16a34a; }
@container gc-vs-fer (min-width: 560px) {
.gc-fer-ports__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container gc-vs-fer (min-width: 960px) {
.gc-fer-ports__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@supports not (container-type: inline-size) {
@media (min-width: 640px) { .gc-fer-ports__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gc-fer-ports__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
} .gc-fer-routen {
display: grid;
grid-template-columns: 1fr;
gap: 0.85rem;
margin-top: 0.5rem;
}
.gc-fer-routen__card {
display: grid;
grid-template-columns: auto 1fr;
gap: 0.85rem;
padding: 1rem 1.1rem;
background: #fff;
border: 1px solid var(--gc-vs-border);
border-radius: var(--gc-vs-radius);
box-shadow: 0 1px 3px rgba(20,30,50,0.03);
}
.gc-fer-routen__icon {
width: 3rem; height: 3rem;
background: #eef3f9;
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 1.6rem;
flex-shrink: 0;
}
.gc-fer-routen__body { min-width: 0; }
.gc-fer-routen__name {
margin: 0 0 0.4rem;
font-size: 1.05rem;
color: var(--gc-vs-brand);
line-height: 1.3;
}
.gc-fer-routen__meta {
display: flex; flex-direction: column; gap: 0.18rem;
font-size: 0.9rem;
color: var(--gc-vs-text);
margin-bottom: 0.5rem;
}
.gc-fer-routen__tipp {
margin: 0;
padding: 0.55rem 0.75rem;
background: var(--gc-vs-surface);
border-left: 3px solid var(--gc-vs-brand-2);
border-radius: 6px;
font-size: 0.85rem;
line-height: 1.45;
}
@container gc-vs-fer (min-width: 760px) {
.gc-fer-routen { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
}
@supports not (container-type: inline-size) {
@media (min-width: 760px) { .gc-fer-routen { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } }
} .gc-fer-types {
display: grid;
grid-template-columns: 1fr;
gap: 0.7rem;
}
.gc-fer-types__card {
padding: 1rem 1.1rem;
background: #fff;
border: 1px solid var(--gc-vs-border);
border-radius: var(--gc-vs-radius-sm);
}
.gc-fer-types__icon {
font-size: 1.8rem;
display: inline-block;
margin-bottom: 0.4rem;
}
.gc-fer-types__name {
margin: 0 0 0.4rem;
font-size: 1.02rem;
color: var(--gc-vs-brand);
}
.gc-fer-types__desc {
margin: 0;
font-size: 0.92rem;
line-height: 1.5;
color: var(--gc-vs-text);
}
@container gc-vs-fer (min-width: 640px) {
.gc-fer-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container gc-vs-fer (min-width: 960px) {
.gc-fer-types { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@supports not (container-type: inline-size) {
@media (min-width: 640px) { .gc-fer-types { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gc-fer-types { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
} .gc-fer-autofaehre {
background: linear-gradient(135deg, #fef2f2 0%, #fff 70%);
padding: 1.25rem 1.1rem;
border-radius: var(--gc-vs-radius);
border: 1px solid #fecaca;
border-left: 5px solid #dc2626;
}
.gc-fer-autofaehre__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.75rem;
margin: 0.85rem 0;
}
.gc-fer-autofaehre__fact {
padding: 0.75rem 0.9rem;
background: #fff;
border: 1px solid var(--gc-vs-border);
border-radius: 8px;
display: flex;
flex-direction: column;
gap: 0.18rem;
}
.gc-fer-autofaehre__fact-label {
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.04em;
font-weight: 600;
color: var(--gc-vs-text-mute);
}
.gc-fer-autofaehre__fact-val {
font-size: 1.05rem;
color: var(--gc-vs-brand);
font-weight: 700;
line-height: 1.2;
}
.gc-fer-autofaehre__fact-sub {
font-size: 0.8rem;
color: var(--gc-vs-text-mute);
}
@container gc-vs-fer (min-width: 720px) {
.gc-fer-autofaehre__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@container gc-vs-fer (min-width: 1020px) {
.gc-fer-autofaehre__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@supports not (container-type: inline-size) {
@media (min-width: 760px) { .gc-fer-autofaehre__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .gc-fer-autofaehre__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
} .gc-fer-autofaehre__fact--wait {
border-left: 4px solid #cbd5e1;
}
.gc-fer-autofaehre__fact--wait.gc-fer-autofaehre__fact--green  { border-left-color: #16a34a; background: #f0fdf4; }
.gc-fer-autofaehre__fact--wait.gc-fer-autofaehre__fact--yellow { border-left-color: #f59e0b; background: #fffbeb; }
.gc-fer-autofaehre__fact--wait.gc-fer-autofaehre__fact--red    { border-left-color: #dc2626; background: #fef2f2; } .gc-fer-pdfs__grid {
display: grid;
grid-template-columns: 1fr;
gap: 1rem;
margin-top: 0.5rem;
}
.gc-fer-pdfs__route {
background: #fff;
border: 1px solid var(--gc-vs-border);
border-radius: var(--gc-vs-radius);
padding: 1rem 1.1rem;
}
.gc-fer-pdfs__route-name {
margin: 0 0 0.4rem;
font-size: 1.05rem;
color: var(--gc-vs-brand);
}
.gc-fer-pdfs__route-desc {
margin: 0 0 0.7rem;
font-size: 0.88rem;
line-height: 1.5;
color: var(--gc-vs-text);
}
.gc-fer-pdfs__seasons {
display: flex;
flex-direction: column;
gap: 0.45rem;
}
.gc-fer-pdfs__season {
display: grid;
grid-template-columns: 1fr auto;
gap: 0.7rem;
align-items: center;
padding: 0.6rem 0.8rem;
background: var(--gc-vs-surface);
border-radius: 8px;
border-left: 3px solid var(--gc-vs-border);
}
.gc-fer-pdfs__season--current {
background: #eef9f3;
border-left-color: #16a34a;
}
.gc-fer-pdfs__season-info { display: flex; flex-direction: column; gap: 0.15rem; }
.gc-fer-pdfs__season-name { color: var(--gc-vs-text); font-size: 0.95rem; }
.gc-fer-pdfs__season-now {
font-size: 0.7rem;
font-weight: 700;
color: #16a34a;
text-transform: uppercase;
letter-spacing: 0.04em;
background: #dcfce7;
padding: 0.1rem 0.4rem;
border-radius: 4px;
align-self: flex-start;
}
.gc-fer-pdfs__season-period { font-size: 0.78rem; color: var(--gc-vs-text-mute); }
.gc-fer-pdfs__pdf-link {
padding: 0.45rem 0.85rem;
background: var(--gc-vs-brand);
color: #fff !important;
border-radius: 8px;
font-size: 0.85rem;
font-weight: 600;
text-decoration: none !important;
white-space: nowrap;
transition: background 200ms ease;
min-height: 38px;
display: inline-flex;
align-items: center;
gap: 0.3rem;
}
.gc-fer-pdfs__pdf-link:hover { background: var(--gc-vs-brand-2); }
.gc-fer-pdfs__pdf-na {
font-size: 0.78rem;
color: var(--gc-vs-text-mute);
font-style: italic;
}
.gc-fer-pdfs__note {
margin: 0.85rem 0 0;
font-size: 0.82rem;
color: var(--gc-vs-text-mute);
line-height: 1.5;
}
@container gc-vs-fer (min-width: 720px) {
.gc-fer-pdfs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@supports not (container-type: inline-size) {
@media (min-width: 760px) { .gc-fer-pdfs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
} .gc-fer-fahrplan {
display: flex;
flex-direction: column;
gap: 1rem;
margin-top: 0.5rem;
}
.gc-fer-fahrplan__skeleton, .gc-fer-fahrplan__empty {
padding: 2rem;
text-align: center;
color: var(--gc-vs-text-mute);
background: var(--gc-vs-surface);
border-radius: var(--gc-vs-radius);
border: 1px dashed var(--gc-vs-border);
}
.gc-fer-fahrplan__card {
background: #fff;
border: 1px solid var(--gc-vs-border);
border-radius: var(--gc-vs-radius);
padding: 1rem 1.1rem;
box-shadow: 0 1px 3px rgba(20,30,50,0.03);
container-type: inline-size;
}
.gc-fer-fahrplan__card-head {
display: flex;
align-items: center;
gap: 0.85rem;
margin-bottom: 0.85rem;
padding-bottom: 0.7rem;
border-bottom: 3px solid var(--gc-line-color, #4583cf);
}
.gc-fer-fahrplan__icon {
width: 3rem; height: 3rem;
background: color-mix(in srgb, var(--gc-line-color, #4583cf) 12%, white);
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 1.6rem;
flex-shrink: 0;
}
@supports not (background: color-mix(in srgb, red 10%, white)) {
.gc-fer-fahrplan__icon { background: #eef3f9; }
}
.gc-fer-fahrplan__name {
margin: 0 0 0.2rem;
font-size: 1.05rem;
line-height: 1.3;
color: var(--gc-vs-brand);
}
.gc-fer-fahrplan__type {
font-size: 0.82rem;
color: var(--gc-vs-text-mute);
} .gc-fer-fahrplan__stops {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.4rem;
margin-bottom: 0.85rem;
padding: 0.65rem 0.75rem;
background: var(--gc-vs-surface);
border-radius: 8px;
}
.gc-fer-fahrplan__stop {
display: inline-flex;
flex-direction: column;
align-items: center;
padding: 0.25rem 0.55rem;
background: #fff;
border: 1px solid var(--gc-vs-border);
border-radius: 6px;
font-size: 0.85rem;
font-weight: 500;
color: var(--gc-vs-text);
line-height: 1.2;
}
.gc-fer-fahrplan__stop-offset {
font-size: 0.68rem;
color: var(--gc-vs-text-mute);
margin-top: 0.05rem;
}
.gc-fer-fahrplan__arrow {
color: var(--gc-vs-brand-2);
font-weight: 700;
font-size: 1.1rem;
flex-shrink: 0;
}
.gc-fer-fahrplan__arrow--small { font-size: 0.9rem; } .gc-fer-fahrplan__live {
margin-bottom: 0.85rem;
padding: 0.85rem 1rem;
background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
border: 1px solid #6ee7b7;
border-left: 4px solid #16a34a;
border-radius: 10px;
}
.gc-fer-fahrplan__live--done {
background: var(--gc-vs-surface);
border-color: var(--gc-vs-border);
border-left-color: var(--gc-vs-text-mute);
color: var(--gc-vs-text-mute);
}
.gc-fer-fahrplan__live--out-season {
background: #fef7e6;
border-color: #fbbf24;
border-left-color: #d97706;
color: #7a5a00;
}
.gc-fer-fahrplan__live-head {
display: flex;
align-items: center;
gap: 0.5rem;
font-size: 0.95rem;
color: #064e2b;
margin-bottom: 0.5rem;
flex-wrap: wrap;
}
.gc-fer-fahrplan__live-dot {
width: 10px; height: 10px;
background: #16a34a;
border-radius: 50%;
box-shadow: 0 0 0 0 rgba(22,163,74,0.4);
animation: gc-fer-fp-pulse 1.8s ease-in-out infinite;
flex-shrink: 0;
}
.gc-fer-fahrplan__live-rel {
color: #16a34a;
font-weight: 700;
}
@keyframes gc-fer-fp-pulse {
0%   { box-shadow: 0 0 0 0 rgba(22,163,74,0.5); }
70%  { box-shadow: 0 0 0 6px rgba(22,163,74,0); }
100% { box-shadow: 0 0 0 0 rgba(22,163,74,0); }
}
@media (prefers-reduced-motion: reduce) {
.gc-fer-fahrplan__live-dot { animation: none; }
}
.gc-fer-fahrplan__live-chain {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.35rem;
font-size: 0.82rem;
color: #064e2b;
}
.gc-fer-fahrplan__live-stop {
background: #fff;
padding: 0.2rem 0.5rem;
border-radius: 4px;
border: 1px solid #6ee7b7;
}
.gc-fer-fahrplan__live-stop strong { color: #047857; margin-right: 0.25rem; } .gc-fer-fahrplan__all-deps {
margin-bottom: 0.6rem;
background: var(--gc-vs-surface);
border-radius: 8px;
border: 1px solid var(--gc-vs-border);
overflow: hidden;
}
.gc-fer-fahrplan__all-summary {
cursor: pointer;
padding: 0.6rem 0.85rem;
font-size: 0.88rem;
font-weight: 600;
color: var(--gc-vs-brand);
list-style: none;
user-select: none;
transition: background 150ms ease;
}
.gc-fer-fahrplan__all-summary::-webkit-details-marker { display: none; }
.gc-fer-fahrplan__all-summary::after {
content: "▾";
margin-left: 0.4rem;
transition: transform 200ms ease;
display: inline-block;
}
.gc-fer-fahrplan__all-deps[open] .gc-fer-fahrplan__all-summary::after { transform: rotate(180deg); }
.gc-fer-fahrplan__all-summary:hover { background: #eef3f9; }
.gc-fer-fahrplan__deps-grid {
display: flex;
flex-wrap: wrap;
gap: 0.35rem;
padding: 0.75rem 0.85rem;
background: #fff;
border-top: 1px solid var(--gc-vs-border);
}
.gc-fer-fahrplan__dep-chip {
padding: 0.28rem 0.65rem;
background: var(--gc-vs-surface);
border: 1px solid var(--gc-vs-border);
border-radius: 6px;
font-size: 0.85rem;
font-variant-numeric: tabular-nums;
color: var(--gc-vs-text);
}
.gc-fer-fahrplan__dep-chip--past {
opacity: 0.4;
text-decoration: line-through;
}
.gc-fer-fahrplan__dep-chip--next {
background: #16a34a;
color: #fff !important;
font-weight: 700;
border-color: #15803d;
box-shadow: 0 0 0 2px rgba(22,163,74,0.18);
}
.gc-fer-fahrplan__notes {
margin: 0;
padding: 0.55rem 0.75rem;
background: var(--gc-vs-surface);
border-left: 3px solid var(--gc-vs-brand-2);
border-radius: 6px;
font-size: 0.85rem;
line-height: 1.45;
color: var(--gc-vs-text);
}
.gc-fer-fahrplan__disclaimer {
margin: 0.5rem 0 0;
padding: 0.65rem 0.85rem;
background: #fff;
border: 1px solid var(--gc-vs-border);
border-radius: 8px;
font-size: 0.82rem;
line-height: 1.5;
color: var(--gc-vs-text-mute);
}
.gc-fer-fahrplan__disclaimer a { color: var(--gc-vs-brand); }
@container gc-vs-fer (min-width: 760px) {
.gc-fer-fahrplan__card-head { gap: 1rem; }
.gc-fer-fahrplan__name { font-size: 1.15rem; }
} .gc-fer-router-sec {
background: linear-gradient(180deg, #eef3f9 0%, #f7f9fb 100%);
border: 1px solid #d9e3f0;
border-left: 4px solid #2c5b94;
border-radius: 14px;
padding: 1.1rem 1.1rem 1.25rem;
}
.gc-fer-router {
display: flex;
flex-direction: column;
gap: 0.75rem;
margin: 0.5rem 0 1rem;
padding: 1rem;
background: #fff;
border: 1px solid #e6e8ec;
border-radius: 12px;
box-shadow: 0 2px 8px rgba(20,30,50,0.04);
}
.gc-fer-router__row {
display: grid;
grid-template-columns: 1fr auto 1fr;
gap: 0.6rem;
align-items: end;
}
.gc-fer-router__row--filters {
grid-template-columns: 1fr 1fr;
}
.gc-fer-router__field {
display: flex;
flex-direction: column;
gap: 0.25rem;
min-width: 0;
}
.gc-fer-router__label {
font-size: 0.78rem;
font-weight: 600;
color: #6a6a6a;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.gc-fer-router__select {
width: 100%;
min-height: 44px;
padding: 0.55rem 0.7rem;
background: #fff;
border: 1.5px solid #d9e3f0;
border-radius: 8px;
font-size: 0.95rem;
color: #1a1a1a;
cursor: pointer;
}
.gc-fer-router__select:focus {
outline: 2px solid #4583cf;
outline-offset: 1px;
border-color: #4583cf;
}
.gc-fer-router__swap {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px; height: 44px;
background: #2c5b94;
color: #fff;
border: none;
border-radius: 50%;
font-size: 1.3rem;
cursor: pointer;
transition: background 200ms ease, transform 200ms ease;
align-self: end;
margin-bottom: 1px;
}
.gc-fer-router__swap:hover {
background: #4583cf;
transform: rotate(180deg);
}
@media (prefers-reduced-motion: reduce) {
.gc-fer-router__swap { transition: none; }
} .gc-fer-router__hint {
margin: 0;
padding: 1rem 1.2rem;
background: #fff;
border: 1px dashed #d9e3f0;
border-radius: 10px;
color: #6a6a6a;
font-size: 0.95rem;
}
.gc-fer-router__hint--warn { border-color: #fbbf24; background: #fef7e6; color: #7a5a00; }
.gc-fer-router__noresult {
padding: 1rem 1.1rem;
background: #fef7e6;
border: 1px solid #fbbf24;
border-radius: 10px;
font-size: 0.92rem;
line-height: 1.5;
color: #7a5a00;
}
.gc-fer-router__noresult ul { margin: 0.5rem 0 0.5rem 1.4rem; padding: 0; }
.gc-fer-router__noresult li { margin-bottom: 0.2rem; }
.gc-fer-router__noresult a { color: #2c5b94; }
.gc-fer-router__summary {
margin-bottom: 0.7rem;
padding: 0.5rem 0.85rem;
background: #eef3f9;
border-radius: 8px;
font-size: 0.95rem;
color: #2c5b94;
}
.gc-fer-router__summary strong { color: #2c5b94; }
.gc-fer-router__cards {
display: flex;
flex-direction: column;
gap: 0.7rem;
}
.gc-fer-router__card {
background: #fff;
border: 1px solid #e6e8ec;
border-left: 5px solid #4583cf;
border-radius: 12px;
padding: 0.85rem 1rem;
box-shadow: 0 1px 3px rgba(20,30,50,0.03);
transition: box-shadow 200ms ease, transform 200ms ease;
}
.gc-fer-router__card:hover {
box-shadow: 0 4px 12px rgba(20,30,50,0.06);
transform: translateY(-1px);
}
.gc-fer-router__card--schiff       { border-left-color: #2c5b94; }
.gc-fer-router__card--schnellboot  { border-left-color: #dc2626; }
.gc-fer-router__card--auto_faehre  { border-left-color: #16a34a; }
.gc-fer-router__card--catamarano   { border-left-color: #d97706; }
.gc-fer-router__card--next         { background: #ecfdf5; border-left-color: #16a34a; box-shadow: 0 0 0 2px rgba(22,163,74,0.15); }
.gc-fer-router__card--past         { opacity: 0.55; }
.gc-fer-router__card-head {
display: flex;
align-items: center;
gap: 0.7rem;
margin-bottom: 0.7rem;
flex-wrap: wrap;
}
.gc-fer-router__card-icon {
font-size: 1.4rem;
flex-shrink: 0;
}
.gc-fer-router__card-titles {
display: flex;
flex-direction: column;
gap: 0.15rem;
min-width: 0;
flex: 1;
}
.gc-fer-router__card-type {
font-size: 0.78rem;
color: #6a6a6a;
}
.gc-fer-router__card-badge {
margin-left: auto;
padding: 0.2rem 0.55rem;
background: #16a34a;
color: #fff;
font-size: 0.72rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.04em;
border-radius: 4px;
} .gc-fer-router__line-badge,
.gc-fer-fahrplan__line-badge {
display: inline-block;
align-self: flex-start;
padding: 0.22rem 0.6rem;
background: #2c5b94;
color: #fff;
font-size: 0.82rem;
font-weight: 700;
border-radius: 4px;
letter-spacing: 0.02em;
line-height: 1.2;
}
.gc-fer-router__line-badge[data-boat="schiff"],
.gc-fer-fahrplan__line-badge[data-boat="schiff"]           { background: #2c5b94; }
.gc-fer-router__line-badge[data-boat="schnellboot"],
.gc-fer-fahrplan__line-badge[data-boat="schnellboot"]      { background: #dc2626; }
.gc-fer-router__line-badge[data-boat="auto_faehre"],
.gc-fer-fahrplan__line-badge[data-boat="auto_faehre"]      { background: #16a34a; }
.gc-fer-router__line-badge[data-boat="catamarano"],
.gc-fer-fahrplan__line-badge[data-boat="catamarano"]       { background: #d97706; } .gc-fer-router__card-times {
display: grid;
grid-template-columns: 1fr auto 1fr;
gap: 0.5rem;
align-items: center;
padding: 0.7rem 0.5rem;
background: #f7f9fb;
border-radius: 8px;
}
.gc-fer-router__time-col {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
min-width: 0;
}
.gc-fer-router__time {
font-size: 1.4rem;
font-weight: 700;
color: #2c5b94;
line-height: 1.1;
font-variant-numeric: tabular-nums;
}
.gc-fer-router__city {
font-size: 0.78rem;
color: #6a6a6a;
line-height: 1.2;
margin-top: 0.15rem;
text-overflow: ellipsis;
overflow: hidden;
max-width: 100%;
}
.gc-fer-router__arrow-col {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.1rem;
color: #4583cf;
}
.gc-fer-router__dur {
font-size: 0.78rem;
font-weight: 600;
color: #2c5b94;
}
.gc-fer-router__arrow-line {
font-size: 1.1rem;
color: #4583cf;
font-variant-numeric: tabular-nums;
letter-spacing: -0.1em;
}
.gc-fer-router__mid-count {
font-size: 0.7rem;
color: #6a6a6a;
} .gc-fer-router__stops {
margin-top: 0.55rem;
background: #f7f9fb;
border-radius: 6px;
border: 1px solid #e6e8ec;
}
.gc-fer-router__stops summary {
cursor: pointer;
padding: 0.4rem 0.7rem;
font-size: 0.82rem;
color: #2c5b94;
list-style: none;
font-weight: 600;
}
.gc-fer-router__stops summary::-webkit-details-marker { display: none; }
.gc-fer-router__stops summary::after { content: " ▾"; }
.gc-fer-router__stops[open] summary::after { content: " ▴"; }
.gc-fer-router__stops-list {
padding: 0.4rem 0.7rem 0.6rem;
display: flex;
flex-direction: column;
gap: 0.2rem;
border-top: 1px solid #e6e8ec;
background: #fff;
}
.gc-fer-router__mid-stop {
font-size: 0.85rem;
color: #1a1a1a;
}
.gc-fer-router__mid-stop strong {
display: inline-block;
min-width: 3rem;
color: #2c5b94;
font-variant-numeric: tabular-nums;
}
.gc-fer-router__card-foot {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 0.55rem;
padding-top: 0.5rem;
border-top: 1px solid #f0f2f5;
flex-wrap: wrap;
gap: 0.4rem;
}
.gc-fer-router__line-name {
font-size: 0.78rem;
color: #6a6a6a;
font-style: italic;
}
.gc-fer-router__rel {
font-size: 0.85rem;
font-weight: 600;
color: #16a34a;
}
.gc-fer-router__season-hint {
margin: 0.75rem 0 0;
padding: 0.6rem 0.85rem;
background: #fef7e6;
border: 1px solid #fbbf24;
border-radius: 8px;
font-size: 0.85rem;
color: #7a5a00;
}
.gc-fer-router__disclaimer {
margin: 0.6rem 0 0;
font-size: 0.8rem;
color: #6a6a6a;
}
.gc-fer-router__disclaimer a { color: #2c5b94; } @container gc-vs-fer (max-width: 559px) {
.gc-fer-router__row {
grid-template-columns: 1fr;
gap: 0.45rem;
}
.gc-fer-router__swap {
align-self: center;
margin: 0;
}
.gc-fer-router__time { font-size: 1.2rem; }
.gc-fer-router__card-times { padding: 0.5rem 0.3rem; gap: 0.3rem; }
}
@supports not (container-type: inline-size) {
@media (max-width: 559px) {
.gc-fer-router__row { grid-template-columns: 1fr; gap: 0.45rem; }
.gc-fer-router__swap { align-self: center; margin: 0; }
.gc-fer-router__time { font-size: 1.2rem; }
}
} .gc-fer-router__price {
margin-top: 0.6rem;
padding: 0.7rem 0.85rem;
background: #f7f9fb;
border: 1px solid #e6e8ec;
border-radius: 8px;
font-size: 0.92rem;
}
.gc-fer-router__price-row {
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 0.5rem;
padding: 0.2rem 0;
}
.gc-fer-router__price-row--total {
margin-top: 0.25rem;
padding-top: 0.45rem;
border-top: 1px dashed #d9e3f0;
font-weight: 700;
}
.gc-fer-router__price-label {
color: #1a1a1a;
}
.gc-fer-router__price-row--total .gc-fer-router__price-label {
color: #2c5b94;
}
.gc-fer-router__price-val {
color: #2c5b94;
font-weight: 600;
font-variant-numeric: tabular-nums;
white-space: nowrap;
}
.gc-fer-router__price-row--total .gc-fer-router__price-val {
color: #16a34a;
font-size: 1.05rem;
font-weight: 800;
}
.gc-fer-router__price-tip {
margin-top: 0.45rem;
padding: 0.4rem 0.65rem;
background: #fef9e7;
border-left: 3px solid #f0c14b;
border-radius: 6px;
font-size: 0.84rem;
color: #7a5a00;
line-height: 1.4;
}
.gc-fer-router__price-note {
margin-top: 0.4rem;
font-size: 0.72rem;
color: #6a6a6a;
font-style: italic;
} .gc-fer-router__trip-code {
display: inline-block;
align-self: flex-start;
padding: 0.18rem 0.5rem;
background: #1a1a1a;
color: #fff;
font-size: 0.78rem;
font-weight: 700;
font-variant-numeric: tabular-nums;
border-radius: 4px;
margin-top: 0.18rem;
letter-spacing: 0.04em;
}
.gc-fer-router__trip-code--pending {
background: #6a6a6a;
font-weight: 600;
font-style: italic;
letter-spacing: 0;
}
.gc-fer-router__price-row--supplement {
color: #b45309;
}
.gc-fer-router__price-row--supplement .gc-fer-router__price-val {
color: #b45309;
font-weight: 600;
}  .gc-vs--faehren .gc-vs__sec {
background: #ffffff;
border: 1px solid #e6e8ec;
border-radius: 16px;
padding: 1.25rem 1.25rem 1.5rem;
margin: 1.5rem 0;
box-shadow: 0 1px 3px rgba(20,30,50,0.03), 0 4px 12px rgba(20,30,50,0.04);
}
.gc-vs--faehren .gc-vs__sec > .gc-vs__h2:first-child {
margin-top: 0;
padding-bottom: 0.65rem;
border-bottom: 3px solid #4583cf;
margin-bottom: 0.85rem;
} .gc-vs--faehren .gc-fer-router-sec {
background: linear-gradient(180deg, #eef3f9 0%, #f7f9fb 100%) !important;
border: 1px solid #d9e3f0 !important;
border-left: 5px solid #2c5b94 !important;
box-shadow: 0 4px 14px rgba(44,91,148,0.08), 0 12px 32px rgba(44,91,148,0.06) !important;
}
.gc-vs--faehren .gc-fer-router-sec > .gc-vs__h2:first-child {
border-bottom-color: #2c5b94;
} .gc-vs--faehren #status {
background: linear-gradient(180deg, #fff9f0 0%, #ffffff 100%) !important;
border-left: 5px solid #d97706 !important;
}
.gc-vs--faehren #status > .gc-vs__h2:first-child {
border-bottom-color: #d97706;
}  .gc-vs--faehren #tipps .gc-vs__list {
margin: 0;
padding: 0;
list-style: none;
display: grid;
grid-template-columns: 1fr;
gap: 0.5rem;
}
.gc-vs--faehren #tipps .gc-vs__list li {
background: #f7f9fb;
border: 1px solid #e6e8ec;
border-left: 3px solid #4583cf;
border-radius: 8px;
padding: 0.7rem 0.9rem;
line-height: 1.5;
font-size: 0.95rem;
}
.gc-vs--faehren #tipps .gc-vs__list li strong {
color: #2c5b94;
}
@container gc-vs-fer (min-width: 760px) {
.gc-vs--faehren #tipps .gc-vs__list { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@supports not (container-type: inline-size) {
@media (min-width: 760px) { .gc-vs--faehren #tipps .gc-vs__list { grid-template-columns: repeat(2, minmax(0,1fr)); } }
} .gc-vs--faehren #faq details {
background: #f7f9fb;
border: 1px solid #e6e8ec;
border-left: 3px solid #4583cf;
border-radius: 8px;
padding: 0;
margin-bottom: 0.55rem;
overflow: hidden;
transition: border-color 200ms ease, box-shadow 200ms ease;
}
.gc-vs--faehren #faq details[open] {
border-color: #2c5b94;
border-left-color: #2c5b94;
background: #fff;
box-shadow: 0 2px 8px rgba(20,30,50,0.04);
}
.gc-vs--faehren #faq details > summary,
.gc-vs--faehren #faq details > .gc-faq-item__q,
.gc-vs--faehren #faq details > .faq__q {
cursor: pointer;
padding: 0.85rem 1rem;
font-size: 1rem;
font-weight: 600;
color: #2c5b94;
list-style: none;
user-select: none;
display: flex;
align-items: center;
gap: 0.55rem;
}
.gc-vs--faehren #faq details > summary::-webkit-details-marker { display: none; }
.gc-vs--faehren #faq details > summary::before,
.gc-vs--faehren #faq details > *:first-child::before {
content: "+";
width: 1.5rem;
height: 1.5rem;
background: #eef3f9;
color: #2c5b94;
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 1.1rem;
flex-shrink: 0;
transition: transform 200ms ease, background 200ms ease;
}
.gc-vs--faehren #faq details[open] > summary::before,
.gc-vs--faehren #faq details[open] > *:first-child::before {
content: "−";
background: #2c5b94;
color: #fff;
} .gc-vs--faehren #weiter .gc-vs__cards {
display: grid;
grid-template-columns: 1fr;
gap: 0.7rem;
}
.gc-vs--faehren #weiter .gc-vs__card {
display: flex;
flex-direction: column;
gap: 0.3rem;
padding: 0.9rem 1.05rem;
background: #f7f9fb !important;
border: 1px solid #e6e8ec !important;
border-left: 3px solid #4583cf !important;
border-radius: 10px !important;
color: #1a1a1a !important;
text-decoration: none !important;
transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease, background 200ms ease;
}
.gc-vs--faehren #weiter .gc-vs__card:hover {
background: #ffffff !important;
border-color: #4583cf !important;
border-left-color: #2c5b94 !important;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(20,30,50,0.06);
}
.gc-vs--faehren #weiter .gc-vs__card strong {
font-size: 1rem;
font-weight: 700;
color: #2c5b94;
display: flex;
align-items: center;
gap: 0.35rem;
}
.gc-vs--faehren #weiter .gc-vs__card strong::after {
content: "→";
color: #4583cf;
margin-left: auto;
transition: transform 200ms ease;
}
.gc-vs--faehren #weiter .gc-vs__card:hover strong::after {
transform: translateX(3px);
}
.gc-vs--faehren #weiter .gc-vs__card span:not(:first-child) {
font-size: 0.85rem;
color: #6a6a6a;
line-height: 1.4;
}
@container gc-vs-fer (min-width: 640px) {
.gc-vs--faehren #weiter .gc-vs__cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@container gc-vs-fer (min-width: 960px) {
.gc-vs--faehren #weiter .gc-vs__cards { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@supports not (container-type: inline-size) {
@media (min-width: 640px) { .gc-vs--faehren #weiter .gc-vs__cards { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1024px) { .gc-vs--faehren #weiter .gc-vs__cards { grid-template-columns: repeat(3, minmax(0,1fr)); } }
} .gc-vs--faehren .gc-vs__intro {
padding: 0.5rem 0 1rem;
}
.gc-vs--faehren .gc-vs__intro-pill {
display: inline-block;
padding: 0.3rem 0.85rem;
background: linear-gradient(135deg, #2c5b94 0%, #4583cf 100%);
color: #fff !important;
font-size: 0.78rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
border-radius: 999px;
margin-bottom: 0.85rem;
}
.gc-vs--faehren .gc-vs__intro-pill span {
color: #fff !important;
} .gc-vs--faehren .gc-vs__quicknav {
display: flex;
flex-wrap: wrap;
gap: 0.4rem;
margin-top: 0.5rem;
}
.gc-vs--faehren .gc-vs__quicknav a {
padding: 0.35rem 0.85rem;
background: #eef3f9;
color: #2c5b94 !important;
border: 1px solid #d9e3f0;
border-radius: 999px;
font-size: 0.85rem;
font-weight: 600;
text-decoration: none !important;
transition: background 180ms ease, transform 180ms ease;
}
.gc-vs--faehren .gc-vs__quicknav a:hover {
background: #2c5b94;
color: #fff !important;
transform: translateY(-1px);
} .gc-vs--faehren .gc-vs__toc {
margin: 1rem 0;
background: #f7f9fb;
border: 1px solid #e6e8ec;
border-radius: 10px;
overflow: hidden;
}
.gc-vs--faehren .gc-vs__toc-summary {
padding: 0.75rem 1rem;
color: #2c5b94;
font-weight: 600;
cursor: pointer;
display: flex;
align-items: center;
gap: 0.5rem;
}
.gc-vs--faehren .gc-vs__toc-list {
margin: 0;
padding: 0.5rem 1rem 0.85rem 2.2rem;
background: #fff;
border-top: 1px solid #e6e8ec;
}
.gc-vs--faehren .gc-vs__toc-list li { margin-bottom: 0.3rem; font-size: 0.92rem; }
.gc-vs--faehren .gc-vs__toc-list a { color: #2c5b94; } .gc-vs--faehren .gc-vs__footer {
background: #f7f9fb !important;
border: 1px solid #e6e8ec !important;
border-radius: 10px !important;
padding: 1rem 1.1rem !important;
margin-top: 1.5rem !important;
}
.gc-vs--faehren .gc-vs__src {
margin: 0 0 0.4rem;
font-size: 0.85rem;
color: #6a6a6a;
line-height: 1.5;
}
.gc-vs--faehren .gc-vs__src--legal {
margin-top: 0.5rem !important;
padding: 0.55rem 0.85rem !important;
background: #ffffff !important;
border-left: 3px solid #4583cf !important;
border-radius: 6px !important;
font-size: 0.78rem !important;
color: #6a6a6a !important;
}
@media (prefers-reduced-motion: reduce) {
.gc-vs--faehren #faq details > summary::before { transition: none; }
.gc-vs--faehren #weiter .gc-vs__card,
.gc-vs--faehren #weiter .gc-vs__card strong::after,
.gc-vs--faehren .gc-vs__quicknav a { transition: none !important; }
.gc-vs--faehren #weiter .gc-vs__card:hover { transform: none !important; }
} .gc-vs--faehren .gc-fer-zeit-sec {
background: linear-gradient(180deg, #ecfdf5 0%, #ffffff 60%) !important;
border: 1px solid #6ee7b7 !important;
border-left: 5px solid #16a34a !important;
box-shadow: 0 4px 14px rgba(22,163,74,0.06), 0 12px 32px rgba(22,163,74,0.04) !important;
}
.gc-vs--faehren .gc-fer-zeit-sec > .gc-vs__h2:first-child {
border-bottom-color: #16a34a !important;
color: #064e2b;
}
.gc-fer-zeit__grid {
display: grid;
grid-template-columns: 1fr;
gap: 0.85rem;
margin: 0.5rem 0 1rem;
}
.gc-fer-zeit__card {
background: #fff;
border: 1px solid #d1fae5;
border-left: 5px solid #16a34a;
border-radius: 12px;
padding: 0.95rem 1rem;
box-shadow: 0 1px 3px rgba(20,30,50,0.03);
transition: transform 200ms ease, box-shadow 200ms ease;
}
.gc-fer-zeit__card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 14px rgba(22,163,74,0.08);
}
.gc-fer-zeit__card--xl { border-left-color: #15803d; background: linear-gradient(180deg, #dcfce7 0%, #fff 60%); }
.gc-fer-zeit__card--lg { border-left-color: #16a34a; }
.gc-fer-zeit__card--md { border-left-color: #22c55e; }
.gc-fer-zeit__card--sm { border-left-color: #4583cf; }
.gc-fer-zeit__head { margin-bottom: 0.7rem; }
.gc-fer-zeit__route {
margin: 0;
font-size: 1.1rem;
color: #064e2b;
line-height: 1.3;
font-weight: 700;
}
.gc-fer-zeit__arrow {
color: #16a34a;
margin: 0 0.2rem;
font-weight: 400;
}
.gc-fer-zeit__card--sm .gc-fer-zeit__route,
.gc-fer-zeit__card--sm .gc-fer-zeit__arrow { color: #1e3a5f; }
.gc-fer-zeit__card--sm .gc-fer-zeit__arrow { color: #4583cf; }
.gc-fer-zeit__compare {
display: grid;
grid-template-columns: 1fr auto 1fr;
gap: 0.55rem;
align-items: center;
padding: 0.65rem 0.5rem;
background: #f7f9fb;
border-radius: 8px;
margin-bottom: 0.75rem;
}
.gc-fer-zeit__col {
display: flex;
flex-direction: column;
text-align: center;
min-width: 0;
}
.gc-fer-zeit__col--auto { color: #6a6a6a; }
.gc-fer-zeit__col--fahre { color: #064e2b; }
.gc-fer-zeit__col-label {
font-size: 0.78rem;
font-weight: 600;
margin-bottom: 0.15rem;
}
.gc-fer-zeit__col-time {
font-size: 1.45rem;
font-weight: 800;
line-height: 1.1;
font-variant-numeric: tabular-nums;
}
.gc-fer-zeit__col--auto .gc-fer-zeit__col-time {
color: #1a1a1a;
text-decoration: line-through;
text-decoration-thickness: 1.5px;
text-decoration-color: #b91c1c;
}
.gc-fer-zeit__col--fahre .gc-fer-zeit__col-time { color: #16a34a; }
.gc-fer-zeit__col-sub {
font-size: 0.72rem;
color: #6a6a6a;
line-height: 1.3;
margin-top: 0.1rem;
}
.gc-fer-zeit__vs {
font-size: 0.78rem;
font-weight: 700;
color: #d1d5db;
text-transform: uppercase;
letter-spacing: 0.06em;
} .gc-fer-zeit__save {
display: flex;
align-items: center;
gap: 0.6rem;
flex-wrap: wrap;
margin-bottom: 0.6rem;
padding: 0.55rem 0.85rem;
background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
border-radius: 10px;
}
.gc-fer-zeit__save-badge {
background: rgba(255,255,255,0.95);
color: #064e2b;
padding: 0.3rem 0.75rem;
border-radius: 999px;
font-size: 1.05rem;
font-weight: 800;
letter-spacing: 0.02em;
font-variant-numeric: tabular-nums;
}
.gc-fer-zeit__save-pct {
color: #fff;
font-size: 0.92rem;
font-weight: 600;
}
.gc-fer-zeit__tipp {
margin: 0;
padding: 0.55rem 0.75rem;
background: #f7f9fb;
border-left: 3px solid #4583cf;
border-radius: 6px;
font-size: 0.86rem;
line-height: 1.5;
color: #1a1a1a;
}
.gc-fer-zeit__footer {
margin-top: 0.85rem;
padding-top: 0.85rem;
border-top: 1px dashed #6ee7b7;
display: flex;
flex-direction: column;
gap: 0.85rem;
align-items: stretch;
}
.gc-fer-zeit__note {
margin: 0;
font-size: 0.85rem;
line-height: 1.5;
color: #1a1a1a;
}
.gc-fer-zeit__note strong { color: #064e2b; }
.gc-fer-zeit__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.4rem;
padding: 0.85rem 1.2rem;
background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
color: #fff !important;
text-decoration: none !important;
border-radius: 12px;
font-size: 1rem;
font-weight: 700;
min-height: 48px;
transition: transform 200ms ease, box-shadow 200ms ease;
box-shadow: 0 2px 8px rgba(22,163,74,0.15);
align-self: stretch;
}
.gc-fer-zeit__cta:hover {
transform: translateY(-2px);
box-shadow: 0 6px 18px rgba(22,163,74,0.25);
}
@container gc-vs-fer (min-width: 720px) {
.gc-fer-zeit__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.gc-fer-zeit__footer { flex-direction: row; align-items: center; }
.gc-fer-zeit__note { flex: 1; }
.gc-fer-zeit__cta { align-self: center; flex-shrink: 0; }
}
@supports not (container-type: inline-size) {
@media (min-width: 760px) {
.gc-fer-zeit__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.gc-fer-zeit__footer { flex-direction: row; align-items: center; }
.gc-fer-zeit__note { flex: 1; }
.gc-fer-zeit__cta { align-self: center; flex-shrink: 0; }
}
}
@media (prefers-reduced-motion: reduce) {
.gc-fer-zeit__card, .gc-fer-zeit__cta { transition: none !important; }
.gc-fer-zeit__card:hover, .gc-fer-zeit__cta:hover { transform: none !important; }
} .gc-vs--faehren .gc-fer-spezial-sec {
background: #ffffff !important;
}
.gc-fer-spezial__grid {
display: grid;
grid-template-columns: 1fr;
gap: 0.85rem;
margin-top: 0.5rem;
}
.gc-fer-spezial__card {
background: #f7f9fb;
border: 1px solid #e6e8ec;
border-left: 4px solid #4583cf;
border-radius: 12px;
padding: 1rem 1.1rem;
transition: transform 200ms ease, box-shadow 200ms ease;
}
.gc-fer-spezial__card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 14px rgba(20,30,50,0.06);
background: #ffffff;
}
.gc-fer-spezial__card--ok    { border-left-color: #16a34a; }
.gc-fer-spezial__card--warn  { border-left-color: #d97706; }
.gc-fer-spezial__card--auto  { border-left-color: #dc2626; }
.gc-fer-spezial__card--info  { border-left-color: #4583cf; }
.gc-fer-spezial__card--tip   { border-left-color: #2c5b94; }
.gc-fer-spezial__head {
display: flex;
align-items: center;
gap: 0.55rem;
margin-bottom: 0.55rem;
}
.gc-fer-spezial__icon {
font-size: 1.6rem;
line-height: 1;
}
.gc-fer-spezial__badge {
padding: 0.2rem 0.6rem;
border-radius: 999px;
font-size: 0.72rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.04em;
margin-left: auto;
}
.gc-fer-spezial__badge--ok    { background: #dcfce7; color: #166534; }
.gc-fer-spezial__badge--warn  { background: #fef3c7; color: #92400e; }
.gc-fer-spezial__badge--auto  { background: #fee2e2; color: #991b1b; }
.gc-fer-spezial__badge--info  { background: #dbeafe; color: #1e40af; }
.gc-fer-spezial__badge--tip   { background: #e0e7ff; color: #3730a3; }
.gc-fer-spezial__h3 {
margin: 0 0 0.45rem;
font-size: 1.05rem;
line-height: 1.3;
color: #2c5b94;
font-weight: 700;
}
.gc-fer-spezial__short {
margin: 0 0 0.5rem;
padding: 0.5rem 0.7rem;
background: #fff;
border-radius: 6px;
font-size: 0.95rem;
line-height: 1.4;
color: #1a1a1a;
border-left: 3px solid #d9e3f0;
}
.gc-fer-spezial__card--ok   .gc-fer-spezial__short { border-left-color: #16a34a; }
.gc-fer-spezial__card--warn .gc-fer-spezial__short { border-left-color: #d97706; }
.gc-fer-spezial__card--auto .gc-fer-spezial__short { border-left-color: #dc2626; }
.gc-fer-spezial__card--tip  .gc-fer-spezial__short { border-left-color: #2c5b94; }
.gc-fer-spezial__detail {
margin: 0;
font-size: 0.9rem;
line-height: 1.55;
color: #1a1a1a;
}
.gc-fer-spezial__detail a {
color: #2c5b94;
font-weight: 600;
text-decoration: underline;
}
.gc-fer-spezial__detail strong { color: #2c5b94; }
@container gc-vs-fer (min-width: 720px) {
.gc-fer-spezial__grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
}
@container gc-vs-fer (min-width: 1080px) {
.gc-fer-spezial__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@supports not (container-type: inline-size) {
@media (min-width: 760px) { .gc-fer-spezial__grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; } }
@media (min-width: 1100px) { .gc-fer-spezial__grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
}
@media (prefers-reduced-motion: reduce) {
.gc-fer-spezial__card { transition: none !important; }
.gc-fer-spezial__card:hover { transform: none !important; }
} .gc-fer-quick {
margin: 0.5rem 0 1.25rem;
padding: 1rem 1.1rem 1.1rem;
background: linear-gradient(135deg, #2c5b94 0%, #4583cf 100%);
border-radius: 16px;
color: #fff;
box-shadow: 0 4px 14px rgba(44,91,148,0.15), 0 12px 32px rgba(44,91,148,0.08);
position: relative;
overflow: hidden;
}
.gc-fer-quick::after {
content: "";
position: absolute;
top: -50px; right: -50px;
width: 200px; height: 200px;
background: radial-gradient(circle, rgba(255,255,255,0.12) 0%, transparent 70%);
pointer-events: none;
}
.gc-fer-quick__skeleton {
padding: 1.5rem;
text-align: center;
color: rgba(255,255,255,0.85);
font-size: 0.95rem;
}
.gc-fer-quick__inner {
position: relative;
z-index: 1;
}
.gc-fer-quick__tiles {
display: grid;
grid-template-columns: 1fr;
gap: 0.55rem;
margin-bottom: 0.85rem;
}
.gc-fer-quick__tile {
display: grid;
grid-template-columns: auto 1fr;
gap: 0.85rem;
align-items: center;
padding: 0.75rem 0.9rem;
background: rgba(255,255,255,0.96);
border-radius: 12px;
border-left: 5px solid #16a34a;
color: #1a1a1a;
box-shadow: 0 1px 3px rgba(0,0,0,0.05);
transition: transform 200ms ease;
}
.gc-fer-quick__tile:hover { transform: translateY(-1px); }
.gc-fer-quick__tile--green  { border-left-color: #16a34a; }
.gc-fer-quick__tile--yellow { border-left-color: #d97706; background: linear-gradient(180deg, #fffbe6 0%, #ffffff 100%); }
.gc-fer-quick__tile--red    { border-left-color: #dc2626; background: linear-gradient(180deg, #fef2f2 0%, #ffffff 100%); }
.gc-fer-quick__icon {
font-size: 2rem;
line-height: 1;
width: 3rem;
height: 3rem;
background: #eef3f9;
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.gc-fer-quick__tile--yellow .gc-fer-quick__icon { background: #fef3c7; }
.gc-fer-quick__tile--red    .gc-fer-quick__icon { background: #fee2e2; }
.gc-fer-quick__body {
display: flex;
flex-direction: column;
gap: 0.1rem;
min-width: 0;
}
.gc-fer-quick__label {
font-size: 0.78rem;
font-weight: 600;
color: #6a6a6a;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.gc-fer-quick__status {
font-size: 1.1rem;
font-weight: 800;
line-height: 1.1;
}
.gc-fer-quick__tile--green  .gc-fer-quick__status { color: #166534; }
.gc-fer-quick__tile--yellow .gc-fer-quick__status { color: #92400e; }
.gc-fer-quick__tile--red    .gc-fer-quick__status { color: #991b1b; }
.gc-fer-quick__sub {
font-size: 0.8rem;
color: #6a6a6a;
line-height: 1.3;
margin-top: 0.1rem;
} .gc-fer-quick__warning {
display: grid;
grid-template-columns: auto 1fr;
gap: 0.65rem;
align-items: start;
padding: 0.7rem 0.95rem;
background: rgba(255,255,255,0.96);
border-radius: 10px;
margin-bottom: 0.85rem;
border-left: 4px solid #d97706;
color: #1a1a1a;
font-size: 0.9rem;
line-height: 1.45;
}
.gc-fer-quick__warning--critical {
background: linear-gradient(180deg, #fef2f2 0%, #ffffff 100%);
border-left-color: #dc2626;
}
.gc-fer-quick__warning-icon {
font-size: 1.2rem;
line-height: 1;
flex-shrink: 0;
margin-top: 0.1rem;
}
.gc-fer-quick__warning-body { min-width: 0; }
.gc-fer-quick__warning-body strong { color: #2c5b94; margin-right: 0.2rem; }
.gc-fer-quick__warning--critical .gc-fer-quick__warning-body strong { color: #991b1b; }
.gc-fer-quick__warning-link {
color: #2c5b94;
text-decoration: underline;
white-space: nowrap;
font-weight: 600;
} .gc-fer-quick__cta {
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.95rem 1.25rem;
background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
color: #fff !important;
text-decoration: none !important;
border-radius: 12px;
font-size: 1.05rem;
font-weight: 800;
letter-spacing: 0.02em;
text-align: center;
min-height: 56px;
box-shadow: 0 4px 12px rgba(22,163,74,0.3);
transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease;
}
.gc-fer-quick__cta:hover {
background: linear-gradient(135deg, #15803d 0%, #166534 100%);
transform: translateY(-2px);
box-shadow: 0 6px 18px rgba(22,163,74,0.4);
}
.gc-fer-quick__cta-icon { font-size: 1.2rem; }
.gc-fer-quick__cta-arrow {
font-size: 1.25rem;
transition: transform 200ms ease;
}
.gc-fer-quick__cta:hover .gc-fer-quick__cta-arrow {
transform: translateX(4px);
}
@container gc-vs-fer (min-width: 640px) {
.gc-fer-quick { padding: 1.25rem 1.5rem 1.4rem; }
.gc-fer-quick__tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.7rem; }
}
@supports not (container-type: inline-size) {
@media (min-width: 760px) {
.gc-fer-quick { padding: 1.25rem 1.5rem 1.4rem; }
.gc-fer-quick__tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.7rem; }
}
}
@media (prefers-reduced-motion: reduce) {
.gc-fer-quick__tile, .gc-fer-quick__cta, .gc-fer-quick__cta-arrow { transition: none !important; }
.gc-fer-quick__tile:hover, .gc-fer-quick__cta:hover { transform: none !important; }
} .gc-fer-status__item--expired {
opacity: 0.55;
}
.gc-fer-status__item--expired .gc-fer-status__sev {
background: #9ca3af !important;
}
.gc-fer-status__expired-badge {
display: inline-block;
margin-right: 0.35rem;
padding: 0.1rem 0.45rem;
background: #6b7280;
color: #fff;
font-size: 0.7rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.04em;
border-radius: 3px;
vertical-align: 0.1em;
} .gc-fer-stickybar {
position: fixed;
left: 0; right: 0; bottom: 0;
z-index: 9990;
padding: 0.5rem 0.7rem calc(0.5rem + env(safe-area-inset-bottom, 0));
background: rgba(255,255,255,0.97);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
border-top: 1px solid #d9e3f0;
box-shadow: 0 -4px 16px rgba(20, 30, 50, 0.08);
transform: translateY(110%);
transition: transform 280ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.gc-fer-stickybar[data-visible="1"] { transform: translateY(0); }
.gc-fer-stickybar__inner {
display: grid;
grid-template-columns: 1fr auto;
gap: 0.7rem;
align-items: center;
max-width: 720px;
margin: 0 auto;
}
.gc-fer-stickybar__info {
display: flex;
align-items: center;
gap: 0.55rem;
min-width: 0;
}
.gc-fer-stickybar__dot {
width: 12px; height: 12px;
background: #16a34a;
border-radius: 50%;
flex-shrink: 0;
box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.45);
animation: gc-fer-sb-pulse 2s ease-in-out infinite;
}
[data-status="yellow"] .gc-fer-stickybar__dot { background: #d97706; }
[data-status="yellow"] .gc-fer-stickybar__dot { animation: gc-fer-sb-pulse-y 2s ease-in-out infinite; }
[data-status="red"]    .gc-fer-stickybar__dot { background: #dc2626; animation: gc-fer-sb-pulse-r 2s ease-in-out infinite; }
@keyframes gc-fer-sb-pulse   { 0%{box-shadow:0 0 0 0 rgba(22,163,74,0.45);} 70%{box-shadow:0 0 0 6px rgba(22,163,74,0);} 100%{box-shadow:0 0 0 0 rgba(22,163,74,0);} }
@keyframes gc-fer-sb-pulse-y { 0%{box-shadow:0 0 0 0 rgba(217,119,6,0.45);} 70%{box-shadow:0 0 0 6px rgba(217,119,6,0);} 100%{box-shadow:0 0 0 0 rgba(217,119,6,0);} }
@keyframes gc-fer-sb-pulse-r { 0%{box-shadow:0 0 0 0 rgba(220,38,38,0.45);} 70%{box-shadow:0 0 0 6px rgba(220,38,38,0);} 100%{box-shadow:0 0 0 0 rgba(220,38,38,0);} }
@media (prefers-reduced-motion: reduce) {
.gc-fer-stickybar__dot { animation: none; }
.gc-fer-stickybar { transition: none; }
}
.gc-fer-stickybar__txt {
display: flex;
flex-direction: column;
gap: 0.05rem;
min-width: 0;
}
.gc-fer-stickybar__label {
font-size: 0.7rem;
font-weight: 600;
color: #6a6a6a;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.gc-fer-stickybar__status {
font-size: 0.95rem;
font-weight: 700;
color: #2c5b94;
line-height: 1.2;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.gc-fer-stickybar__cta {
display: inline-flex;
align-items: center;
gap: 0.3rem;
padding: 0.55rem 1rem;
background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
color: #fff !important;
text-decoration: none !important;
border-radius: 10px;
font-size: 0.92rem;
font-weight: 700;
min-height: 44px;
box-shadow: 0 2px 8px rgba(22,163,74,0.25);
transition: background 200ms ease, transform 200ms ease;
white-space: nowrap;
}
.gc-fer-stickybar__cta:hover,
.gc-fer-stickybar__cta:focus-visible {
background: linear-gradient(135deg, #15803d 0%, #166534 100%);
transform: translateY(-1px);
}
.gc-fer-stickybar__cta-icon { font-size: 1.05rem; } @media (min-width: 721px) {
.gc-fer-stickybar { display: none !important; }
} .gc-fer-qf {
margin: 0.85rem 0 1.25rem;
padding: 1.1rem 1.1rem 1.25rem;
background: linear-gradient(135deg, #fef3c7 0%, #fef9e7 60%, #ffffff 100%);
border: 1px solid #fbbf24;
border-radius: 16px;
box-shadow: 0 4px 14px rgba(217,119,6,0.08);
}
.gc-fer-qf__head {
display: flex;
align-items: center;
gap: 0.7rem;
margin-bottom: 0.85rem;
flex-wrap: wrap;
}
.gc-fer-qf__pill {
padding: 0.3rem 0.75rem;
background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
color: #fff;
font-size: 0.78rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
border-radius: 999px;
}
.gc-fer-qf__title {
margin: 0;
font-size: 1.15rem;
line-height: 1.3;
color: #7a5a00;
font-weight: 700;
}
.gc-fer-qf__buttons {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 0.5rem;
margin-bottom: 0.85rem;
}
.gc-fer-qf__btn {
display: flex;
align-items: center;
gap: 0.55rem;
padding: 0.7rem 0.85rem;
background: #fff;
border: 1.5px solid #fbbf24;
border-radius: 10px;
cursor: pointer;
font-size: 0.9rem;
font-weight: 600;
color: #1a1a1a;
text-align: left;
transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease, background 200ms ease;
min-height: 56px;
}
.gc-fer-qf__btn:hover,
.gc-fer-qf__btn:focus-visible {
border-color: #d97706;
box-shadow: 0 2px 8px rgba(217,119,6,0.15);
transform: translateY(-1px);
}
.gc-fer-qf__btn.is-active {
background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
color: #fff;
border-color: #b45309;
box-shadow: 0 4px 12px rgba(217,119,6,0.3);
}
.gc-fer-qf__btn-icon { font-size: 1.4rem; line-height: 1; flex-shrink: 0; }
.gc-fer-qf__btn-label { line-height: 1.25; min-width: 0; }
.gc-fer-qf__result:empty { display: none; }
.gc-fer-qf__card {
background: #fff;
border: 1px solid #e6e8ec;
border-left: 5px solid #2c5b94;
border-radius: 12px;
padding: 0.95rem 1.1rem;
box-shadow: 0 2px 8px rgba(20,30,50,0.04);
}
.gc-fer-qf__card-head {
display: flex;
align-items: center;
gap: 0.85rem;
margin-bottom: 0.5rem;
}
.gc-fer-qf__card-icon {
width: 3rem; height: 3rem;
background: #eef3f9;
border-radius: 50%;
display: inline-flex; align-items: center; justify-content: center;
font-size: 1.6rem;
flex-shrink: 0;
}
.gc-fer-qf__card-titles { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.gc-fer-qf__card-type {
font-size: 0.78rem;
color: #6a6a6a;
text-transform: uppercase;
letter-spacing: 0.04em;
font-weight: 600;
}
.gc-fer-qf__card-title {
font-size: 1.05rem;
font-weight: 700;
color: #2c5b94;
line-height: 1.3;
}
.gc-fer-qf__card-sub {
margin: 0 0 0.85rem;
font-size: 0.9rem;
line-height: 1.5;
color: #1a1a1a;
}
.gc-fer-qf__card-actions {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.gc-fer-qf__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.4rem;
padding: 0.7rem 1.1rem;
border-radius: 10px;
font-size: 0.92rem;
font-weight: 700;
text-decoration: none !important;
cursor: pointer;
border: none;
min-height: 44px;
transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease;
}
.gc-fer-qf__cta--primary {
background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
color: #fff !important;
box-shadow: 0 2px 8px rgba(22,163,74,0.25);
}
.gc-fer-qf__cta--primary:hover {
background: linear-gradient(135deg, #15803d 0%, #166534 100%);
transform: translateY(-2px);
box-shadow: 0 6px 18px rgba(22,163,74,0.35);
}
.gc-fer-qf__cta--secondary {
background: #f7f9fb;
color: #2c5b94 !important;
border: 1px solid #d9e3f0;
}
.gc-fer-qf__cta--secondary:hover { background: #eef3f9; }
@container gc-vs-fer (min-width: 560px) {
.gc-fer-qf__buttons { grid-template-columns: repeat(3, 1fr); }
.gc-fer-qf__card-actions { flex-direction: row; }
.gc-fer-qf__cta--primary { flex: 1; }
.gc-fer-qf__cta--secondary { flex-shrink: 0; }
}
@container gc-vs-fer (min-width: 760px) {
.gc-fer-qf__buttons { grid-template-columns: repeat(6, 1fr); }
}
@supports not (container-type: inline-size) {
@media (min-width: 600px) { .gc-fer-qf__buttons { grid-template-columns: repeat(3, 1fr); } .gc-fer-qf__card-actions { flex-direction: row; } .gc-fer-qf__cta--primary { flex: 1; } }
@media (min-width: 880px) { .gc-fer-qf__buttons { grid-template-columns: repeat(6, 1fr); } }
}
@media (prefers-reduced-motion: reduce) {
.gc-fer-qf__btn, .gc-fer-qf__cta { transition: none !important; }
.gc-fer-qf__btn:hover, .gc-fer-qf__cta:hover { transform: none !important; }
} .gc-fer-map .leaflet-control-layers {
border-radius: 8px !important;
box-shadow: 0 2px 10px rgba(20,30,50,0.1) !important;
border: 1px solid #d9e3f0 !important;
background: rgba(255,255,255,0.97) !important;
backdrop-filter: blur(4px);
}
.gc-fer-map .leaflet-control-layers-overlays label {
font-size: 0.85rem;
font-weight: 600;
color: #1a1a1a;
padding: 0.2rem 0;
display: flex;
align-items: center;
gap: 0.3rem;
} .gc-fer-today {
margin: 1.5rem 0;
padding: 1.25rem;
background: linear-gradient(135deg, #f0f9ff 0%, #fefce8 100%);
border: 1px solid #bae6fd;
border-radius: 14px;
}
.gc-fer-today__head {
margin: 0 0 0.85rem;
text-align: center;
}
.gc-fer-today__pill {
display: inline-block;
padding: 0.25rem 0.7rem;
background: rgba(255, 255, 255, 0.85);
color: #0c4a6e;
font-size: 0.78rem;
font-weight: 600;
border-radius: 999px;
letter-spacing: 0.02em;
}
.gc-fer-today__title {
margin: 0.4rem 0 0.2rem;
font-size: 1.25rem;
font-weight: 700;
color: #082f49;
}
.gc-fer-today__sub {
margin: 0;
font-size: 0.85rem;
color: #475569;
}
.gc-fer-today__grid {
display: grid;
grid-template-columns: 1fr;
gap: 0.85rem;
}
@media (min-width: 640px) {
.gc-fer-today__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
.gc-fer-today__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.gc-fer-today__skeleton {
grid-column: 1 / -1;
text-align: center;
padding: 1.5rem;
color: #64748b;
font-size: 0.9rem;
}
.gc-fer-today__card {
display: flex;
flex-direction: column;
background: #ffffff;
border-left: 4px solid #cbd5e1;
border-radius: 10px;
padding: 1rem 1rem 0.95rem;
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.gc-fer-today__card:hover {
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.09);
}
@media (prefers-reduced-motion: reduce) {
.gc-fer-today__card { transition: none; }
.gc-fer-today__card:hover { transform: none; }
}
.gc-fer-today__card--green  { border-left-color: #16a34a; }
.gc-fer-today__card--yellow { border-left-color: #f59e0b; background: #fffbeb; }
.gc-fer-today__card--red    { border-left-color: #dc2626; background: #fef2f2; }
.gc-fer-today__card-head {
display: flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.4rem;
}
.gc-fer-today__card-icon {
font-size: 1.3rem;
line-height: 1;
}
.gc-fer-today__card-kicker {
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.06em;
font-weight: 700;
color: #475569;
}
.gc-fer-today__card--yellow .gc-fer-today__card-kicker { color: #92400e; }
.gc-fer-today__card--red    .gc-fer-today__card-kicker { color: #991b1b; }
.gc-fer-today__card-title {
margin: 0 0 0.45rem;
font-size: 1.02rem;
font-weight: 700;
color: #0f172a;
line-height: 1.3;
}
.gc-fer-today__card-body {
margin: 0 0 0.7rem;
font-size: 0.9rem;
color: #334155;
line-height: 1.45;
flex-grow: 1;
}
.gc-fer-today__card-cta {
display: inline-flex;
align-items: center;
gap: 0.3rem;
color: #0369a1;
font-weight: 600;
font-size: 0.88rem;
text-decoration: none;
margin-top: auto;
transition: gap 0.18s ease, color 0.18s ease;
}
.gc-fer-today__card-cta:hover {
gap: 0.5rem;
color: #075985;
}
.gc-fer-today__card--yellow .gc-fer-today__card-cta { color: #b45309; }
.gc-fer-today__card--yellow .gc-fer-today__card-cta:hover { color: #92400e; }
.gc-fer-today__card--red .gc-fer-today__card-cta { color: #b91c1c; }
.gc-fer-today__card--red .gc-fer-today__card-cta:hover { color: #991b1b; } .gc-fer-router__map-link {
display: inline-flex;
align-items: center;
gap: 0.25rem;
margin-left: 0.6rem;
padding: 0.2rem 0.55rem;
background: #ffffff;
color: #0369a1;
border: 1px solid #bae6fd;
border-radius: 999px;
font-size: 0.82rem;
font-weight: 600;
text-decoration: none;
transition: all 0.18s ease;
}
.gc-fer-router__map-link:hover {
background: #e0f2fe;
border-color: #38bdf8;
color: #075985;
text-decoration: none;
}
@media (prefers-reduced-motion: reduce) {
.gc-fer-router__map-link { transition: none; }
} .gc-fer-map[data-gc-faehren-map] {
transition: box-shadow 0.4s ease;
}
.gc-fer-map[data-gc-faehren-map].gc-fer-map--pulse {
box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.45), 0 0 24px rgba(56, 189, 248, 0.35);
} .gc-fer-windbanner {
display: flex;
align-items: flex-start;
gap: 0.85rem;
padding: 0.95rem 1.1rem;
margin: 0.6rem 0 1.1rem;
border-radius: 10px;
border: 1px solid #e5e7eb;
background: #f9fafb;
line-height: 1.45;
}
.gc-fer-windbanner[hidden] { display: none; }
.gc-fer-windbanner__icon {
flex-shrink: 0;
font-size: 1.15rem;
line-height: 1.1;
padding-top: 0.1rem;
}
.gc-fer-windbanner__body {
flex: 1;
display: flex;
flex-direction: column;
gap: 0.2rem;
min-width: 0;
}
.gc-fer-windbanner__title {
font-weight: 700;
font-size: 0.95rem;
color: #1e293b;
}
.gc-fer-windbanner__sub {
font-size: 0.88rem;
color: #475569;
}
.gc-fer-windbanner--yellow {
background: #fffbeb;
border-color: #fcd34d;
}
.gc-fer-windbanner--yellow .gc-fer-windbanner__title { color: #92400e; }
.gc-fer-windbanner--orange {
background: #fff7ed;
border-color: #fdba74;
}
.gc-fer-windbanner--orange .gc-fer-windbanner__title { color: #9a3412; }
.gc-fer-windbanner--red {
background: #fef2f2;
border-color: #fca5a5;
}
.gc-fer-windbanner--red .gc-fer-windbanner__title { color: #991b1b; } .gc-fer-router__crowding {
display: inline-flex;
align-items: center;
gap: 0.25rem;
margin-left: 0.4rem;
padding: 0.15rem 0.5rem;
border-radius: 999px;
font-size: 0.72rem;
font-weight: 600;
text-transform: none;
letter-spacing: 0;
flex-shrink: 0;
cursor: help;
}
.gc-fer-router__crowding-icon { line-height: 1; }
.gc-fer-router__crowding--green  { background: #ecfdf5; color: #166534; border: 1px solid #bbf7d0; }
.gc-fer-router__crowding--yellow { background: #fef9c3; color: #854d0e; border: 1px solid #fde68a; }
.gc-fer-router__crowding--orange { background: #fff7ed; color: #9a3412; border: 1px solid #fdba74; }
.gc-fer-router__crowding--red    { background: #fef2f2; color: #991b1b; border: 1px solid #fca5a5; } .gc-fer-router__crowd-summary {
margin-top: 0.4rem;
padding-top: 0.4rem;
border-top: 1px dashed #e2e8f0;
font-size: 0.85rem;
color: #475569;
line-height: 1.5;
cursor: help;
}
.gc-fer-router__crowd-summary strong {
color: #1e293b;
margin-right: 0.3rem;
}
.gc-fer-router__crowd-stat {
display: inline-flex;
align-items: center;
gap: 0.2rem;
margin: 0 0.15rem;
padding: 0.1rem 0.45rem;
border-radius: 6px;
font-size: 0.8rem;
white-space: nowrap;
}
.gc-fer-router__crowd-stat--green  { background: #ecfdf5; color: #166534; }
.gc-fer-router__crowd-stat--yellow { background: #fef9c3; color: #854d0e; }
.gc-fer-router__crowd-stat--orange { background: #fff7ed; color: #9a3412; }
.gc-fer-router__crowd-stat--red    { background: #fef2f2; color: #991b1b; } @media (max-width: 540px) {
.gc-fer-router__crowding {
margin-left: 0;
margin-top: 0.3rem;
font-size: 0.7rem;
}
}