.oh-arch-side{--oh-v:"1.0.9"}
/* OliviHome archive sidebar (Browse Categories + Popular Topics) */
.oh-arch-side .oh-side-box{background:#fff;border:1px solid #e8ecef;border-radius:14px;padding:22px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.oh-arch-side .oh-side-h{font-size:17px;font-weight:700;color:#111827;margin:0 0 12px}
.oh-arch-side .oh-side-h:not(:first-child){margin-top:22px;padding-top:20px;border-top:1px solid #f1f3f5}
.oh-side-cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.oh-side-cats li a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;color:#374151;text-decoration:none;font-size:15px;line-height:1.3}
.oh-side-cats li a:hover{background:#f6f8f7}
.oh-side-cats li.active a{background:#f0fdf4;font-weight:600;color:#111827}
.oh-side-cats .oh-side-ic{display:inline-flex;flex-shrink:0;color:#2e9e44}
.oh-side-cats .oh-side-ic svg{width:19px;height:19px}
.oh-side-cats .oh-side-name{flex:1}
.oh-side-cats .oh-side-count{background:#f1f3f5;color:#6b7280;font-size:12px;font-weight:500;border-radius:999px;padding:2px 10px;line-height:1.6}
.oh-side-cats li.active .oh-side-count{background:#dcfce7;color:#15803d}
.oh-side-tags{display:flex;flex-wrap:wrap;gap:8px}
.oh-side-tags a{display:inline-block;border:1px solid #e5e7eb;border-radius:999px;padding:6px 14px;font-size:13px;color:#374151;text-decoration:none;background:#fff}
.oh-side-tags a:hover{border-color:#2e9e44;color:#2e9e44}

/* v1.0.6: force the sidebar section's whole inner Elementor chain to fill the
   300px grid column. (An inner wrapper was shrink-wrapping to ~125px, which
   clipped the category list and left a cream gap before the post grid.) */
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c .elementor-container,
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c .e-con-inner,
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c .elementor-column,
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c .elementor-inner-section,
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c .elementor-widget-wrap,
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c .elementor-widget,
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c .elementor-widget-container{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  overflow:visible;
}
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c .oh-arch-side,
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c .oh-side-box{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box;
}
/* Archive 2-column layout: sidebar left (300px), content right — desktop.
   Whole archive sits in a centered container like the reference design. */
@media(min-width:1024px){
  .xpro-theme-builder-archive-wrapper > .elementor-14250{
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    column-gap:32px;
    align-items:start;
    max-width:1200px;
    margin:0 auto;
    padding:8px 24px 48px;
  }
  .xpro-theme-builder-archive-wrapper > .elementor-14250 > section{min-width:0}
  .xpro-theme-builder-archive-wrapper .elementor-element-8f1921c{grid-column:1;grid-row:1 / span 3}
  .xpro-theme-builder-archive-wrapper .elementor-element-3c7e0d2{grid-column:2;grid-row:1}
  .xpro-theme-builder-archive-wrapper .elementor-element-99415d4{grid-column:2;grid-row:2}
  .xpro-theme-builder-archive-wrapper .elementor-element-4e31440{grid-column:2;grid-row:3}
}
/* Mobile/tablet: stack vertically, sidebar above content */
@media(max-width:1023.98px){
  .xpro-theme-builder-archive-wrapper > .elementor-14250{display:flex;flex-direction:column;padding:0 16px 36px}
  .xpro-theme-builder-archive-wrapper .elementor-element-8f1921c{order:-1}
  .oh-arch-side .oh-side-box{padding:18px}
}
/* v1.0.7: v1.0.6's targeted chain missed the squeezing wrapper (its classes
   aren't in the selector list, so width:100% never reached it). Catch-all:
   force EVERY structural wrapper inside the sidebar section to fill the
   300px grid column, whatever its tag or classes. Tightly scoped to the
   sidebar section, so nothing else on the page is touched. */
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  justify-self:stretch !important;
}
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c div,
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c section,
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c aside{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* v1.0.8: ROOT CAUSE FOUND via debug outlines (v1.0.7) — the Shortcode widget
   (.elementor-widget) was shrink-wrapping to ~135px because its parent
   .elementor-widget-wrap is display:flex, making the widget a flex item that
   refuses to stretch. Forcing block layout on the wrap turns the widget back
   into a normal block box that fills the 300px column. Scoped to the sidebar
   section only. */
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c .elementor-widget-wrap{
  display:block !important;
}
.xpro-theme-builder-archive-wrapper .elementor-element-8f1921c .elementor-widget{
  width:100% !important;
  max-width:100% !important;
  min-width:100% !important;
  box-sizing:border-box !important;
}

/* v1.0.9: NUCLEAR FIX. v1.0.8's display:block + width:100% did not widen the
   box — some wrapper in the chain computes to ~135px and percentage widths
   resolve against it. Stop depending on parent widths entirely: on desktop,
   force EVERY element in the sidebar section to an explicit 300px (the grid
   track width). Scoped to the sidebar section, desktop only; mobile keeps
   the stacking 100% rules. */
@media(min-width:1024px){
  .xpro-theme-builder-archive-wrapper .elementor-element-8f1921c,
  .xpro-theme-builder-archive-wrapper .elementor-element-8f1921c div,
  .xpro-theme-builder-archive-wrapper .elementor-element-8f1921c section,
  .xpro-theme-builder-archive-wrapper .elementor-element-8f1921c aside{
    width:300px !important;
    min-width:300px !important;
    max-width:300px !important;
    box-sizing:border-box !important;
    margin-left:0 !important;
    margin-right:0 !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    flex:0 0 300px !important;
  }
}
