/* -------------------------------------------------------
   KQ Detailseiten – Basislayout 0.1.6
------------------------------------------------------- */

:root {
    --kq-red: #a80505;
    --kq-red-dark: #8e0404;
    --kq-text: #1f2328;
    --kq-muted: #606975;
    --kq-border: rgba(0, 0, 0, .10);
    --kq-soft: #fff4f4;
    --kq-radius: 10px;
    --kq-shadow: 0 16px 42px rgba(0, 0, 0, .08);
}

.kq-breadcrumbs,
.kq-headline-kicker,
.kq-subtitle,
.kq-intro,
.kq-facts,
.kq-description-block,
.kq-tip-box,
.kq-gallery,
.kq-sidebar-box,
.kq-map-block {
    box-sizing: border-box;
}

/* Breadcrumbs */
.kq-breadcrumbs {
    font-size: 14px;
    margin: 0 0 22px;
    color: var(--kq-muted);
}

.kq-breadcrumbs a {
    color: var(--kq-red);
    text-decoration: none;
    font-weight: 600;
}

.kq-breadcrumbs a:hover,
.kq-breadcrumbs a:focus {
    text-decoration: underline;
}

.kq-bc-separator {
    display: inline-block;
    margin: 0 8px;
    color: var(--kq-muted);
    opacity: .7;
}

/* Hero-Inhalte */
.kq-headline-kicker {
    color: var(--kq-red);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .10em;
    font-size: 15px;
    line-height: 1.2;
    margin: 0 0 14px;
}

.kq-subtitle {
    max-width: 520px;
    margin: 0 0 18px;
    color: var(--kq-text);
    font-size: clamp(20px, 2.2vw, 28px);
    line-height: 1.22;
    font-weight: 500;
}

.kq-intro {
    max-width: 560px;
    color: var(--kq-text);
    font-size: 17px;
    line-height: 1.58;
}

.kq-intro p:last-child {
    margin-bottom: 0;
}

.kq-hero-image {
    width: 100%;
    height: auto;
    min-height: 320px;
    max-height: 560px;
    display: block;
    object-fit: cover;
}

/* Faktenbox */
.kq-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 34px 0 38px;
    padding: 28px 0;
    border-top: 1px solid var(--kq-border);
    border-bottom: 1px solid var(--kq-border);
}

.kq-fact {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    min-width: 0;
    padding: 0 26px;
    border-right: 1px solid var(--kq-border);
}

.kq-fact:first-child {
    padding-left: 0;
}

.kq-fact:last-child {
    border-right: 0;
    padding-right: 0;
}

.kq-fact-icon {
    width: 34px;
    min-width: 34px;
    height: 34px;
    color: var(--kq-red);
    line-height: 1;
}

.kq-fact-icon svg,
.kq-fact-icon img {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: contain;
    fill: currentColor;
}

.kq-custom-icon img {
    max-width: 100%;
    max-height: 100%;
}

.kq-fact-content strong,
.kq-fact-content span {
    display: block;
}

.kq-fact-content strong {
    color: var(--kq-red);
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: .055em;
    line-height: 1.25;
    margin-bottom: 7px;
}

.kq-fact-content span {
    color: var(--kq-text);
    font-size: 15px;
    line-height: 1.45;
}

/* Beschreibung */
.kq-description-block {
    margin: 36px 0 28px;
}

.kq-description-block h2 {
    margin: 0 0 18px;
    color: var(--kq-text);
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.08;
    font-weight: 700;
}

.kq-description-block h2::after {
    content: "";
    display: block;
    width: 46px;
    height: 3px;
    margin-top: 12px;
    background: var(--kq-red);
    border-radius: 999px;
}

.kq-description-text {
    max-width: 920px;
    color: var(--kq-text);
    font-size: 17px;
    line-height: 1.68;
}

.kq-description-text p:first-child {
    margin-top: 0;
}

.kq-description-text p:last-child {
    margin-bottom: 0;
}

/* Tippbox */
.kq-tip-box {
    margin: 28px 0;
    padding: 30px 34px;
    border-radius: var(--kq-radius);
    background: var(--kq-soft);
    border: 1px solid rgba(168, 5, 5, .08);
}

.kq-tip-icon {
    display: block;
    margin: 0 0 14px;
}

.kq-tip-icon img {
    display: block;
    width: 46px;
    height: 46px;
    object-fit: contain;
}

.kq-tip-box strong {
    display: block;
    margin-bottom: 14px;
    color: var(--kq-red);
    font-size: 20px;
    line-height: 1.25;
}

.kq-tip-text {
    color: var(--kq-text);
    font-size: 16px;
    line-height: 1.65;
}

.kq-tip-text p:first-child {
    margin-top: 0;
}

.kq-tip-text p:last-child {
    margin-bottom: 0;
}

.kq-tip-image {
    display: block;
    margin: 26px 0 0;
}

.kq-tip-image img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
    max-height: 190px;
    object-fit: contain;
}

/* Galerie */
.kq-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 30px 0 34px;
}

.kq-gallery-item {
    margin: 0;
}

.kq-gallery-item-hidden {
    display: none;
}

.kq-gallery .kq-lightbox-link {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 4px;
    text-decoration: none;
    background: #f3f3f3;
    border: 3px solid transparent;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .12);
    transition: border-color .22s ease, box-shadow .22s ease;
}

.kq-gallery .kq-lightbox-link:hover,
.kq-gallery .kq-lightbox-link:focus {
    border-color: var(--kq-red);
    box-shadow: 0 5px 16px rgba(0, 0, 0, .16);
}

.kq-gallery img {
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform .25s ease;
}

.kq-gallery .kq-lightbox-link:hover img,
.kq-gallery .kq-lightbox-link:focus img {
    transform: scale(1.03);
}

.kq-gallery-item-more .kq-lightbox-link {
    border-color: transparent;
}

.kq-gallery-item-more img {
    filter: grayscale(.08);
}

.kq-gallery-more {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(168, 5, 5, .95);
    color: #fff;
    text-align: center;
    padding: 18px;
}

.kq-gallery-more-count {
    display: block;
    font-weight: 800;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1;
}

.kq-gallery-more-text {
    display: block;
    margin-top: 14px;
    font-size: clamp(13px, 1.35vw, 18px);
    line-height: 1.15;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

/* Besucherinfos / Sidebar */
.kq-sidebar-box {
    margin: 28px 0;
    padding: 30px 28px;
    border-radius: var(--kq-radius);
    background: #fff;
    border: 1px solid var(--kq-border);
    box-shadow: var(--kq-shadow);
}

.kq-sidebar-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 0 0 22px;
    margin: 0 0 22px;
    border-bottom: 1px solid var(--kq-border);
}

.kq-sidebar-item:last-of-type {
    margin-bottom: 0;
}

.kq-sidebar-icon {
    width: 32px;
    min-width: 32px;
    height: 32px;
    border: 1px solid currentColor;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--kq-red);
    font-weight: 700;
    line-height: 1;
}

.kq-sidebar-item strong {
    display: block;
    margin-bottom: 7px;
    color: var(--kq-text);
    font-size: 16px;
    line-height: 1.3;
}

.kq-sidebar-item p {
    margin-top: 0;
    margin-bottom: 0;
    color: var(--kq-text);
    font-size: 15px;
    line-height: 1.55;
}

.kq-map-block {
    margin: 24px 0;
}

.kq-map-embed {
    overflow: hidden;
    border-radius: 8px;
    margin: 22px 0;
    background: #f6f6f6;
}

.kq-map-embed iframe {
    width: 100%;
    height: 280px;
    display: block;
    border: 0;
}

.kq-map-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    padding: 11px 16px;
    border-radius: 6px;
    background: var(--kq-red);
    color: #fff !important;
    text-decoration: none;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: .045em;
}

.kq-map-link:hover,
.kq-map-link:focus {
    background: var(--kq-red-dark);
    color: #fff !important;
}

/* Galerie Lightbox */
body.kq-lightbox-open {
    overflow: hidden !important;
}

body .kq-lightbox-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(12, 14, 18, .88) !important;
    padding: 76px 92px 70px !important;
    box-sizing: border-box !important;
}

body .kq-lightbox-overlay.is-open {
    display: flex !important;
}

body .kq-lightbox-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: min(1120px, 82vw) !important;
    max-height: calc(100vh - 170px) !important;
    object-fit: contain !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .55) !important;
}

body .kq-lightbox-close,
body .kq-lightbox-prev,
body .kq-lightbox-next {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: absolute !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #171717 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    line-height: 1 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 700 !important;
    box-shadow: 0 14px 36px rgba(0, 0, 0, .32) !important;
    opacity: .96 !important;
    transition: background .2s ease, color .2s ease, transform .2s ease, opacity .2s ease !important;
}

body .kq-lightbox-close:hover,
body .kq-lightbox-close:focus,
body .kq-lightbox-prev:hover,
body .kq-lightbox-prev:focus,
body .kq-lightbox-next:hover,
body .kq-lightbox-next:focus {
    background: #c40000 !important;
    color: #fff !important;
    outline: none !important;
    opacity: 1 !important;
}

body .kq-lightbox-close {
    top: 24px !important;
    right: 28px !important;
    width: 46px !important;
    height: 46px !important;
    padding: 0 0 4px 0 !important;
    border-radius: 999px !important;
    font-size: 36px !important;
}

body .kq-lightbox-close:hover,
body .kq-lightbox-close:focus {
    transform: scale(1.06) !important;
}

body .kq-lightbox-prev,
body .kq-lightbox-next {
    top: 50% !important;
    width: 52px !important;
    height: 52px !important;
    padding: 0 0 5px 0 !important;
    border-radius: 999px !important;
    font-size: 42px !important;
}

body .kq-lightbox-prev {
    left: 28px !important;
    transform: translateY(-50%) !important;
    padding-right: 3px !important;
}

body .kq-lightbox-next {
    right: 28px !important;
    transform: translateY(-50%) !important;
    padding-left: 3px !important;
}

body .kq-lightbox-prev:hover,
body .kq-lightbox-prev:focus,
body .kq-lightbox-next:hover,
body .kq-lightbox-next:focus {
    transform: translateY(-50%) scale(1.06) !important;
}

body .kq-lightbox-caption {
    position: absolute !important;
    left: 50% !important;
    bottom: 24px !important;
    transform: translateX(-50%) !important;
    min-width: 62px !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .15) !important;
    color: #fff !important;
    text-align: center !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    backdrop-filter: blur(8px) !important;
}


/* Responsive */
@media (max-width: 1000px) {
    .kq-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 26px 0;
    }

    .kq-fact,
    .kq-fact:first-child,
    .kq-fact:last-child {
        padding: 0 24px;
    }

    .kq-fact:nth-child(2n) {
        border-right: 0;
    }

    .kq-fact:nth-child(2n + 1) {
        padding-left: 0;
    }

    .kq-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .kq-facts {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 24px 0;
    }

    .kq-fact,
    .kq-fact:first-child,
    .kq-fact:last-child {
        border-right: 0;
        padding: 0;
    }

    .kq-gallery {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .kq-sidebar-box,
    .kq-tip-box {
        padding: 22px 20px;
    }

    .kq-lightbox-overlay {
        padding: 54px 16px;
    }

    .kq-lightbox-prev,
    .kq-lightbox-next {
        width: 40px;
        height: 52px;
        font-size: 34px;
    }

    .kq-lightbox-prev {
        left: 8px;
    }

    .kq-lightbox-next {
        right: 8px;
    }
}

@media (max-width: 480px) {
    .kq-gallery {
        grid-template-columns: 1fr;
    }

    .kq-hero-image {
        min-height: 240px;
    }
}


/* Highlights */
.kq-highlights {
    margin: 40px 0;
}

.kq-highlights-title {
    margin: 0 0 22px;
    font-size: clamp(24px, 3vw, 36px);
    line-height: 1.1;
}

.kq-highlights-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.kq-highlight-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    min-width: 0;
}

.kq-highlight-item .kq-fact-icon {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    color: #a80505;
}

.kq-highlight-item .kq-fact-icon svg,
.kq-highlight-item .kq-fact-icon img {
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.kq-highlight-content strong {
    display: block;
    color: #222;
    font-size: 13px;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 4px;
}

.kq-highlight-content span {
    display: block;
    color: #333;
    font-size: 13px;
    line-height: 1.4;
}

@media (max-width: 900px) {
    .kq-highlights-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .kq-highlights-grid {
        grid-template-columns: 1fr;
    }
}


/* Empfehlungen */
.kq-related {
    margin: 52px 0 36px;
}

.kq-related-header {
    margin: 0 0 24px;
}

.kq-related-kicker {
    display: block;
    margin: 0 0 8px;
    color: var(--kq-red);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.kq-related-header h2 {
    margin: 0;
    color: var(--kq-text);
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.1;
}

.kq-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.kq-related-card {
    min-width: 0;
    background: #fff;
    border: 1px solid var(--kq-border);
    border-radius: var(--kq-radius);
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .06);
}

.kq-related-card-link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.kq-related-image {
    overflow: hidden;
    background: #f2f2f2;
}

.kq-related-image img,
.kq-related-placeholder {
    width: 100%;
    aspect-ratio: 4 / 3;
    display: block;
    object-fit: cover;
    transition: transform .25s ease;
}

.kq-related-placeholder {
    background: linear-gradient(135deg, #f7eeee, #eee);
}

.kq-related-card-link:hover img,
.kq-related-card-link:focus img {
    transform: scale(1.04);
}

.kq-related-content {
    padding: 18px 20px 20px;
}

.kq-related-category {
    display: block;
    margin-bottom: 8px;
    color: var(--kq-red);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.kq-related-content h3 {
    margin: 0 0 8px;
    color: var(--kq-text);
    font-size: 20px;
    line-height: 1.2;
}

.kq-related-content p {
    margin: 0;
    color: var(--kq-muted);
    font-size: 14px;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .kq-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .kq-related-grid {
        grid-template-columns: 1fr;
    }
}

/* Eigene Icons in Tippbox und Sidebar */
.kq-tip-icon .kq-tip-icon-symbol {
    display: inline-flex;
    width: 46px;
    height: 46px;
    color: var(--kq-red);
    line-height: 1;
}

.kq-tip-icon .kq-tip-icon-symbol svg,
.kq-tip-icon .kq-tip-icon-symbol img {
    display: block;
    width: 46px;
    height: 46px;
    object-fit: contain;
    fill: currentColor;
}

.kq-sidebar-icon svg,
.kq-sidebar-icon img {
    display: block;
    width: 18px;
    height: 18px;
    object-fit: contain;
    fill: currentColor;
}

.kq-sidebar-icon.kq-custom-icon {
    border: 0;
}

.kq-sidebar-icon.kq-custom-icon svg,
.kq-sidebar-icon.kq-custom-icon img {
    width: 32px;
    height: 32px;
}

/* ==========================================
   MERKLISTE
========================================== */
.kq-merkliste-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 42px;
    padding: 9px 16px;
    border: 1px solid #b50909;
    border-radius: 3px;
    background: #fff;
    color: #b50909;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.kq-merkliste-button:hover,
.kq-merkliste-button:focus-visible,
.kq-merkliste-button.is-saved {
    background: #b50909;
    color: #fff;
}

.kq-merkliste-button:active {
    transform: scale(.98);
}

.kq-merkliste-heart {
    display: block;
    width: 22px;
    height: 22px;
}

.kq-merkliste-link {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
}

.kq-merkliste-link-icon {
    display: inline-flex;
}

.kq-merkliste-link-icon .kq-merkliste-heart {
    width: 24px;
    height: 24px;
}

.kq-merkliste-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 999px;
    background: #b50909;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.kq-merkliste-count[hidden] {
    display: none !important;
}

.kq-merkliste {
    margin: 24px 0 50px;
}

.kq-merkliste-loading,
.kq-merkliste-error,
.kq-merkliste-empty {
    padding: 34px;
    border: 1px solid #e3e3e3;
    background: #fafafa;
    text-align: center;
}

.kq-merkliste-empty h2 {
    margin: 0 0 10px;
}

.kq-merkliste-empty p {
    margin: 0;
}

.kq-merkliste-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e3e3e3;
}

.kq-merkliste-clear,
.kq-merkliste-remove {
    border: 0;
    background: transparent;
    color: #b50909;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.kq-merkliste-clear:hover,
.kq-merkliste-clear:focus-visible,
.kq-merkliste-remove:hover,
.kq-merkliste-remove:focus-visible {
    text-decoration: underline;
}

.kq-merkliste-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.kq-merkliste-card {
    position: relative;
    min-width: 0;
    border: 1px solid #e3e3e3;
    background: #fff;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .06);
}

.kq-merkliste-card-link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.kq-merkliste-card-image,
.kq-merkliste-card-placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #f1f1f1;
}

.kq-merkliste-card-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 20px 58px;
}

.kq-merkliste-card-category {
    margin-bottom: 7px;
    color: #b50909;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.kq-merkliste-card-title {
    margin-bottom: 9px;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.2;
}

.kq-merkliste-card-excerpt {
    color: #5f6368;
    font-size: 14px;
    line-height: 1.5;
}

.kq-merkliste-card-more {
    margin-top: 15px;
    color: #b50909;
    font-weight: 700;
}

.kq-merkliste-remove {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
}

.kq-merkliste-remove .kq-merkliste-heart {
    width: 18px;
    height: 18px;
}

@media (max-width: 900px) {
    .kq-merkliste-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .kq-merkliste-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .kq-merkliste-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================
   MERKLISTE – UX-OPTIMIERUNG 0.3.3
========================================== */

/* Empfohlener Themify-Modulname für Button + Beitragsbild */
.kq-hero-merkliste {
    position: relative !important;
}

.kq-hero-merkliste p {
    margin: 0 !important;
}

.kq-hero-merkliste .kq-merkliste-button {
    position: absolute !important;
    top: 30px;
    right: 30px;
    z-index: 50;
    margin: 0 !important;
}

.kq-merkliste-button {
    min-height: 46px;
    padding: 11px 17px;
    border-radius: 6px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.kq-merkliste-button:hover,
.kq-merkliste-button:focus-visible {
    background: #fff;
    color: #b50909;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .22);
    transform: translateY(-1px);
}

.kq-merkliste-button.is-saved,
.kq-merkliste-button.is-saved:hover,
.kq-merkliste-button.is-saved:focus-visible {
    border-color: #b50909;
    background: #b50909;
    color: #fff;
}

.kq-merkliste-button.is-popping .kq-merkliste-heart {
    animation: kq-heart-pop .34s ease;
}

@keyframes kq-heart-pop {
    0% { transform: scale(1); }
    45% { transform: scale(1.35); }
    100% { transform: scale(1); }
}

.kq-merkliste-grid {
    align-items: stretch;
}

.kq-merkliste-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border-radius: 8px;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.kq-merkliste-card:hover,
.kq-merkliste-card:focus-within {
    transform: translateY(-4px);
    border-color: #d2d2d2;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .12);
}

.kq-merkliste-card-link {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.kq-merkliste-card-content {
    flex: 1 1 auto;
}

.kq-merkliste-card-more {
    margin-top: auto;
    padding-top: 15px;
}

.kq-merkliste-remove {
    opacity: .72;
    transition: opacity .2s ease, transform .2s ease;
}

.kq-merkliste-card:hover .kq-merkliste-remove,
.kq-merkliste-card:focus-within .kq-merkliste-remove,
.kq-merkliste-remove:focus-visible {
    opacity: 1;
}

.kq-merkliste-empty {
    max-width: 760px;
    margin: 0 auto;
    padding: 54px 34px;
    border-radius: 8px;
}

.kq-merkliste-empty-icon {
    display: inline-flex;
    margin-bottom: 16px;
    color: #b50909;
}

.kq-merkliste-empty-icon .kq-merkliste-heart {
    width: 42px;
    height: 42px;
}

.kq-merkliste-empty p {
    max-width: 570px;
    margin: 0 auto 22px;
    color: #5f6368;
    line-height: 1.6;
}

.kq-merkliste-empty-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 20px;
    border-radius: 4px;
    background: #b50909;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}

.kq-merkliste-empty-link:hover,
.kq-merkliste-empty-link:focus-visible {
    background: #8f0707;
}

.kq-merkliste-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 999999;
    max-width: min(360px, calc(100vw - 32px));
    padding: 13px 18px;
    border-radius: 6px;
    background: #222;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .25);
    opacity: 0;
    pointer-events: none;
    transform: translateY(14px);
    transition: opacity .22s ease, transform .22s ease;
}

.kq-merkliste-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 768px) {
    .kq-hero-merkliste .kq-merkliste-button {
        top: 14px;
        right: 14px;
    }

    .kq-merkliste-button {
        min-height: 42px;
        padding: 9px 13px;
        font-size: 13px;
    }

    .kq-merkliste-toast {
        right: 16px;
        bottom: 16px;
        left: 16px;
        max-width: none;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kq-merkliste-button,
    .kq-merkliste-card,
    .kq-merkliste-remove,
    .kq-merkliste-toast {
        transition: none !important;
    }

    .kq-merkliste-button.is-popping .kq-merkliste-heart {
        animation: none !important;
    }
}

/* ==========================================
   MERKLISTE – TEILEN & NOTIZEN 0.4.0
========================================== */

.kq-merkliste-toolbar {
    gap: 20px;
}

.kq-merkliste-summary {
    white-space: nowrap;
}

.kq-merkliste-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.kq-merkliste-action,
.kq-merkliste-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 9px 14px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    background: #fff;
    color: #222;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: border-color .2s ease, color .2s ease, background-color .2s ease, transform .2s ease;
}

.kq-merkliste-action:hover,
.kq-merkliste-action:focus-visible {
    border-color: #b50909;
    color: #b50909;
    transform: translateY(-1px);
}

.kq-merkliste-action svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.kq-merkliste-card {
    padding-bottom: 58px;
}

.kq-merkliste-note {
    margin: 0 22px 0;
    padding: 16px 0 0;
    border-top: 1px solid #ececec;
}

.kq-merkliste-note label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #333;
    font-size: 13px;
    font-weight: 800;
}

.kq-merkliste-note label svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: #b50909;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.kq-merkliste-note textarea {
    display: block;
    width: 100%;
    min-height: 72px;
    padding: 10px 12px;
    resize: vertical;
    border: 1px solid #d8d8d8;
    border-radius: 4px;
    background: #fff;
    color: #222;
    font: inherit;
    font-size: 14px;
    line-height: 1.45;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.kq-merkliste-note textarea:focus {
    outline: none;
    border-color: #b50909;
    box-shadow: 0 0 0 3px rgba(181, 9, 9, .1);
}

.kq-merkliste-note-status {
    display: block;
    min-height: 18px;
    padding-top: 4px;
    color: #6a6a6a;
    font-size: 11px;
    text-align: right;
}

@media (max-width: 760px) {
    .kq-merkliste-summary {
        white-space: normal;
    }

    .kq-merkliste-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .kq-merkliste-action,
    .kq-merkliste-clear {
        flex: 1 1 auto;
    }
}

@media print {
    body * {
        visibility: hidden !important;
    }

    .kq-merkliste,
    .kq-merkliste * {
        visibility: visible !important;
    }

    .kq-merkliste {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }

    .kq-merkliste-actions,
    .kq-merkliste-remove,
    .kq-merkliste-note-status,
    .kq-merkliste-card-more {
        display: none !important;
    }

    .kq-merkliste-grid {
        display: block !important;
    }

    .kq-merkliste-card {
        break-inside: avoid;
        margin-bottom: 18px;
        padding-bottom: 18px;
        border: 1px solid #ccc;
        box-shadow: none !important;
        transform: none !important;
    }

    .kq-merkliste-card-link {
        display: grid;
        grid-template-columns: 180px 1fr;
    }

    .kq-merkliste-card-image,
    .kq-merkliste-card-placeholder {
        height: 150px;
    }

    .kq-merkliste-note textarea {
        min-height: auto;
        resize: none;
        border: 0;
        padding: 0;
    }
}

/* ==========================================
   REISEPLAN – MEIN HALLE-BESUCH 0.5.1
========================================== */
.kq-reiseplan-header{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px;align-items:end;margin:0 0 22px;padding:24px;background:#f7f7f5;border-radius:12px}
.kq-reiseplan-kicker{display:block;margin:0 0 5px;color:#a80505;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.kq-reiseplan-header h2{margin:0 0 6px;font-size:clamp(28px,3.4vw,42px);line-height:1.05}
.kq-reiseplan-header p{max-width:680px;margin:0;color:#555;font-size:15px}
.kq-reiseplan-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.kq-reiseplan-overview>div{min-width:0;padding:12px 8px;background:#fff;border:1px solid #e4e4e0;border-radius:9px;text-align:center}
.kq-reiseplan-overview strong,.kq-reiseplan-overview span{display:block}
.kq-reiseplan-overview strong{color:#a80505;font-size:18px;line-height:1.2}
.kq-reiseplan-overview span{margin-top:3px;color:#666;font-size:11px}
.kq-reiseplan-list{grid-template-columns:1fr;gap:12px}
.kq-reiseplan-card{display:grid;grid-template-columns:52px 230px minmax(0,1fr);min-height:170px;overflow:hidden;border-radius:10px}
.kq-reiseplan-card.is-dragging{opacity:.55}
.kq-reiseplan-card.is-drag-over{outline:3px solid rgba(168,5,5,.35);outline-offset:3px}
.kq-reiseplan-order{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;background:#f5f3f0;border-right:1px solid #e8e5e1}
.kq-reiseplan-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#a80505;color:#fff;font-size:15px;font-weight:700}
.kq-reiseplan-drag{cursor:grab;color:#777}.kq-reiseplan-drag:active{cursor:grabbing}
.kq-reiseplan-drag svg,.kq-reiseplan-order-buttons svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kq-reiseplan-order-buttons{display:flex;flex-direction:column;gap:3px;margin-top:auto}
.kq-reiseplan-order-buttons button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #d6d2cd;border-radius:50%;background:#fff;color:#555;cursor:pointer}
.kq-reiseplan-order-buttons button:hover,.kq-reiseplan-order-buttons button:focus-visible{border-color:#a80505;color:#a80505}.kq-reiseplan-order-buttons button:disabled{opacity:.3;cursor:default}
.kq-reiseplan-image-link{display:block;min-width:0;border-right:1px solid #eee;overflow:hidden}
.kq-reiseplan-card .kq-merkliste-card-image,.kq-reiseplan-card .kq-merkliste-card-placeholder{display:block;width:100%;height:100%;min-height:170px;object-fit:cover}
.kq-reiseplan-main{display:flex;flex-direction:column;min-width:0;padding:20px 22px}
.kq-reiseplan-title{display:block;margin:4px 0 12px;color:#222;font-size:24px;font-weight:700;line-height:1.15;text-decoration:none}.kq-reiseplan-title:hover{color:#a80505}
.kq-reiseplan-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.kq-reiseplan-meta span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#f4f2ef;border-radius:999px;color:#444;font-size:13px}.kq-reiseplan-meta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.kq-reiseplan-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:auto}.kq-reiseplan-actions .kq-merkliste-card-more{margin:0}.kq-reiseplan-edit{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 13px;border:1px solid #a80505;border-radius:5px;background:#fff;color:#a80505;font:inherit;font-size:14px;font-weight:700;line-height:1.2;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.kq-reiseplan-edit svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8}.kq-reiseplan-edit:hover,.kq-reiseplan-edit:focus-visible,.kq-reiseplan-edit[aria-expanded="true"]{background:#a80505;color:#fff;box-shadow:0 5px 14px rgba(168,5,5,.16)}.kq-reiseplan-edit:active{transform:translateY(1px)}
.kq-reiseplan-card .kq-merkliste-remove{position:static;margin:0 0 0 auto;opacity:1;transform:none}
.kq-reiseplan-panel{grid-column:2/4;display:grid;grid-template-columns:minmax(240px,.65fr) minmax(280px,1.35fr);gap:18px;padding:16px 20px 18px;border-top:1px solid #eee;background:#fafafa}
.kq-reiseplan-panel[hidden]{display:none!important}
.kq-reiseplan-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0}.kq-reiseplan-fields label{display:block;margin:0;font-size:13px;font-weight:700}.kq-reiseplan-fields label>span{display:flex;align-items:center;gap:6px;margin:0 0 6px}.kq-reiseplan-fields svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.kq-reiseplan-fields input,.kq-reiseplan-fields select{width:100%;min-height:40px;padding:7px 9px;border:1px solid #d8d5d1;border-radius:7px;background:#fff;color:#222;font:inherit}.kq-reiseplan-fields input:focus,.kq-reiseplan-fields select:focus{border-color:#a80505;outline:2px solid rgba(168,5,5,.12)}
.kq-reiseplan-card .kq-merkliste-note{padding:0}.kq-reiseplan-card .kq-merkliste-note textarea{min-height:70px}
@media screen and (max-width:980px){.kq-reiseplan-header{grid-template-columns:1fr}.kq-reiseplan-card{grid-template-columns:48px 190px minmax(0,1fr)}.kq-reiseplan-title{font-size:21px}.kq-reiseplan-panel{grid-column:2/4}}
@media screen and (max-width:720px){.kq-reiseplan-overview{grid-template-columns:repeat(3,1fr)}.kq-reiseplan-card{grid-template-columns:44px 120px minmax(0,1fr);min-height:145px}.kq-reiseplan-order{padding:12px 4px}.kq-reiseplan-number{width:29px;height:29px}.kq-reiseplan-drag{display:none}.kq-reiseplan-card .kq-merkliste-card-image,.kq-reiseplan-card .kq-merkliste-card-placeholder{min-height:145px}.kq-reiseplan-main{padding:15px}.kq-reiseplan-title{font-size:18px;margin-bottom:9px}.kq-reiseplan-meta{margin-bottom:10px}.kq-reiseplan-meta span{padding:5px 8px;font-size:12px}.kq-reiseplan-actions{gap:10px}.kq-reiseplan-card .kq-merkliste-remove{margin-left:0}.kq-reiseplan-panel{grid-column:2/4;grid-template-columns:1fr;padding:14px}.kq-reiseplan-fields{grid-template-columns:1fr 1fr}}
@media screen and (max-width:520px){.kq-reiseplan-header{padding:18px 15px}.kq-reiseplan-header p{font-size:14px}.kq-reiseplan-overview{grid-template-columns:1fr}.kq-reiseplan-card{grid-template-columns:40px 1fr}.kq-reiseplan-image-link{grid-column:2;height:150px;border-right:0;border-bottom:1px solid #eee}.kq-reiseplan-main{grid-column:2}.kq-reiseplan-panel{grid-column:2}.kq-reiseplan-order{grid-row:1/4}.kq-reiseplan-fields{grid-template-columns:1fr}.kq-reiseplan-actions{align-items:flex-start;flex-direction:column}.kq-reiseplan-card .kq-merkliste-remove{margin:2px 0 0}}
@media print{.kq-reiseplan-header{display:block;padding:0 0 16px;background:transparent}.kq-reiseplan-overview{margin-top:12px}.kq-reiseplan-order-buttons,.kq-reiseplan-drag,.kq-reiseplan-edit,.kq-merkliste-remove{display:none!important}.kq-reiseplan-card{grid-template-columns:38px 180px 1fr;break-inside:avoid}.kq-reiseplan-panel{display:grid!important;grid-column:2/4}}

/* ==========================================
   VERSION 0.6.0 – ROUTENPLANUNG
========================================== */
.kq-route-planner{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(240px,.65fr);
    gap:22px 34px;
    align-items:center;
    margin:26px 0 30px;
    padding:26px 30px;
    border:1px solid #e6e6e6;
    border-radius:12px;
    background:#fff;
    box-shadow:0 7px 24px rgba(0,0,0,.05);
}
.kq-route-planner-copy h3{
    margin:3px 0 7px;
    font-size:clamp(24px,2.3vw,34px);
    line-height:1.1;
}
.kq-route-planner-copy p{
    max-width:680px;
    margin:0;
    color:#666;
}
.kq-route-kicker{
    color:#a80505;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.kq-route-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.kq-route-summary>div{
    padding:13px 15px;
    border-radius:9px;
    background:#f6f6f6;
    text-align:center;
}
.kq-route-summary strong,.kq-route-summary span{display:block}
.kq-route-summary strong{font-size:20px;line-height:1.15}
.kq-route-summary span{margin-top:3px;color:#777;font-size:13px}
.kq-route-controls{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}
.kq-route-toggle{
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:46px;
    padding:11px 18px;
    border:1px solid #a80505;
    border-radius:5px;
    background:#a80505;
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.kq-route-toggle:hover,.kq-route-toggle:focus-visible{
    background:#8f0404;
    box-shadow:0 7px 18px rgba(168,5,5,.2);
    transform:translateY(-1px);
}
.kq-route-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kq-route-status{margin:0;color:#666;font-size:14px}
.kq-route-status.is-error{color:#a80505}
.kq-route-map{
    grid-column:1/-1;
    width:100%;
    height:400px;
    border-radius:10px;
    overflow:hidden;
    background:#eee;
}
.kq-route-marker-wrap{background:transparent;border:0}
.kq-route-marker{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border:3px solid #fff;
    border-radius:50%;
    background:#a80505;
    color:#fff;
    box-shadow:0 3px 11px rgba(0,0,0,.28);
    font-size:14px;
    font-weight:800;
}

.kq-route-marker.is-start{background:#2f7d32}
.kq-route-marker.is-finish{background:#a80505}
.kq-route-marker.is-stop{border-color:#a80505;background:#fff;color:#a80505}
.kq-route-navigation{
    display:inline-flex;
    align-items:center;
    min-height:46px;
    padding:11px 18px;
    border:1px solid #a80505;
    border-radius:5px;
    background:#fff;
    color:#a80505;
    font-weight:700;
    text-decoration:none;
}
.kq-route-navigation:hover,.kq-route-navigation:focus-visible{background:#a80505;color:#fff}
.kq-route-navigation[hidden]{display:none!important}

.kq-route-popup{display:grid;gap:5px;min-width:150px}
.kq-route-popup strong{font-size:15px}
.kq-route-popup span{color:#666;font-size:13px}
.kq-route-popup a{color:#a80505;font-weight:700;text-decoration:none}
@media screen and (max-width:780px){
    .kq-route-planner{grid-template-columns:1fr;padding:22px 20px}
    .kq-route-summary{grid-column:1}
    .kq-route-controls{grid-column:1;align-items:flex-start;flex-direction:column}
    .kq-route-map{grid-column:1;height:360px}
}
@media print{
    .kq-route-controls{display:none!important}
    .kq-route-map{height:360px!important;break-inside:avoid}
}

/* ==========================================
   VERSION 0.6.2 – STABILITÄT & BARRIEREARMUT
========================================== */
.kq-route-toggle:disabled{
    cursor:wait;
    opacity:.7;
}
.kq-route-status:empty{
    display:none;
}
.kq-route-map[aria-busy="true"]{
    position:relative;
    cursor:progress;
}
.kq-route-map[aria-busy="true"]::after{
    content:"Route wird geladen …";
    position:absolute;
    left:50%;
    top:50%;
    z-index:1000;
    transform:translate(-50%,-50%);
    padding:10px 14px;
    border-radius:4px;
    background:rgba(255,255,255,.94);
    box-shadow:0 4px 18px rgba(0,0,0,.16);
    color:#222;
    font-size:14px;
    font-weight:700;
    pointer-events:none;
}
.kq-route-toggle:focus-visible,
.kq-route-navigation:focus-visible,
.kq-plan-edit-toggle:focus-visible,
.kq-merkliste-button:focus-visible,
.kq-merkliste-remove:focus-visible{
    outline:3px solid rgba(168,5,5,.32);
    outline-offset:3px;
}
@media (prefers-reduced-motion:reduce){
    .kq-route-toggle,
    .kq-route-navigation,
    .kq-route-marker,
    .kq-merkliste-button,
    .kq-merkliste-card{
        scroll-behavior:auto!important;
        transition:none!important;
        animation:none!important;
    }
}


/* ==========================================
   VERSION 0.6.4 – ZEITPLAN & KONFLIKTPRÜFUNG
========================================== */
.kq-plan-conflict-summary{
    margin:14px 0 20px;
    padding:12px 16px;
    border-left:4px solid #a80505;
    background:#fff4f2;
    color:#8d0000;
    font-weight:700;
}
.kq-plan-conflict-summary[hidden],.kq-plan-conflict[hidden]{display:none!important}
.kq-plan-conflict{
    margin:12px 0 0;
    padding:9px 12px;
    border-radius:4px;
    background:#fff1ef;
    color:#a80505;
    font-size:14px;
    font-weight:700;
    line-height:1.4;
}
.kq-reiseplan-card.has-time-conflict{
    border-color:#d34235;
    box-shadow:0 0 0 2px rgba(168,5,5,.08),0 12px 34px rgba(0,0,0,.07);
}
.kq-auto-schedule{
    display:inline-flex;
    align-items:center;
    min-height:46px;
    padding:11px 18px;
    border:1px solid #a80505;
    border-radius:5px;
    background:#fff;
    color:#a80505;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}
.kq-auto-schedule:hover,.kq-auto-schedule:focus-visible{background:#a80505;color:#fff}
.kq-auto-schedule:disabled{border-color:#ccc;background:#f5f5f5;color:#888;cursor:not-allowed}
.kq-auto-schedule:focus-visible{outline:3px solid rgba(168,5,5,.32);outline-offset:3px}
@media screen and (max-width:780px){.kq-auto-schedule{width:100%;justify-content:center}}
@media print{.kq-plan-conflict-summary,.kq-plan-conflict,.kq-auto-schedule{display:none!important}}


/* ==========================================
   LOKALE SPEICHERUNG / DATENSCHUTZ-HINWEIS
========================================== */
.kq-reiseplan-header .kq-storage-info-toggle{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:14px;
    padding:7px 11px;
    border:1px solid #d7d7d4;
    border-radius:5px;
    background:#fff;
    color:#444;
    font:inherit;
    font-size:13px;
    font-weight:700;
    line-height:1.2;
    cursor:pointer;
    transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.kq-reiseplan-header .kq-storage-info-toggle:hover,
.kq-reiseplan-header .kq-storage-info-toggle:focus-visible,
.kq-reiseplan-header .kq-storage-info-toggle[aria-expanded="true"]{
    border-color:#b50909;
    background:#fff;
    color:#b50909;
}
.kq-storage-info{
    grid-column:1/-1;
    margin-top:2px;
    padding:16px 18px;
    border-left:4px solid #b50909;
    border-radius:4px;
    background:#fff;
    color:#444;
    font-size:14px;
    line-height:1.55;
}
.kq-storage-info[hidden]{display:none!important}
.kq-storage-info strong{display:block;margin:0 0 5px;color:#222;font-size:15px}
.kq-storage-info p{max-width:none!important;margin:0!important;color:#555!important;font-size:14px!important}
.kq-storage-info p+p{margin-top:8px!important}
@media screen and (max-width:520px){
    .kq-reiseplan-header .kq-storage-info-toggle{width:100%;justify-content:center}
    .kq-storage-info{padding:14px}
}
@media print{
    .kq-storage-info-toggle,.kq-storage-info{display:none!important}
}

/* ==========================================
   KATEGORIE-HINTERGRÜNDE – VERSION 0.7.0
========================================== */
body.kq-category-background-active #body{
    position:relative;
    background-color:#fffaf6;
    background-image:var(--kq-category-bg-image);
    background-position:var(--kq-category-bg-position,center top);
    background-size:var(--kq-category-bg-size,cover);
    background-repeat:var(--kq-category-bg-repeat,no-repeat);
}

/* Themify-Fallbacks: Der Seitenhintergrund bleibt sichtbar, ohne einzelne
   Karten, Module oder redaktionelle Boxen transparent zu machen. */
body.kq-category-background-active #layout,
body.kq-category-background-active #content{
    background-color:transparent;
}

@media (max-width:768px){
    body.kq-category-background-active #body{
        background-size:auto 100%;
        background-position:center top;
    }
}
