/* Shared desktop content edges. Small-screen page rules remain in their own stylesheets.
 * 1200px usable content + two 24px shell gutters = 1248px border-box shell.
 * Scope only page shells: maps, stretched sections and inner prose keep their layout.
 */
:root { --tek-content-max: 1200px; --tek-content-gutter: 24px; }
@media screen and (min-width: 1025px) {
    :root { --tek-content-shell-max: calc(var(--tek-content-max) + 2 * var(--tek-content-gutter)); }
    body .tk-tour,
    body .tk-blog:not(.tkb-saved-panel),
    body .tk-guide,
    body .tk-content-page,
    body .z3-page {
        box-sizing: border-box;
        width: 100%;
        max-width: var(--tek-content-shell-max) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: var(--tek-content-gutter) !important;
        padding-right: var(--tek-content-gutter) !important;
    }
    /* Events are rendered by the event plugin; its shell has no inner padding. */
    body .tek-event-collection .tec-shell {
        box-sizing: border-box;
        width: calc(100% - 2 * var(--tek-content-gutter));
        max-width: var(--tek-content-max);
        margin-inline: auto;
    }
}

/* Match the blog's featured banner on desktop; stacked mobile/tablet stays fluid. */
@media screen and (min-width:1025px) {
    body .tek-event-collection .tec-featured {
        box-sizing:border-box;
        height:430px;
        min-height:430px;
    }
    body .tek-event-collection .tec-featured-photo {
        min-height:0;
    }
    body .tek-event-collection .tec-featured-photo img {
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        object-fit:cover;
    }
}
