.zhub-layout-widget-host{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;align-items:start}
.zhub-layout-widget-host>.zhub-layout-widget{grid-column:span var(--zhub-widget-cols,12);min-width:0}
.zhub-widget-zone-preview{min-height:72px;transition:background-color .18s ease,border-color .18s ease;position:relative}
.zhub-widget-zone-preview.is-saving{pointer-events:none;opacity:.72;background:color-mix(in srgb,var(--bs-primary) 5%,transparent)}
.zhub-widget-designer-group.is-saving .badge{animation:zhub-widget-pulse 1s ease-in-out infinite}
.zhub-widget-sort-item{cursor:default;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,opacity .16s ease;background:var(--bs-body-bg)!important}
.zhub-widget-sort-item:hover{border-color:color-mix(in srgb,var(--bs-primary) 45%,var(--bs-border-color))!important;box-shadow:0 .55rem 1.5rem rgba(15,23,42,.08)}
.zhub-widget-sort-item.is-dragging{opacity:.52;transform:scale(.985);border-style:dashed!important;box-shadow:0 1rem 2.2rem rgba(15,23,42,.16)}
.zhub-widget-sort-item.is-drag-over{border-top:3px solid var(--bs-primary)!important}
.zhub-widget-drag-handle{cursor:grab;touch-action:none;flex:0 0 auto}
.zhub-widget-drag-handle:active{cursor:grabbing}
.zhub-widget-pick-list{max-height:230px;overflow:auto;padding-right:.25rem}
.zhub-widget-pick-list .btn{display:inline-flex;flex-direction:column;align-items:flex-start;border-radius:14px;text-align:left}
.zhub-widget-pick-list .btn em{font-size:.68rem;font-style:normal;opacity:.72}
.zhub-widget-selected-categories{min-height:48px}
.zhub-layout-widget-host.zhub-zone-floating{position:fixed;right:1rem;bottom:5.5rem;z-index:1035;max-width:min(390px,calc(100vw - 2rem));pointer-events:none}
.zhub-layout-widget-host.zhub-zone-floating>.zhub-layout-widget{pointer-events:auto}
.zhub-layout-widget-host.zhub-zone-mobile_top,.zhub-layout-widget-host.zhub-zone-mobile_bottom{display:none}
@media(max-width:767.98px){.zhub-layout-widget-host.zhub-zone-mobile_top,.zhub-layout-widget-host.zhub-zone-mobile_bottom{display:grid}.zhub-widget-sort-item .btn-group{flex-wrap:wrap}.zhub-widget-sort-item{padding:.75rem!important}}
@keyframes zhub-widget-pulse{0%,100%{opacity:1}50%{opacity:.45}}

/* Dynamic home canvas */
.zhub-widget-home{padding:1.1rem 0 2.5rem}
.zhub-widget-home-shell{width:min(1540px,calc(100% - 2rem));margin:0 auto}
.zhub-widget-home-grid{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(280px,.85fr);gap:1.25rem;align-items:start}
.zhub-widget-home-main,.zhub-widget-home-sidebar{min-width:0}
.zhub-widget-home .zhub-layout-widget-host{margin-bottom:1.15rem}
@media(max-width:1099.98px){.zhub-widget-home-grid{grid-template-columns:1fr}.zhub-widget-home-shell{width:min(100% - 1rem,1100px)}}

/* Utility widget family */
.zhub-utility-widget{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--bs-border-color) 78%,transparent);border-radius:24px;background:var(--bs-body-bg);box-shadow:0 .75rem 2rem rgba(15,23,42,.07);margin-bottom:1rem}
.zhub-utility-widget-inner{padding:clamp(1rem,2.3vw,2rem)}
.zhub-utility-hero{min-height:260px;display:flex;align-items:flex-end;background-size:cover;background-position:center}
.zhub-utility-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.9),rgba(15,23,42,.35),rgba(15,23,42,.08))}
.zhub-utility-hero .zhub-utility-widget-inner{position:relative;z-index:1;color:#fff;max-width:820px}
.zhub-utility-hero h2{font-size:clamp(1.75rem,4vw,3.6rem);font-weight:900;letter-spacing:-.035em}
.zhub-utility-announcement{border-radius:999px;background:linear-gradient(100deg,color-mix(in srgb,var(--bs-primary) 16%,var(--bs-body-bg)),color-mix(in srgb,var(--bs-warning) 14%,var(--bs-body-bg)))}
.zhub-utility-announcement .zhub-utility-widget-inner{display:flex;align-items:center;gap:.75rem;padding:.8rem 1.1rem}
.zhub-quick-link-grid,.zhub-stat-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}
.zhub-quick-link{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border:1px solid var(--bs-border-color);border-radius:18px;color:inherit;text-decoration:none;background:color-mix(in srgb,var(--bs-body-bg) 93%,var(--bs-primary) 7%);transition:.16s ease}
.zhub-quick-link:hover{transform:translateY(-2px);border-color:var(--bs-primary);color:var(--bs-primary)}
.zhub-stat-card{padding:1rem;border-radius:18px;background:color-mix(in srgb,var(--bs-body-bg) 90%,var(--bs-primary) 10%)}
.zhub-stat-card strong{display:block;font-size:1.45rem}
.zhub-utility-search form{display:flex;gap:.65rem}.zhub-utility-search input{flex:1;border:1px solid var(--bs-border-color);border-radius:999px;padding:.8rem 1.1rem;background:var(--bs-body-bg);color:inherit}
.zhub-utility-divider{height:1px;background:linear-gradient(90deg,transparent,var(--bs-border-color),transparent);margin:1.25rem 0}

/* Content widget display extensions */
.zhub-feed-grid-grid,.zhub-feed-grid-compact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}
.zhub-feed-grid-masonry{columns:4 220px;column-gap:1rem}.zhub-feed-grid-masonry>.zhub-feed-card{break-inside:avoid;margin-bottom:1rem;display:inline-flex;width:100%}
.zhub-content-hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.8fr);gap:1rem}.zhub-content-hero-lead .zhub-feed-card{height:100%}.zhub-content-hero-side{display:grid;gap:.75rem}
.zhub-feed-rank-list{display:grid;gap:.55rem}.zhub-feed-rank-row{display:grid;grid-template-columns:42px 1fr auto;gap:.75rem;align-items:center;padding:.75rem;border-bottom:1px solid var(--bs-border-color);color:inherit;text-decoration:none}.zhub-feed-rank-row>b{font-size:1.4rem;color:var(--bs-primary)}
.zhub-feed-timeline{border-left:2px solid color-mix(in srgb,var(--bs-primary) 30%,var(--bs-border-color));padding-left:1rem;display:grid;gap:.75rem}.zhub-feed-timeline-row{position:relative;color:inherit;text-decoration:none}.zhub-feed-timeline-row:before{content:"";position:absolute;left:-1.38rem;top:.4rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--bs-primary)}
.zhub-feed-ticker{overflow:hidden;border-radius:16px;border:1px solid var(--bs-border-color)}.zhub-feed-ticker-track{display:flex;width:max-content;animation:zhub-ticker 38s linear infinite}.zhub-feed-ticker:hover .zhub-feed-ticker-track{animation-play-state:paused}.zhub-feed-ticker a{white-space:nowrap;padding:.8rem 1.1rem;color:inherit;text-decoration:none;border-right:1px solid var(--bs-border-color)}
@keyframes zhub-ticker{to{transform:translateX(-50%)}}
@media(max-width:767.98px){.zhub-content-hero-grid{grid-template-columns:1fr}.zhub-feed-grid-masonry{columns:2 150px}.zhub-utility-announcement{border-radius:18px}}

/* Clickable detail media */
.zhub-detail-cover-button{display:block;width:100%;padding:0;border:0;background:transparent;position:relative;cursor:zoom-in;text-align:inherit}
.zhub-detail-cover-button:focus-visible{outline:3px solid color-mix(in srgb,var(--bs-primary) 65%,transparent);outline-offset:4px}
.zhub-detail-cover-hint{position:absolute;left:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border-radius:999px;background:rgba(15,23,42,.78);color:#fff;font-weight:700;font-size:.8rem;backdrop-filter:blur(10px);box-shadow:0 .5rem 1.2rem rgba(0,0,0,.18)}
.zhub-rich-content img[data-zhub-preview-ready="1"]{cursor:zoom-in;transition:transform .16s ease,filter .16s ease}.zhub-rich-content img[data-zhub-preview-ready="1"]:hover{transform:translateY(-2px);filter:brightness(.96)}
.zhub-media-preview-modal .modal-content{background:rgba(10,15,27,.96);border:0;border-radius:22px;overflow:hidden}.zhub-media-preview-modal .modal-header{border:0;color:#fff}.zhub-media-preview-modal .modal-body{padding:.5rem 1rem 1.25rem;display:grid;place-items:center}.zhub-media-preview-modal img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:14px}.zhub-media-preview-modal .btn-close{filter:invert(1)}
.zhub-image-banner-widget{min-height:180px}.zhub-image-banner-link{display:block;color:inherit;text-decoration:none}.zhub-image-banner-body{position:relative;min-height:180px;display:flex;align-items:flex-end;overflow:hidden}.zhub-image-banner-body img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.zhub-image-banner-body:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(15,23,42,.78))}.zhub-image-banner-body>span{position:relative;z-index:1;display:grid;gap:.2rem;padding:1.25rem;color:#fff}.zhub-image-banner-body small{text-transform:uppercase;font-weight:800;letter-spacing:.08em}.zhub-image-banner-body strong{font-size:clamp(1.2rem,2.5vw,2rem)}.zhub-image-banner-body em{font-style:normal;opacity:.86}
.zhub-button-group-widget{display:flex;flex-wrap:wrap;gap:.65rem}.zhub-social-link-widget{display:flex;flex-wrap:wrap;gap:.75rem}.zhub-social-link-widget a{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem .9rem;border-radius:16px;border:1px solid var(--bs-border-color);color:inherit;text-decoration:none}.zhub-social-link-widget a:hover{color:var(--bs-primary);border-color:var(--bs-primary);transform:translateY(-2px)}
.zhub-tag-cloud-widget{display:flex;flex-wrap:wrap;gap:.55rem}.zhub-tag-cloud-widget a{padding:.45rem .75rem;border-radius:999px;background:color-mix(in srgb,var(--bs-primary) 10%,var(--bs-body-bg));color:var(--bs-primary);text-decoration:none;font-weight:700;font-size:.84rem}.zhub-tag-cloud-widget a:hover{background:var(--bs-primary);color:#fff}
.zhub-info-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem}.zhub-info-card{display:flex;gap:.8rem;align-items:flex-start;padding:1rem;border-radius:18px;border:1px solid var(--bs-border-color);color:inherit;text-decoration:none}.zhub-info-card>i{font-size:1.3rem;color:var(--bs-primary)}.zhub-info-card span{display:grid;gap:.25rem}.zhub-info-card small{color:var(--bs-secondary-color)}.zhub-info-card:hover{border-color:var(--bs-primary);box-shadow:0 .65rem 1.4rem rgba(15,23,42,.08)}
.zhub-quote-widget{border-left:5px solid var(--bs-primary)}.zhub-quote-widget .zhub-utility-widget-inner{position:relative;padding-left:4rem}.zhub-quote-widget .fa-quote-left{position:absolute;left:1.35rem;top:1.5rem;font-size:1.7rem;color:var(--bs-primary)}.zhub-quote-widget blockquote{font-size:clamp(1.05rem,2vw,1.4rem);font-weight:700;margin:0}.zhub-quote-widget figcaption{margin-top:.75rem;color:var(--bs-secondary-color)}
.zhub-gallery-preview-button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;border-radius:1rem;overflow:hidden;cursor:zoom-in}.zhub-gallery-preview-button img{display:block;width:100%;transition:transform .2s ease,filter .2s ease}.zhub-gallery-preview-button>span{position:absolute;right:.65rem;bottom:.65rem;width:2.1rem;height:2.1rem;border-radius:50%;display:grid;place-items:center;background:rgba(15,23,42,.76);color:#fff;backdrop-filter:blur(8px);opacity:0;transform:translateY(5px);transition:.18s ease}.zhub-gallery-preview-button:hover img{transform:scale(1.025);filter:brightness(.93)}.zhub-gallery-preview-button:hover>span,.zhub-gallery-preview-button:focus-visible>span{opacity:1;transform:none}.zhub-gallery-preview-button:focus-visible{outline:3px solid color-mix(in srgb,var(--bs-primary) 65%,transparent);outline-offset:3px}

@media(max-width:767.98px){.zhub-layout-widget-host>.zhub-layout-widget{grid-column:1/-1}}

/* Homepage has its own widget sidebar, so the global public shell must not reserve an empty right-rail column. */
@media(min-width:992px){.zhub-public-shell-grid.zhub-public-shell-grid-wide{grid-template-columns:minmax(0,1fr)!important}}

/* B263 compact per-page widget tabs */
.zhub-widget-page-panel{position:sticky;top:.75rem;z-index:20;background:color-mix(in srgb,var(--bs-body-bg) 94%,transparent);backdrop-filter:blur(14px)}
.zhub-widget-page-tabs,.zhub-widget-zone-tabs{scrollbar-width:thin;gap:.35rem;padding-bottom:.25rem}
.zhub-widget-page-tabs .nav-link{display:inline-flex;align-items:center;gap:.42rem;white-space:nowrap;border:1px solid var(--bs-border-color);border-radius:999px;padding:.5rem .78rem;color:var(--bs-body-color);font-size:.82rem;font-weight:700}
.zhub-widget-page-tabs .nav-link:hover{border-color:var(--bs-primary);color:var(--bs-primary)}
.zhub-widget-page-tabs .nav-link.active{border-color:var(--bs-primary);box-shadow:0 .35rem 1rem color-mix(in srgb,var(--bs-primary) 18%,transparent)}
.zhub-widget-zone-tabs .nav-link{white-space:nowrap;font-size:.78rem;padding:.35rem .65rem;color:var(--bs-secondary-color)}
.zhub-widget-zone-tabs .nav-link.active{font-weight:800;color:var(--bs-primary)}
@media(max-width:767.98px){.zhub-widget-page-panel{position:static}.zhub-widget-page-tabs .nav-link span{max-width:125px;overflow:hidden;text-overflow:ellipsis}}
