
/* Non-critical enhancements and utilities */
.g-4{gap:24px}
.section{margin:24px 0 40px}
.site-footer{border-top:1px solid #eee;margin-top:40px}
.site-footer .container{padding:20px 16px}
.article__figure{margin:16px 0}
.article__caption{font-size:.875rem;color:#6b7280}

/* Single layout with sidebar */
@media (min-width: 992px){
  .layout--single{grid-template-columns: 1fr 320px}
}
.sidebar-box{border:1px solid #eee;border-radius:12px;padding:16px}
.sidebar-title{margin:0 0 12px;font-size:1.125rem}
.sidebar-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sidebar-item a{opacity:.9}
.sidebar-item a:hover{text-decoration:underline}


/* Ensure main (left) and sidebar (right) order */
.layout--single{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width: 992px){
  .layout--single{grid-template-columns:minmax(0,1fr) 320px;align-items:start}
  .layout__main{grid-column:1}
  .layout__side{grid-column:2}
}


/* === Mobile off-canvas menu (right slide) === */
.menu-toggle{display:inline-flex;gap:8px;align-items:center;border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:8px 12px;cursor:pointer}
.menu-toggle__bar{display:block;width:18px;height:2px;background:#1f2937}
.menu-toggle__bar+.menu-toggle__bar{margin-top:4px}
.menu-toggle__text{font-size:.9rem}

@media (min-width: 992px){
  .menu-toggle{display:none}
  .primary-nav{display:block}
}
@media (max-width: 991.98px){
  .primary-nav{display:none}
}

.offcanvas-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:saturate(110%) blur(1px);z-index:999;opacity:0;transition:opacity .2s ease}
.offcanvas{position:fixed;top:0;right:0;height:100vh;width:min(85vw,360px);background:#fff;box-shadow:-6px 0 24px rgba(0,0,0,.12);transform:translateX(100%);transition:transform .25s ease-out;z-index:1000;display:flex;flex-direction:column}
.offcanvas__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #eee}
.offcanvas__title{margin:0;font-size:1.125rem}
.offcanvas__close{border:none;background:transparent;font-size:1.75rem;line-height:1;cursor:pointer}
.offcanvas__nav{padding:8px 16px 16px;overflow:auto}
.menu--mobile{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.menu--mobile a{display:block;padding:10px 8px;border-radius:8px}
.menu--mobile a:hover{background:#f3f4f6}

.offcanvas.is-open{transform:translateX(0)}
.offcanvas-backdrop.is-open{opacity:1}

body.no-scroll{overflow:hidden}


/* Burger icon wrapper stacks bars vertically */
.menu-toggle__icon{display:inline-grid;grid-auto-rows:2px;row-gap:4px;padding:2px 0}
.menu-toggle__bar{display:block;width:18px;height:2px;background:#1f2937}


/* Remove default highlight on interaction */
.menu-toggle,
.menu-toggle:focus,
.menu-toggle:active,
.offcanvas__close,
.offcanvas__close:focus,
.offcanvas__close:active{outline:none;box-shadow:none}
button, .button{outline:none;box-shadow:none}
*{-webkit-tap-highlight-color:transparent}


/* Titles line-height fix */
.card__title,.article__title{line-height:1}


/* Mobile breadcrumbs: stacked + centered */
@media (max-width: 767.98px){
  .breadcrumbs__list{flex-direction:column;align-items:center;text-align:center}
}
