/* GardaCast Fähren v5.2.117 — Mobile-first Responsive
   Erbt von gardacast-verkehr-seite.css (gc-vs Klassen)
   Plus gardacast-parkplaetze-live.css (.gc-vs Variablen) */

.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;
}

/* === STATUS-BANNER === */
.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; }

/* === KARTE === */
.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; }
}

/* === HÄFEN-GRID === */
.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)); } }
}

/* === ROUTEN === */
.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; } }
}

/* === BOOTSTYPEN === */
.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)); } }
}

/* === AUTO-FÄHRE SPECIAL === */
.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)); } }
}

/* v5.2.131 — Wartezeit-Karte mit Color-Coding */
.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; }

/* === SAISON PDFS === */
.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)); } }
}

/* ============================================================
   v5.2.119 — Fahrplan-Cards mit Live "nächste Abfahrt"
   ============================================================ */
.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);
}

/* Stops-Chain */
.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; }

/* Live Next-Departure */
.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; }

/* All-Departures Collapsible */
.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; }
}

/* ============================================================
   v5.2.120 — Routenplaner Origin→Destination Picker + Result-Cards
   ============================================================ */
.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; }
}

/* Result-Bereich */
.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;
}

/* === Linien-Badge prominent (Italo-Code wie am Hafen-Aushang) === */
.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; }

/* Times-Block: From - Duration → To */
.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;
}

/* Zwischenstops Klappbox */
.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; }

/* Mobile-Optimierungen */
@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; }
    }
}

/* ============================================================
   v5.2.121 — Preis-Block im Routenplaner
   ============================================================ */
.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;
}

/* === v5.2.122 — Trip-Code-Badge + Supplemento-Row === */
.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;
}

/* ============================================================
   v5.2.123 — Professional Look: alle Sektionen als Cards,
   Routenplaner-Akzent, FAQ-Style, Profi-Tipps, Cross-Links
   ============================================================ */

/* === Globale Sektion-Container — alle gc-vs__sec auf Fähren-Seite === */
.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;
}

/* Routenplaner: prominentester visueller Anchor */
.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;
}

/* Status-Sektion */
.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;
}

/* Auto-Fähre — bleibt rot-akzentuiert wie schon im CSS */

/* === Profi-Tipps Sektion === */
.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)); } }
}

/* === FAQ-Sektion === */
.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;
}

/* === Cross-Links unten ("Gardasee clever planen") === */
.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)); } }
}

/* === Hero-Intro-Pill kompakter & professioneller === */
.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;
}

/* Quicknav-Pills auf Anchor-Buttons */
.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);
}

/* TOC-Details */
.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; }

/* Footer-Card-Style */
.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; }
}

/* ============================================================
   v5.2.124 — Zeit sparen mit Fähren (Auto vs. Fähre Vergleich)
   ============================================================ */
.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;
}

/* Save-Badge prominent */
.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; }
}

/* ============================================================
   v5.2.125 — Spezielle Verbindungen (Longtail Q&A)
   ============================================================ */
.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; }
}

/* ============================================================
   v5.2.126 — Above-the-Fold Quick-Check (3 Tiles + CTA)
   ============================================================ */
.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;
}

/* Warning-Banner unter Tiles */
.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;
}

/* CTA-Button prominent */
.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; }
}

/* v5.2.127 — Expired-Status-Markierung für ausgelaufene Avvisi */
.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;
}

/* ============================================================
   v5.2.128 — Sticky Mobile-Bottom-Bar (≤720px nur)
   ============================================================ */
.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; }

/* Desktop ausblenden */
@media (min-width: 721px) {
    .gc-fer-stickybar { display: none !important; }
}

/* ============================================================
   v5.2.129 — Mini-Quickfinder (Persona-Buttons → Empfehlung)
   ============================================================ */
.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; }
}

/* Leaflet Layer-Control schöner */
.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;
}

/* ============================================================
   v5.2.131 — Heute empfohlen (Tagesempfehlungs-Karten)
   ============================================================ */
.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; }

/* ============================================================
   v5.2.132 — Karten-Cockpit (Routenplaner → Karte-Highlight)
   ============================================================ */
.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; }
}

/* Map-Container: kurzer Pulse-Glow beim Sprung über #haefen */
.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);
}

/* ============================================================
   v5.2.133 — Wind-Banner Bootstypen-Sektion
   ============================================================ */
.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; }

/* ============================================================
   v5.2.135 — Schiff-Auslastungs-Heuristik (Routenplaner-Cards)
   ============================================================ */
.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; }

/* Crowd-Aggregat im Summary */
.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; }

/* Mobile: Pill darf in 2. Zeile rutschen */
@media (max-width: 540px) {
    .gc-fer-router__crowding {
        margin-left: 0;
        margin-top: 0.3rem;
        font-size: 0.7rem;
    }
}

/* ============================================================================
 * v5.2.173 — Live-Departures per Hafen (Sub-Sektion in #fahrplan)
 * ============================================================================ */
.gc-fer-livedeps {
    margin: 28px 0 0;
    padding: 22px 24px;
    background: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);
    border: 1px solid #bae6fd;
    border-radius: 12px;
}
.gc-fer-livedeps__head { margin-bottom: 18px; }
.gc-fer-livedeps__title {
    font-size: 1.35rem;
    margin: 0 0 4px;
    color: #0c4a6e;
    font-weight: 700;
}
.gc-fer-livedeps__sub {
    margin: 0 0 14px;
    color: #475569;
    font-size: .95rem;
}
.gc-fer-livedeps__controls {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}
.gc-fer-livedeps__port-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #0f172a;
}
.gc-fer-livedeps__port-select {
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid #cbd5e1;
    background: #fff;
    font-size: 1rem;
    font-family: inherit;
    min-width: 220px;
    cursor: pointer;
}
.gc-fer-livedeps__direction {
    display: inline-flex;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    overflow: hidden;
}
.gc-fer-livedeps__dirbtn {
    padding: 8px 14px;
    background: #fff;
    border: 0;
    cursor: pointer;
    font-size: .9rem;
    font-family: inherit;
    color: #475569;
    transition: background .15s ease;
}
.gc-fer-livedeps__dirbtn:hover { background: #f1f5f9; }
.gc-fer-livedeps__dirbtn.is-active { background: #4583cf; color: #fff; font-weight: 600; }
.gc-fer-livedeps__list { min-height: 100px; }
.gc-fer-livedeps__skeleton {
    padding: 30px 20px;
    text-align: center;
    color: #64748b;
    font-style: italic;
}
.gc-fer-livedeps__items {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.gc-fer-livedeps__item {
    display: grid;
    grid-template-columns: 90px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    transition: border-color .15s ease, transform .15s ease;
}
.gc-fer-livedeps__item:hover { border-color: #93c5fd; }
.gc-fer-livedeps__item--next {
    border-color: #16a34a;
    background: linear-gradient(135deg, #dcfce7 0%, #f0fdf4 50%, #fff 100%);
}
.gc-fer-livedeps__time-block {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.gc-fer-livedeps__time {
    font-size: 1.4rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1;
}
.gc-fer-livedeps__minrel {
    font-size: .8rem;
    color: #16a34a;
    font-weight: 600;
}
.gc-fer-livedeps__info { display: flex; flex-direction: column; gap: 3px; }
.gc-fer-livedeps__trip {
    font-size: .8rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 600;
}
.gc-fer-livedeps__route {
    font-size: 1rem;
    color: #334155;
}
.gc-fer-livedeps__route strong { color: #0c4a6e; }
.gc-fer-livedeps__flags {
    display: flex;
    align-items: center;
    gap: 8px;
}
.gc-fer-livedeps__chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 24px;
    padding: 0 8px;
    border-radius: 4px;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .03em;
}
.gc-fer-livedeps__chip--battello { background: #dbeafe; color: #1e3a8a; }
.gc-fer-livedeps__chip--rapido { background: #fee2e2; color: #991b1b; }
.gc-fer-livedeps__bike { font-size: 1.15rem; }
.gc-fer-livedeps__nextbadge {
    background: #16a34a;
    color: #fff;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.gc-fer-livedeps__empty,
.gc-fer-livedeps__error {
    padding: 20px;
    background: #fef9c3;
    border-radius: 6px;
    color: #78350f;
    text-align: center;
}
.gc-fer-livedeps__empty-hint { font-size: .85rem; color: #92400e; margin: 6px 0 0; }
.gc-fer-livedeps__foot {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #e0e7ef;
}
.gc-fer-livedeps__legend {
    margin: 0 0 6px;
    font-size: .85rem;
    color: #475569;
    line-height: 1.6;
}
.gc-fer-livedeps__src {
    margin: 0;
    font-size: .78rem;
    color: #64748b;
}
.gc-fer-livedeps__src a { color: #4583cf; text-decoration: underline; }

@media (max-width: 600px) {
    .gc-fer-livedeps { padding: 16px 14px; }
    .gc-fer-livedeps__title { font-size: 1.1rem; }
    .gc-fer-livedeps__controls { flex-direction: column; align-items: stretch; }
    .gc-fer-livedeps__port-select { width: 100%; min-width: 0; }
    .gc-fer-livedeps__direction { width: 100%; }
    .gc-fer-livedeps__dirbtn { flex: 1; }
    .gc-fer-livedeps__item {
        grid-template-columns: 80px 1fr;
        grid-template-areas: 'time info' 'time flags';
        gap: 8px;
    }
    .gc-fer-livedeps__time-block { grid-area: time; }
    .gc-fer-livedeps__info { grid-area: info; }
    .gc-fer-livedeps__flags { grid-area: flags; justify-content: flex-end; margin-top: 2px; }
    .gc-fer-livedeps__time { font-size: 1.2rem; }
}

/* ============================================================================
 * v5.2.176 — Tagestickets-Sektion (Mobilità Libera)
 * ============================================================================ */
.gc-fer-tarife { margin: 18px 0; }
.gc-fer-tarife__intro {
    padding: 14px 18px;
    background: #fef9c3;
    border-left: 4px solid #f59e0b;
    border-radius: 6px;
    margin-bottom: 18px;
}
.gc-fer-tarife__intro p { margin: 0; color: #78350f; }
.gc-fer-tarife__table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.gc-fer-tarife__table {
    width: 100%;
    border-collapse: collapse;
    font-size: .95rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}
.gc-fer-tarife__table thead {
    background: linear-gradient(135deg, #4583cf 0%, #2c5e9b 100%);
    color: #fff;
}
.gc-fer-tarife__table th {
    padding: 12px 14px;
    text-align: left;
    font-weight: 600;
    font-size: .9rem;
    letter-spacing: .02em;
}
.gc-fer-tarife__table th.gc-fer-tarife__price-col {
    text-align: right;
    width: 130px;
}
.gc-fer-tarife__table td {
    padding: 12px 14px;
    border-top: 1px solid #e2e8f0;
    vertical-align: middle;
}
.gc-fer-tarife__row--premium {
    background: linear-gradient(135deg, #fef9c3 0%, #fffbeb 100%);
}
.gc-fer-tarife__row--premium td:first-child { color: #78350f; font-weight: 600; }
.gc-fer-tarife__zone strong { display: block; color: #0f172a; font-size: 1rem; }
.gc-fer-tarife__zone small { color: #64748b; display: block; margin-top: 2px; font-size: .82rem; }
.gc-fer-tarife__badge {
    display: inline-block;
    margin-top: 4px;
    padding: 2px 8px;
    background: #dbeafe;
    color: #1e40af;
    font-size: .72rem;
    border-radius: 4px;
    font-weight: 600;
}
.gc-fer-tarife__badge--rapido { background: #fef3c7; color: #92400e; }
.gc-fer-tarife__price {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: #0f172a;
    white-space: nowrap;
}
.gc-fer-tarife__footnote { margin: 8px 0 18px; color: #64748b; font-size: .85rem; }
.gc-fer-tarife__h3 {
    margin: 30px 0 12px;
    font-size: 1.2rem;
    color: #0c4a6e;
    font-weight: 700;
}
.gc-fer-tarife__conv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}
.gc-fer-tarife__conv-card {
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}
.gc-fer-tarife__conv-card h4 {
    margin: 0 0 6px;
    color: #0c4a6e;
    font-size: 1rem;
    font-weight: 700;
}
.gc-fer-tarife__conv-card p { margin: 0; font-size: .9rem; color: #475569; line-height: 1.5; }
.gc-fer-tarife__src {
    margin: 18px 0 0;
    padding: 12px 14px;
    background: #f1f5f9;
    border-radius: 6px;
    font-size: .82rem;
    color: #64748b;
}
.gc-fer-tarife__src a { color: #4583cf; }

@media (max-width: 600px) {
    .gc-fer-tarife__table { font-size: .85rem; }
    .gc-fer-tarife__table th, .gc-fer-tarife__table td { padding: 8px 10px; }
    .gc-fer-tarife__zone strong { font-size: .92rem; }
    .gc-fer-tarife__price { font-size: .9rem; }
}
