.nika-hub-page { position: relative; }
.nika-hub-eyebrow {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 1rem;
  color: var(--nika-clay);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.nika-hub-eyebrow::before { content:""; width:2.5rem; height:1px; background:currentColor; }
.nika-hub-page > h1 { max-width: 980px !important; font-size: clamp(3rem,6.4vw,6rem) !important; line-height:.98 !important; }
.nika-hub-page > .nika-catalog-lead { max-width: 760px; font-size: 1rem; }
.nika-hub-stats {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  max-width: 760px;
  margin: 0 0 2.5rem;
  border-top: 1px solid rgba(16,16,15,.14);
  border-bottom: 1px solid rgba(16,16,15,.14);
}
.nika-hub-stat { padding: 1.15rem 1.25rem 1.15rem 0; }
.nika-hub-stat + .nika-hub-stat { padding-left: 1.25rem; border-left: 1px solid rgba(16,16,15,.12); }
.nika-hub-stat strong { display:block; margin-bottom:.2rem; font-family:Prata,serif; font-size:1.8rem; font-weight:400; }
.nika-hub-stat span { color:rgba(16,16,15,.5); font-size:.64rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

/* A category with children is a navigation hub, not a product listing. */
.section-d_shop_cat:has(> .section-d__children) > .settings-d,
.section-d_shop_cat:has(> .section-d__children) > .section-d__list,
.section-d_shop_cat:has(> .section-d__children) > .category-d_main,
.section-d_shop_cat:has(> .section-d__children) > .prevnext-d { display:none !important; }
.section-d_shop_cat > .section-d__children {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
}
.nika-hub-card {
  position:relative;
  isolation:isolate;
  min-height:320px;
  overflow:hidden;
  display:flex !important;
  align-items:flex-end;
  padding:clamp(1.5rem,3vw,2.35rem) !important;
  border:0 !important;
  background:#292925;
  color:#fff !important;
  text-decoration:none !important;
  box-shadow:0 14px 35px rgba(16,16,15,.08);
  transition:transform .35s ease,box-shadow .35s ease;
}
.nika-hub-card::before {
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.78)),
    repeating-linear-gradient(112deg,rgba(255,255,255,.065) 0 1px,transparent 1px 17px),
    radial-gradient(circle at 70% 18%,#8c8981,#2d2d2a 66%);
  transition:transform .65s ease,filter .65s ease;
}
.nika-hub-card[data-tone="warm"]::before { background:linear-gradient(180deg,transparent,rgba(0,0,0,.78)),repeating-radial-gradient(circle at 70% 20%,rgba(255,255,255,.07) 0 1px,transparent 1px 15px),radial-gradient(circle at 75% 18%,#927560,#302923 68%); }
.nika-hub-card[data-tone="olive"]::before { background:linear-gradient(180deg,transparent,rgba(0,0,0,.8)),repeating-linear-gradient(108deg,rgba(255,255,255,.055) 0 1px,transparent 1px 22px),radial-gradient(circle at 72% 18%,#74766c,#272925 68%); }
.nika-hub-card[data-tone="dark"]::before { background:linear-gradient(180deg,transparent,rgba(0,0,0,.82)),repeating-radial-gradient(circle at 68% 20%,rgba(75,117,126,.24) 0 2px,transparent 3px 28px),radial-gradient(circle at 72% 18%,#586161,#171918 68%); }
.nika-hub-card::after {
  content:attr(data-index);
  position:absolute;
  top:1.4rem;
  right:1.5rem;
  color:rgba(255,255,255,.55);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.16em;
}
.nika-hub-card:hover { transform:translateY(-6px); box-shadow:0 28px 60px rgba(16,16,15,.2); }
.nika-hub-card:hover::before { transform:scale(1.045); filter:brightness(1.08); }
.nika-hub-card .category-d__details { position:relative; z-index:1; width:100%; }
.nika-hub-card .category-d__name { max-width:85%; color:#fff; font-family:Prata,serif; font-size:clamp(1.55rem,2.5vw,2.25rem); line-height:1.15; }
.nika-category-meta { display:flex; align-items:center; gap:.65rem; margin-bottom:.9rem; color:var(--nika-sand); font-size:.6rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.nika-category-description { max-width:32rem; margin:.85rem 0 0 !important; color:rgba(255,255,255,.62); font-size:.78rem; line-height:1.6 !important; }
.nika-category-arrow { position:absolute; right:0; bottom:0; display:grid; width:2.6rem; height:2.6rem; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; color:#fff; font-size:1rem; transition:background .2s,color .2s; }
.nika-hub-card:hover .nika-category-arrow { background:var(--nika-sand); color:var(--nika-ink); }

.section-d_shop_home > .category-d_main .nika-category-description { max-width:38rem; }
.section-d_shop_home > .category-d_main .nika-category-arrow { right:clamp(1.6rem,4vw,3rem); bottom:clamp(1.6rem,4vw,3rem); }
.section-d_shop_home > .category-d_main .category-d__details { width:100%; }

.nika-hub-cta {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:2rem;
  margin-top:1.5rem;
  padding:clamp(1.6rem,4vw,3rem);
  background:var(--nika-ink);
  color:#fff;
}
.nika-hub-cta::after { content:"N"; position:absolute; right:18%; bottom:-4rem; color:rgba(255,255,255,.035); font-family:Prata,serif; font-size:12rem; line-height:1; }
.nika-hub-cta__copy { position:relative; z-index:1; }
.nika-hub-cta strong { display:block; margin-bottom:.55rem; font-family:Prata,serif; font-size:clamp(1.45rem,3vw,2.35rem); font-weight:400; }
.nika-hub-cta p { margin:0 !important; color:rgba(255,255,255,.56); font-size:.82rem; }
.nika-hub-cta a { position:relative; z-index:1; display:inline-flex; align-items:center; gap:.75rem; padding:1rem 1.25rem; background:var(--nika-sand); color:var(--nika-ink) !important; font-size:.67rem; font-weight:800; letter-spacing:.14em; text-decoration:none !important; text-transform:uppercase; }

@media(max-width:767px) {
  .nika-hub-page > h1 { font-size:clamp(2.65rem,13vw,4rem) !important; }
  .nika-hub-stats { grid-template-columns:1fr; }
  .nika-hub-stat,.nika-hub-stat + .nika-hub-stat { padding:.85rem 0; border-left:0; }
  .nika-hub-stat + .nika-hub-stat { border-top:1px solid rgba(16,16,15,.1); }
  .section-d_shop_cat > .section-d__children { grid-template-columns:1fr; }
  .nika-hub-card { min-height:250px; }
  .nika-hub-cta { grid-template-columns:1fr; }
  .nika-hub-cta a { justify-self:start; }
}
