/* Only plugin-owned templates. Shortcodes keep their host layout. */
.osbs-site-layout {
    box-sizing:border-box;
    width:100%; max-width:none; min-width:0;
    margin:0 auto; padding:32px clamp(16px,2vw,32px) 64px;
    clear:both;
}
.osbs-site-layout.osbs-with-sidebar {
    display:grid; grid-template-columns:minmax(0,1fr) clamp(260px,30%,380px);
    gap:30px; align-items:start;
}
.osbs-site-layout > .osbs-page { width:100%; max-width:none; min-width:0; margin:0; padding:0; }
.osbs-site-layout .osbs-hero h1 { display:flex; align-items:center; gap:12px; }
.osbs-site-layout .osbs-heading-icon { flex:none; font-size:.85em; }
.osbs-site-layout .osbs-filters > div { min-width:0; }
/* Preserve theme widget styling; reset only the outer theme column width. */
.osbs-site-sidebar { min-width:0; }
.osbs-site-sidebar > * {
    float:none !important; width:100% !important; max-width:100% !important;
    flex-basis:100% !important; margin-left:0 !important; margin-right:0 !important;
    padding-left:0 !important; padding-right:0 !important;
}
.osbs-with-sidebar .osbs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.osbs-with-sidebar .osbs-detail { grid-template-columns:170px minmax(0,1fr); gap:24px; }
@media (max-width:991px) {
    .osbs-site-layout.osbs-with-sidebar { grid-template-columns:minmax(0,1fr); }
    .osbs-site-sidebar { margin-top:12px; }
}
@media (max-width:600px) {
    .osbs-site-layout { padding:22px 16px 40px; }
    .osbs-with-sidebar .osbs-grid { grid-template-columns:minmax(0,1fr); }
    .osbs-with-sidebar .osbs-detail { display:block; }
}
