.shz-cathub-lock{overflow:hidden!important;overscroll-behavior:none!important;}
body:has(.shz-cathub-page){overflow:hidden!important;overscroll-behavior:none!important;}
/*
 * SHAHAZ.com — Category Hub page (DIS-006)
 * Final two-column browsing architecture:
 * - left category rail spans the full available viewport between header/nav;
 * - right side owns the category banner, 40px selected-category bar and
 *   independently scrolling product grid (own cards);
 * - the document/body itself does not become the page scroller;
 * - no blue focus/tap treatment is used.
 */
.shz-cathub-page{
  width:100%;
  height:var(--shz-cathub-viewport-height,calc(100dvh - var(--shahaz-mobile-nav-height,64px)));
  min-height:0;
  overflow:hidden;
  background:#fff;
}

.shz-cathub-content{
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
  background:#fff;
}

.shz-cathub-columns{
  display:grid;
  grid-template-columns:minmax(112px,32%) minmax(0,68%);
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
  background:#fff;
}

/* --------------------------------------------------------------------------
 * LEFT CATEGORY RAIL — full height, independent vertical scrolling.
 * ----------------------------------------------------------------------- */
.shz-cathub-sidebar{
  min-width:0;
  min-height:0;
  height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  padding:4px 3px calc(10px + 0px);
  border-right:1px solid #f0d7e5;
  background:#fff;
  scrollbar-width:none;
  overscroll-behavior:contain;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
  contain:strict;
}
.shz-cathub-sidebar::-webkit-scrollbar{width:0;height:0}

.shz-cathub-cat-item{
  width:100%;
  min-height:50px;
  margin:0 0 4px;
  padding:4px 5px;
  display:flex;
  align-items:center;
  gap:7px;
  box-sizing:border-box;
  background:#fff;
  border:1.5px solid transparent;
  border-radius:11px;
  text-align:left;
  cursor:pointer;
  font-family:inherit;
  color:#25202a;
  -webkit-tap-highlight-color:transparent;
  outline:none!important;
  box-shadow:none!important;
  transition:background .18s ease,border-color .18s ease,transform .16s ease;
}
.shz-cathub-cat-item:focus,
.shz-cathub-cat-item:focus-visible{
  outline:none!important;
  box-shadow:none!important;
}
.shz-cathub-cat-item:active{transform:scale(.985)}

/* Approved active state: strong pink border + solid light-pink frame;
 * deliberately no shadow and no blue browser tap/focus colour. */
.shz-cathub-cat-item.is-active{
  background:#fff0f8;
  border-color:#e90079;
  border-width:2px;
  box-shadow:none!important;
}

.shz-cathub-cat-icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:11px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(145deg,#fff,#f3d9e9);
  border:1px solid #e4b6d0;
  box-shadow:none;
}
.shz-cathub-cat-icon img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block}
.shz-cathub-cat-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  font-size:13px;
  line-height:1.15;
  font-weight:700;
  color:#28232b;
}
.shz-cathub-cat-item.is-active .shz-cathub-cat-name{color:#9d075f;font-weight:800}

/* --------------------------------------------------------------------------
 * RIGHT COLUMN — banner + exactly 40px selected-category bar +
 * independently scrolling product grid.
 * ----------------------------------------------------------------------- */
.shz-cathub-product-column{
  min-width:0;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
}

.shz-cathub-banner,
.shz-cathub-banner-slider{
  position:relative;
  flex:0 0 auto;
  width:100%;
  /* ZIP-253: 40% lower than before (was min(30vh, 68vw/1.9), 130–290px). */
  height:min(18vh,calc((100vw * .68) / 3.167));
  min-height:78px;
  max-height:174px;
  overflow:hidden;
  background:#fff;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.shz-cathub-banner-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .35s ease;
  pointer-events:none;
}
.shz-cathub-banner-slide.is-active{opacity:1;visibility:visible}
.shz-cathub-banner-slide img{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover;
  display:block!important;
  border:0!important;
  vertical-align:top!important;
}

.shz-cathub-product-header{
  position:relative;
  flex:0 0 40px;
  height:40px;
  min-height:40px;
  width:100%;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 8px;
  overflow:hidden;
  text-align:center;
  background:linear-gradient(180deg,rgba(255,246,251,.98),rgba(255,224,241,.94));
  border:1px solid rgba(235,0,121,.20);
  border-top:0;
  border-radius:0 0 10px 10px; /* square top (meets the banner), slightly rounded bottom */
  color:#8e075b;
  box-shadow:none;
}
.shz-cathub-product-title{
  min-width:0;
  max-width:calc(100% - 72px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:15px;
  line-height:1;
  font-weight:900;
  color:#5d1547;
}
.shz-cathub-product-count{
  flex:0 0 auto;
  white-space:nowrap;
  font-size:10px;
  line-height:1;
  color:#7b6c75;
}

.shz-cathub-product-area{
  flex:1 1 auto;
  min-width:0;
  min-height:0;
  height:auto;
  max-height:none;
  overflow-y:auto;
  overflow-x:hidden;
  padding:5px 5px calc(78px + 0px);
  background:#fff;
  overscroll-behavior:contain;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#ef9fc5 #fff7fb;
}
.shz-cathub-product-area::-webkit-scrollbar{width:4px}
.shz-cathub-product-area::-webkit-scrollbar-thumb{background:#ef9fc5;border-radius:8px}
.shz-cathub-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  min-width:0;
  min-height:0;
  align-content:start;
  align-items:start;
}
.shz-cathub-grid > .shz-cathub-empty{grid-column:1/-1}

/* --------------------------------------------------------------------------
 * PRODUCT CARD (ZIP-319, owner reference): white card, the picture inside with a small frame,
 * a bare magenta heart (no circle behind it) and only the price under the picture — big and bold.
 * Same look as the homepage category tiles.
 * ----------------------------------------------------------------------- */
.shz-cathub-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:5px;
  border:1px solid #f6d3e4;
  border-radius:14px;
  background:#fff;
  box-shadow:none;
}
.shz-cathub-card__media{
  position:relative;
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:10px;
  background:#faf4f7;
  -webkit-tap-highlight-color:transparent;
}
.shz-cathub-card__media img{display:block;width:100%!important;height:100%!important;object-fit:cover}
/* ZIP-323: heart position/size only — look + states = shared contract in shahaz-card-feedback.css. */
.shz-cathub-card > .shahaz-p-wishlist{
  position:absolute;top:8px;right:8px;z-index:7;
  display:grid;place-items:center;
  width:28px;height:28px;margin:0;padding:0;
  filter:none;
}
.shz-cathub-card > .shahaz-p-wishlist svg{width:24px;height:24px;display:block}
.shz-cathub-card > .shahaz-p-wishlist svg path{stroke-width:2.2}
.shz-cathub-card__price{
  display:block;
  padding:6px 2px 3px;
  color:#e0157a;
  font-size:17px;font-weight:800;line-height:1.1;letter-spacing:-.01em;
  text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
.shz-cathub-empty{
  min-height:180px;
  margin:10px 6px;
  padding:28px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  text-align:center;
  border:1px dashed #efbfd6;
  border-radius:14px;
  background:linear-gradient(180deg,#fffafd,#fff4f9);
  color:#866878;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
}

@media (min-width:700px){
  .shz-cathub-columns{grid-template-columns:220px minmax(0,1fr)}
  .shz-cathub-banner,.shz-cathub-banner-slider{height:132px}
  .shz-cathub-cat-item{min-height:56px}
  .shz-cathub-cat-icon{width:44px;height:44px;flex-basis:44px}
  .shz-cathub-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .shz-cathub-card__price{font-size:18px}
}
@media (min-width:1100px){
  .shz-cathub-columns{grid-template-columns:220px minmax(0,1fr)}
  .shz-cathub-banner,.shz-cathub-banner-slider{height:156px}
  .shz-cathub-product-area{padding-left:8px;padding-right:8px}
  .shz-cathub-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
}

@media (max-width:520px){
  .shz-cathub-columns{grid-template-columns:32% minmax(0,68%)}
  .shz-cathub-cat-item{min-height:50px;margin-bottom:4px;padding:4px 4px;gap:6px}
  .shz-cathub-cat-icon{width:38px;height:38px;flex-basis:38px;border-radius:10px}
  .shz-cathub-cat-name{font-size:12px}
  .shz-cathub-banner,.shz-cathub-banner-slider{
    height:calc((68vw) / 3.167);
    min-height:78px;
    max-height:150px;
  }
  .shz-cathub-product-title{font-size:14px}
  .shz-cathub-product-count{font-size:9px}
  .shz-cathub-product-area{padding:4px 4px calc(76px + 0px)}
}

@media (max-width:360px){
  .shz-cathub-columns{grid-template-columns:33% minmax(0,67%)}
  .shz-cathub-cat-icon{width:34px;height:34px;flex-basis:34px}
  .shz-cathub-cat-name{font-size:11px}
}

/* ZIP-46 finishing: this hub is a fixed browsing viewport; the marketing footer must not render behind the floating mobile nav. */
body:has(.shz-cathub-page) .shahaz-footer,
body:has(.shz-cathub-page) #shahaz-footer,
body:has(.shz-cathub-page) footer.shahaz-footer{display:none!important;border:0!important;}
body:has(.shz-cathub-page) .shz-cathub-page,
body:has(.shz-cathub-page) .shz-cathub-content,
body:has(.shz-cathub-page) .shz-cathub-columns,
body:has(.shz-cathub-page) .shz-cathub-sidebar,
body:has(.shz-cathub-page) .shz-cathub-product-column{border-top:0!important;border-bottom:0!important;}
/* Category rail touch feedback: never allow the browser/Astra blue tap/focus wash. */
.shz-cathub-cat-item,
.shz-cathub-cat-item *{ -webkit-tap-highlight-color:transparent!important; tap-highlight-color:transparent!important; }
.shz-cathub-cat-item:focus,
.shz-cathub-cat-item:focus-visible,
.shz-cathub-cat-item:active{outline:none!important;box-shadow:none!important;}
