/* ========================================
   Slab Hub (/project/slab/)
   Scope: .cyp-slab-hub
   ======================================== */

.cyp-slab-hub,
.cyp-slab-hub * { box-sizing: border-box; }

body.tax-project_type.term-slab .sidebar-primary,
body.tax-project_type.term-slab .widget-area,
body.tax-project_type.term-bag .sidebar-primary,
body.tax-project_type.term-bag .widget-area {
  display: none;
}

body.tax-project_type.term-slab.content-sidebar #site-content .customify-grid,
body.tax-project_type.term-bag.content-sidebar #site-content .customify-grid {
  display: block;
}

body.tax-project_type.term-slab.content-sidebar #site-content .content-area,
body.tax-project_type.term-bag.content-sidebar #site-content .content-area {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  border-right: 0;
  padding-right: 0;
}

body.tax-project_type.term-slab,
body.tax-project_type.term-bag {
  overflow-x: clip;
}

.cyp-slab-hub{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;
  color:#111827;
  line-height:1.7;
}

.cyp-slab-hub .cyp-container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 20px 60px;
}

.cyp-hero-band{
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background:
    radial-gradient(circle at top left, rgba(0,102,204,0.14), transparent 35%),
    linear-gradient(135deg, rgba(0,102,204,0.08), rgba(0,102,204,0.02));
  border-top: 1px solid rgba(0,0,0,0.05);
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

.cyp-hero-band .cyp-container{
  padding-top: 28px;
  padding-bottom: 34px;
}

.cyp-breadcrumbs{
  display:flex;
  align-items:center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  color:#4b5563;
  font-size: .92rem;
  font-weight: 700;
}

.cyp-breadcrumbs a{
  color:#0066cc;
  text-decoration:none;
}

.cyp-breadcrumbs a:hover{
  text-decoration: underline;
}

.cyp-breadcrumb-sep{
  color:#9ca3af;
}

@media (max-width: 768px){
  .cyp-slab-hub .cyp-container{ padding: 18px 16px 50px; }
  .cyp-hero-band .cyp-container{ padding-top: 22px; padding-bottom: 26px; }
}

/* Reuse hero styles (same class names) */
.cyp-hero{
  display:grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 24px;
  padding: 26px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  background: rgba(255,255,255,0.78);
  backdrop-filter: blur(3px);
}
@media (max-width: 980px){
  .cyp-hero{ grid-template-columns: 1fr; }
}
.cyp-title{ margin:0 0 10px 0; font-size: 2.1rem; line-height:1.15; }
.cyp-subtitle{ margin:0 0 18px 0; color:#4b5563; font-size:1.05rem; }

.cyp-hero-actions{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 10px;
}
@media (max-width: 768px){
  .cyp-hero-actions{ flex-direction: column; }
}

.cyp-hero-meta{
  margin-top: 14px;
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}
.cyp-pill{
  display:inline-flex;
  gap: 8px;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.10);
  background:#fff;
  color:#374151;
  font-size: .92rem;
}

.cyp-hero-card{
  background:#fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  padding: 16px;
}
.cyp-hero-card-title{ font-weight: 900; margin-bottom: 10px; }

.cyp-link{
  display:block;
  padding: 10px 10px;
  border-radius: 10px;
  text-decoration:none;
  color:#0066cc;
  border: 1px solid rgba(0,102,204,0.18);
  background: rgba(0,102,204,0.04);
  margin-bottom: 10px;
}
.cyp-link:hover{ background: rgba(0,102,204,0.08); }

/* Buttons */
.cyp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 46px;
  padding: 12px 22px;
  border-radius: 12px;
  font-weight: 900;
  text-decoration: none;
  border: 2px solid transparent;
  line-height: 1.1;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}
.cyp-btn:hover{ transform: translateY(-1px); }
.cyp-btn-primary{
  background:#0066cc; color:#fff; border-color:#0066cc;
  box-shadow: 0 8px 20px rgba(0,102,204,0.18);
}
.cyp-btn-primary:hover{ background:#004499; border-color:#004499; }
.cyp-btn-secondary{
  background:#fff; color:#111827; border-color: rgba(0,0,0,0.18);
}
.cyp-btn-secondary:hover{ background:#f3f4f6; }

.cyp-btn-small{
  min-height: 40px;
  padding: 10px 16px;
  border-radius: 10px;
  font-weight: 900;
}

@media (max-width: 768px){
  .cyp-btn{ width: 100%; }
}

/* Filters */
.cyp-filters{
  margin: 26px 0 30px 0;
  padding: 18px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  background:#fff;
}

.cyp-filter-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
@media (max-width: 980px){
  .cyp-filter-row{ grid-template-columns: 1fr; }
}

.cyp-filter-label{
  font-weight: 900;
  margin-bottom: 8px;
  color:#111827;
  font-size: .95rem;
}

.cyp-chips{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

.cyp-chip{
  display:inline-flex;
  align-items:center;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.12);
  text-decoration:none;
  font-weight: 800;
  color:#111827;
  background:#fff;
}
.cyp-chip:hover{ background:#f3f4f6; }
.cyp-chip.is-active{
  border-color: rgba(0,102,204,0.35);
  background: rgba(0,102,204,0.07);
  color:#004499;
}

/* Search */
.cyp-search{
  margin-top: 16px;
  display:grid;
  gap: 10px;
}
.cyp-search-label{ font-weight: 900; font-size: .95rem; color:#111827; }
.cyp-search-box{
  display:flex;
  gap: 10px;
}
.cyp-search-box input{
  flex: 1;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.18);
}
.cyp-search-box button{
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 12px;
  border: 2px solid #0066cc;
  background:#0066cc;
  color:#fff;
  font-weight: 900;
  cursor:pointer;
}
.cyp-search-box button:hover{ background:#004499; border-color:#004499; }

@media (max-width: 768px){
  .cyp-search-box{ flex-direction: column; }
}

.cyp-clear{
  width: fit-content;
  color:#0066cc;
  text-decoration:none;
  font-weight: 900;
}
.cyp-clear:hover{ text-decoration: underline; }

/* Section head */
.cyp-section{ margin: 18px 0 0; }
.cyp-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.cyp-h2{ margin:0 0 18px 0; font-size: 1.6rem; }
.cyp-section-head .cyp-h2{ margin:0; }
.cyp-count{ color:#6b7280; font-weight: 800; }

.cyp-section-intro{ margin-top: 26px; }

.cyp-prose-grid{
  display:grid;
  grid-template-columns: 1.35fr .95fr;
  gap: 18px;
}

.cyp-prose-card{
  background:#fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  padding: 20px;
}

.cyp-prose-card p{
  margin: 0 0 14px 0;
  color:#4b5563;
}

.cyp-prose-card p:last-child{ margin-bottom: 0; }

.cyp-prose-card-accent{
  background: linear-gradient(135deg, rgba(0,102,204,0.06), rgba(0,102,204,0.02));
}

.cyp-bullets{
  margin: 0;
  padding-left: 20px;
}

.cyp-bullets li{
  margin-bottom: 10px;
  color:#374151;
}

@media (max-width: 980px){
  .cyp-prose-grid{ grid-template-columns: 1fr; }
}

/* Grid cards */
.cyp-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 980px){
  .cyp-grid{ grid-template-columns: 1fr; }
}

.cyp-card{
  background:#fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  padding: 16px;
}

.cyp-card-thumb{
  display:block;
  margin: -16px -16px 14px -16px;
  overflow:hidden;
  border-radius: 14px 14px 0 0;
  background:#f3f4f6;
}

.cyp-card-thumb img{
  display:block;
  width:100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.cyp-card-thumb-placeholder{
  display:grid;
  place-items:center;
  min-height: 188px;
  background:
    linear-gradient(135deg, rgba(0,102,204,0.08), rgba(17,24,39,0.04)),
    #f3f4f6;
  color:#4b5563;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: .76rem;
}

.cyp-card-thumb-placeholder span{
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.78);
}

.cyp-card-badge-wrap{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.cyp-card-badge{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,102,204,0.08);
  border: 1px solid rgba(0,102,204,0.16);
  color:#004499;
  font-size: .8rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.cyp-card-title{
  margin: 0 0 10px 0;
  font-size: 1.1rem;
}
.cyp-card-title a{
  color:#111827;
  text-decoration:none;
}
.cyp-card-title a:hover{ text-decoration: underline; }

.cyp-card-meta{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  color:#4b5563;
  font-size: .93rem;
  margin-bottom: 10px;
}
.cyp-card-desc{
  margin: 0 0 12px 0;
  color:#4b5563;
  font-size: .95rem;
}

.cyp-card-actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Pagination */
.cyp-pagination{
  margin-top: 22px;
  display:flex;
  justify-content:center;
}
.cyp-pagination .page-numbers{
  display:inline-flex;
  padding: 8px 12px;
  margin: 0 4px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.12);
  text-decoration:none;
  font-weight: 900;
  color:#111827;
  background:#fff;
}
.cyp-pagination .page-numbers.current{
  border-color: rgba(0,102,204,0.35);
  background: rgba(0,102,204,0.07);
  color:#004499;
}

.cyp-empty{
  padding: 18px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  background:#fff;
}

.cyp-faq-list{
  display:grid;
  gap: 12px;
}

.cyp-faq-item{
  background:#fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  padding: 16px 18px;
}

.cyp-faq-item summary{
  cursor:pointer;
  font-weight: 800;
  color:#111827;
}

.cyp-faq-item p{
  margin: 12px 0 0 0;
  color:#4b5563;
}

.cyp-footer-note{
  margin-top: 44px;
  padding-top: 22px;
  border-top: 1px solid rgba(0,0,0,0.10);
  color:#6b7280;
  font-size:.92rem;
}


/* Popular sizes block */
.cyp-popular{
  margin: 18px 0 18px 0;
  padding: 18px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  background: #fff;
}

.cyp-popular-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.cyp-popular-title{
  margin: 0;
  font-size: 1.15rem;
  font-weight: 900;
}

.cyp-popular-sub{
  margin: 0;
  color: #6b7280;
  font-size: .95rem;
}

@media (max-width: 768px){
  .cyp-popular-head{ flex-direction: column; align-items: flex-start; }
}

.cyp-popular-chips{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}



/* Remove theme Titlebar H1 on /project/slab/ (tax project_type = slab) */
body.tax-project_type.term-slab h1.titlebar-title,
body.tax-project_type.term-bag h1.titlebar-title{
  display: none !important;
}

body.tax-project_type.term-slab .titlebar,
body.tax-project_type.term-slab .customify-page-titlebar,
body.tax-project_type.term-slab .page-titlebar,
body.tax-project_type.term-slab h1.titlebar-title,
body.tax-project_type.term-bag .titlebar,
body.tax-project_type.term-bag .customify-page-titlebar,
body.tax-project_type.term-bag .page-titlebar,
body.tax-project_type.term-bag h1.titlebar-title{
  display: none !important;
}