:root {
    --vq-header-fade-start: oklch(from var(--bulma-primary) l c h / 0.65);
    --vq-header-fade-end: oklch(from var(--bulma-secondary) l c h / 0.75);
}

.vq-site {
    padding-top: var(--bulma-navbar-height);
}

.column>.section {
    padding-inline: 0;
}

@media(max-width: 768px) {
    .section {
        hyphens: auto;
        padding-block: 1rem;
    }
}

.vq-block-headline+.vq-block-text, .vq-block-text+.vq-block-text-media {
    margin-top: 2rem;
}
.vq-block-headline {
    padding-block: 3rem;
}

.vq-block-html .vq-container-narrow {
    max-width: 720px;
}
.vq-block-html>.container, .vq-block-html.section>.container.is-fluid {
    line-height: 1.7;
    color: var(--col-text);
}
.vq-block-html>.container h1, .vq-block-html>.container h2, .vq-block-html>.container h3, .vq-block-html>.container h4, .vq-block-html>.container h5, .vq-block-html>.container h6, .vq-block-html.section>.container.is-fluid h1, .vq-block-html.section>.container.is-fluid h2, .vq-block-html.section>.container.is-fluid h3, .vq-block-html.section>.container.is-fluid h4, .vq-block-html.section>.container.is-fluid h5, .vq-block-html.section>.container.is-fluid h6 {
    font-weight: 700;
}
.vq-block-html>.container p+p, .vq-block-html.section>.container.is-fluid p+p {
    margin-top: 1rem;
}
.vq-news-list .vq-news-card {
    height: 100%;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--box-shadow-big);
    display: flex;
    flex-direction: column;
}
@media (prefers-color-scheme: dark) {
    .vq-news-list .vq-news-card {
        background-color: var(--bulma-scheme-main-bis);
    }
}
.vq-news-list .vq-news-card .card-image .image img {
    object-fit: cover;
}
.vq-news-list .vq-news-card .card-content {
    flex-grow: 1;
    padding: 1.25rem 1.5rem;
}
.vq-news-list .vq-news-card .title a {
    color: var(--bulma-text-strong);
}
.vq-news-list .vq-news-card .title a:hover,
.vq-news-list .vq-news-card .title a:focus {
    color: var(--bulma-secondary);
}
.vq-news-list .vq-news-card .card-footer {
    border-top: 1px solid var(--col-border);
}
.vq-news-list .vq-news-card .card-footer a {
    font-weight: 600;
}
.vq-news-list .vq-news-card .card-footer a:hover,
.vq-news-list .vq-news-card .card-footer a:focus {
    background-color: var(--col-blue);
    color: var(--col-white);
}

.vq-container-narrow {
    max-width: 720px;
    margin-inline: auto;
    flex-grow: 1;
    position: relative;
    width: 100%;
}

.vq-news-detail {
    margin-inline: auto;
    max-width: 960px;
}

.vq-news-detail-header {
    text-align: center;
}
.vq-news-detail-published {
    margin-block-end: 1em;
}
.vq-news-detail-header .title {
    margin-block-end: 1em;
}
.vq-news-detail-image {
    border-radius: 16px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);
}
.vq-news-detail-teaser {
    font-weight: bold;
}
.vq-news-detail-body {
    line-height: 1.5;
}
.vq-block-text-media .vq-text-media-media {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 15px 50px oklch(from var(--col-primary-dark) l c h / .18);
}
.vq-block-text-media .vq-text-media-media img, .vq-block-text-media .vq-text-media-media video {
    display: block;
    width: 100%;
    height: auto;
}
.vq-block-text-media .vq-text-media-body {
    max-width: 48rem;
    margin-top: 1.5rem;
}
.vq-block-text-media.vq-block-text-media-align-center .vq-text-media-body {
    margin-left: auto;
    margin-right: auto;
}
.vq-block-text .vq-container-narrow {
    max-width: 720px;
}
.vq-block-text .vq-block-text-body {
    line-height: 1.7;
}
.vq-block-text .vq-block-text-body--center {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
.icon i {
    font-size: 1rem;
}
@media screen and (max-width: 768px) {
    footer .column.is-12-mobile.is-4-tablet {
    text-align: center;
    margin-top: 1rem;
}
footer .column.is-12-mobile.is-4-tablet .buttons {
    justify-content: center;
    flex-wrap: wrap;
    gap: .5rem;
}
footer .column.is-12-mobile.is-4-tablet .button.is-small {
    margin: 0;
}
}.vq-form {
    max-width: 640px;
    margin: 0 auto;
}
.vq-lightbox-thumb {
    display: block;
    cursor: zoom-in;
}
.vq-lightbox-thumb img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
    box-shadow: var(--box-shadow-big);
}
.vq-lightbox {
    display: none;
    position: fixed;
    z-index: 60;
    inset: 0;
    padding: 1.5rem;
    background: oklch(from var(--col-primary-dark) l c h / .85);
}
.vq-lightbox:target {
    display: flex;
    align-items: center;
    justify-content: center;
}
.vq-lightbox-content {
    position: relative;
    max-width: min(90vw, 1200px);
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.vq-lightbox-content img, .vq-lightbox-content video {
    max-width: 100%;
    max-height: 100%;
    border-radius: 16px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);
}
.vq-lightbox-close {
    position: absolute;
    top: -0.75rem;
    right: -0.75rem;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    border: none;
    background: oklch(from var(--col-primary-dark) l c h / .9);
    color: var(--col-white);
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}
.vq-block-gallery .vq-gallery-thumb-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: .5rem;
    background: var(--col-surface);
}
.vq-block-gallery .vq-gallery-thumb-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease, filter .25s ease;
}
.vq-block-gallery .vq-gallery-thumb-link:hover .vq-gallery-thumb-image {
    transform: scale(1.03);
    filter: brightness(1.05);
}
.vq-block-gallery .vq-gallery-caption {
    text-align: center;
}
.vq-tariff-card__badge {
    position: absolute;
    top: .9rem;
    right: .9rem;
}

.vq-tariff-card__price {
    margin-top: .5rem;
    display: flex;
    align-items: baseline;
    gap: .35rem;
}
.vq-tariff-card__price-main {
    font-size: 1.6em;
    font-weight: var(--bulma-strong-weight);
}
.vq-tariff-card__price-suffix {
    font-size: .9em;
}
.vq-tariff-card__hint {
    font-size: .8em;
}
.vq-tariff-card__actions {
    margin-top: .75rem;
    text-align: right;
}

/* Cookie-Banner Logo (CookieConfig.logo) */
#cc-main .cm__title,
#cc-main .pm__title {
    display: flex;
    align-items: center;
    gap: .5rem;
}
#cc-main .cc__logo {
    display: inline-block;
    height: 28px;
    width: auto;
    flex-shrink: 0;
}
