/* Pages without side content use one balanced, readable column. */
#main.yntwelle-page > .main-content {
    box-sizing: border-box;
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
    padding: 40px 32px 64px;
}

/* A quiet photo presentation alongside the home introduction. */
.yntwelle-home {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    align-items: start;
    gap: 44px;
}

.yntwelle-home-intro { padding-top: 8px; }
.yntwelle-photo-slider { min-width: 0; }
.yntwelle-photo-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    background: #f4f5f3;
}

.yntwelle-photo-slide {
    flex: 0 0 100%;
    min-width: 0;
    scroll-snap-align: start;
}

#content .yntwelle-photo-slide > .jv-imagect {
    float: none;
    width: 100%;
    height: 480px;
    margin: 0;
    padding: 16px;
    box-sizing: border-box;
}

#content .yntwelle-photo-slide img {
    display: block;
    float: none;
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    object-fit: contain;
}

.yntwelle-photo-controls:not([hidden]) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
}

#content .yntwelle-photo-controls button {
    width: 48px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid #263958;
    border-radius: 0;
    background: white;
    color: #263958;
    font-size: 25px;
    cursor: pointer;
}

#content .yntwelle-photo-controls button:hover:not(:disabled) { background: #e8edf3; }
#content .yntwelle-photo-controls button:disabled { opacity: .3; cursor: default; }
.yntwelle-photo-counter { font-size: 14px; color: #263958; }
.yntwelle-photo-track:focus-visible,
#content .yntwelle-photo-controls button:focus-visible { outline: 3px solid #526d97; outline-offset: 3px; }

@media (max-width: 800px) {
    .yntwelle-home { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    #content .yntwelle-photo-slide > .jv-imagect { height: min(480px, 115vw); }
}

#main.yntwelle-page > .main-content > .content-h1 {
    margin-top: 0;
}

#main.yntwelle-page > .main-content > #content {
    display: flow-root;
    line-height: 1.75;
}

/* Preserve the proportions of editor-sized images on narrow screens. */
@media (max-width: 600px) {
    #main.yntwelle-page > .main-content {
        padding: 28px 22px 40px;
    }

    #content img {
        max-width: 100%;
        height: auto !important;
    }
}
