/* Only the winter gallery: keep wide and square photographs in complete rows. */
div.teaser.winter-gallery {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}
div.teaser.winter-gallery::before,
div.teaser.winter-gallery::after { display: none; }
.winter-gallery > .winter-gallery-card {
    display: block;
    position: relative;
    grid-column: span 2;
    aspect-ratio: 1;
    min-width: 0;
    color: #fff;
    text-decoration: none;
}
.winter-gallery > .winter-gallery-card.is-wide {
    grid-column: span 3;
    aspect-ratio: auto;
}
div.teaser.winter-gallery .item {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    float: none;
}
div.teaser.winter-gallery .item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
div.teaser.winter-gallery .item .description {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    inset: 0;
    margin: 0;
    padding: clamp(16px, 2vw, 28px);
    color: #fff;
    text-align: left;
    font-size: clamp(14px, 1.3vw, 17px);
    line-height: 1.5;
    letter-spacing: normal;
}
div.teaser.winter-gallery .description h3 {
    margin: 0 0 12px;
    color: inherit;
    font-size: clamp(20px, 2vw, 27px);
    line-height: 1.2;
    letter-spacing: normal;
    text-align: left;
}
div.teaser.winter-gallery .description p {
    margin: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: normal;
    text-align: left;
}
.winter-gallery-card:focus-visible {
    outline: 3px solid #da052e;
    outline-offset: 3px;
}
div.teaser.winter-gallery a:focus-visible .item::before,
div.teaser.winter-gallery a:focus-visible .description {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}
/* Touch screens have no reliable hover: keep the description readable below the image. */
@media (max-width: 767px), (hover: none) {
    div.teaser.winter-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .winter-gallery > .winter-gallery-card,
    .winter-gallery > .winter-gallery-card.is-wide { grid-column: span 1; aspect-ratio: auto; }
    div.teaser.winter-gallery .item { position: relative; height: 100%; background: #192126; }
    div.teaser.winter-gallery .item img { aspect-ratio: 3 / 2; height: auto; }
    div.teaser.winter-gallery .item::before { display: none; }
    div.teaser.winter-gallery .item .description {
        position: static;
        opacity: 1;
        transform: none;
        padding: 18px;
        font-size: 15px;
    }
    div.teaser.winter-gallery .description h3 { font-size: 21px; }
}
@media (max-width: 600px) {
    div.teaser.winter-gallery { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    div.teaser.winter-gallery .item::before,
    div.teaser.winter-gallery .item .description { transition: none; }
}
