/* Pegboard Icons — front-end styles. Scoped under .pbi- to avoid theme clashes. */
.pbi-wrap{
  --pbi-bg:#1C2027; --pbi-bg-soft:#242A33; --pbi-paper:#F3EEE1; --pbi-ink:#211E1A;
  --pbi-ink-soft:#6b6759; --pbi-amber:#F4B93E; --pbi-teal:#2AA198;
  max-width:1180px; margin:0 auto; padding:32px 20px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.pbi-wrap *{box-sizing:border-box;}

.pbi-controls{display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-bottom:24px;}
.pbi-search-input{
  min-width:220px; background:var(--pbi-bg-soft); border:1px solid rgba(0,0,0,0.1); border-radius:12px;
  padding:11px 16px; font-size:14px; color:#fff;
}
.pbi-chips{display:flex; gap:8px; flex-wrap:wrap;}
.pbi-chip{
  font-size:13px; font-weight:600; padding:8px 14px; border-radius:999px;
  background:#eee; border:1px solid rgba(0,0,0,0.08); color:#555; cursor:pointer;
}
.pbi-chip.active, .pbi-chip:hover{background:var(--pbi-amber); color:#211E1A; border-color:var(--pbi-amber);}

.pbi-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:16px;}
.pbi-empty{color:#888; padding:30px 0;}

.pbi-loadmore-wrap{display:flex; justify-content:center; margin-top:26px;}
.pbi-loadmore-btn{
  background:var(--pbi-bg-soft); color:#fff; border:1px solid rgba(0,0,0,0.1); border-radius:999px;
  padding:11px 26px; font-size:13.5px; font-weight:600; cursor:pointer;
}
.pbi-loadmore-btn:hover{background:var(--pbi-amber); color:#211E1A;}
.pbi-loadmore-spinner{font-size:13px; color:#888;}

.pbi-card{
  position:relative; background:var(--pbi-paper); border-radius:16px; padding:16px 14px 14px;
  overflow:hidden; box-shadow:0 6px 0 rgba(0,0,0,0.12); text-align:center;
}
.pbi-card .pbi-tile{display:block; margin-bottom:10px;}
.pbi-card .pbi-tile img{width:100%; height:auto; aspect-ratio:1; object-fit:contain; border-radius:12px;}
.pbi-card .pbi-name a{font-size:13.5px; font-weight:600; color:var(--pbi-ink); text-decoration:none;}
.pbi-card .pbi-name a:hover{color:var(--pbi-teal);}
.pbi-card .pbi-cat{font-size:11px; color:var(--pbi-ink-soft); text-transform:uppercase; letter-spacing:0.04em; margin-top:2px;}
.pbi-badge{
  position:absolute; top:12px; right:10px; z-index:2; background:var(--pbi-teal); color:#0d1b19;
  font-size:10px; font-weight:700; padding:3px 8px; border-radius:999px;
}
.pbi-peel{
  position:absolute; inset:0; background:var(--pbi-ink); border-radius:16px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px;
  opacity:0; pointer-events:none; transition:opacity .18s ease; padding:12px;
}
.pbi-card:hover .pbi-peel, .pbi-card:focus-within .pbi-peel, .pbi-card.pbi-active .pbi-peel{opacity:1; pointer-events:auto;}
.pbi-no-results{grid-column:1/-1; text-align:center; color:#888; padding:24px 0;}
.pbi-size-btn{
  width:100%; max-width:150px; background:var(--pbi-bg-soft); color:#fff; text-decoration:none;
  border:1px solid rgba(255,255,255,0.14); border-radius:9px; padding:7px 10px;
  font-size:12.5px; font-weight:600; display:flex; justify-content:space-between; gap:8px;
}
.pbi-size-btn:hover{background:var(--pbi-amber); color:#211E1A;}
.pbi-dim{font-size:11px; opacity:.8;}

/* Packs */
.pbi-packs{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; margin:20px 0 40px;}
.pbi-pack-card{background:var(--pbi-bg-soft); color:#fff; border-radius:16px; padding:22px; position:relative;}
.pbi-pack-count{position:absolute; top:20px; right:20px; font-size:11px; opacity:.7;}
.pbi-pack-card h3{margin:6px 0; font-size:19px;}
.pbi-pack-card p{font-size:13px; opacity:.8; margin-bottom:16px;}
.pbi-pack-btn{
  display:block; text-align:center; border:1.5px solid var(--pbi-amber); color:var(--pbi-amber);
  text-decoration:none; padding:10px; border-radius:10px; font-weight:600; font-size:13.5px;
}
.pbi-pack-btn:hover{background:var(--pbi-amber); color:#211E1A;}

/* Sponsors */
.pbi-sponsor-note{font-size:11px; text-transform:uppercase; letter-spacing:0.05em; color:#999; margin:10px 0;}
.pbi-sponsor-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px;}
.pbi-sponsor-card{border:1.5px dashed rgba(244,185,62,0.5); border-radius:14px; padding:18px;}
.pbi-sponsor-tag{font-size:10px; font-weight:700; background:rgba(244,185,62,0.15); color:#b8862b; padding:3px 8px; border-radius:999px;}
.pbi-sponsor-card h4{margin:8px 0 4px;}
.pbi-sponsor-card a{font-size:13px; font-weight:600; text-decoration:none;}
.pbi-banner-slot{margin-top:18px; border:1.5px dashed #ccc; border-radius:14px; padding:20px; text-align:center;}
.pbi-disclosure{font-size:12px; color:#888; margin-top:16px; max-width:80ch;}

/* Single icon page */
.pbi-breadcrumb{font-size:13px; color:#888; margin-bottom:20px;}
.pbi-breadcrumb a{color:inherit; text-decoration:none;}
.pbi-breadcrumb a:hover{text-decoration:underline;}
.pbi-single-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; margin-bottom:40px;}
.pbi-single-preview{background:var(--pbi-paper); border-radius:20px; padding:40px;}
.pbi-single-preview img{width:100%; height:auto;}
.pbi-single-cat{color:#888; text-transform:uppercase; font-size:12px; letter-spacing:0.05em; margin-bottom:14px;}
.pbi-single-sub{font-size:16px; margin:22px 0 10px;}
.pbi-single-sizes{display:flex; flex-direction:column; gap:8px; max-width:280px;}
.pbi-size-btn-lg{background:var(--pbi-bg-soft); color:#fff; justify-content:space-between;}
.pbi-related-title{font-size:20px; margin:10px 0 16px;}
.pbi-archive-head{padding-top:10px;}

@media (max-width:700px){
  .pbi-single-grid{grid-template-columns:1fr;}
}

/* ---------- Homepage template ---------- */
.pbi-home{--pbi-bg:#1C2027; --pbi-bg-soft:#242A33; --pbi-amber:#F4B93E; --pbi-teal:#2AA198; --pbi-paper:#F3EEE1;}

.pbi-hero{background:var(--pbi-bg); color:#fff; padding:70px 0 50px;}
.pbi-hero-inner{text-align:center; max-width:720px;}
.pbi-eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-size:12.5px; letter-spacing:0.06em;
  color:var(--pbi-teal); text-transform:uppercase; margin-bottom:16px;
}
.pbi-eyebrow::before{content:''; width:7px; height:7px; border-radius:50%; background:var(--pbi-teal); display:inline-block;}
.pbi-hero h1{font-size:clamp(28px,4.5vw,44px); line-height:1.1; margin-bottom:16px; letter-spacing:-0.01em;}
.pbi-hero-lead{color:#cfcabd; font-size:16px; margin-bottom:28px;}
.pbi-hero-search{display:flex; gap:10px; max-width:480px; margin:0 auto 20px;}
.pbi-hero-search input{
  flex:1; padding:13px 16px; border-radius:12px; border:1px solid rgba(255,255,255,0.15);
  background:var(--pbi-bg-soft); color:#fff; font-size:14.5px;
}
.pbi-hero-search input::placeholder{color:#8b90a0;}
.pbi-hero-search button{
  background:var(--pbi-amber); color:#211E1A; border:none; border-radius:12px; padding:0 22px;
  font-weight:700; font-size:14px; cursor:pointer;
}
.pbi-hero-cats{display:flex; gap:10px; flex-wrap:wrap; justify-content:center;}
.pbi-hero-cats a{
  font-size:13px; font-weight:600; color:#dcd8cb; text-decoration:none; padding:7px 14px;
  border:1px solid rgba(255,255,255,0.15); border-radius:999px;
}
.pbi-hero-cats a:hover{border-color:var(--pbi-amber); color:var(--pbi-amber);}

.pbi-how{background:var(--pbi-bg-soft); padding:36px 0;}
.pbi-how-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.pbi-how-step{color:#fff; text-align:center;}
.pbi-how-step span{
  display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px;
  border-radius:50%; background:var(--pbi-amber); color:#211E1A; font-weight:700; font-size:13px; margin-bottom:10px;
}
.pbi-how-step h3{font-size:15.5px; margin-bottom:4px;}
.pbi-how-step p{font-size:13px; color:#a9a496;}

.pbi-cat-section{padding:50px 0 10px;}
.pbi-cat-section h2{font-size:24px; margin-bottom:20px;}
.pbi-cat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:16px;}
.pbi-cat-card{
  display:block; text-decoration:none; background:var(--pbi-paper); border-radius:16px; padding:16px;
  text-align:center; box-shadow:0 6px 0 rgba(0,0,0,0.08); transition:transform .15s ease;
}
.pbi-cat-card:hover{transform:translateY(-3px);}
.pbi-cat-thumb{width:100%; aspect-ratio:1; margin-bottom:10px;}
.pbi-cat-thumb img{width:100%; height:100%; object-fit:contain;}
.pbi-cat-name{font-weight:700; color:#211E1A; font-size:14.5px;}
.pbi-cat-count{font-size:12px; color:#8a8677;}

.pbi-gallery-section{padding-top:44px;}
.pbi-gallery-head{padding-bottom:0;}
.pbi-gallery-head h2{font-size:24px; margin-bottom:6px;}
.pbi-gallery-head p{color:#888; font-size:14px; margin-bottom:20px;}

.pbi-packs-section{background:var(--pbi-bg-soft); padding:50px 0; margin-top:20px;}
.pbi-packs-section h2{color:#fff; font-size:24px; margin-bottom:6px;}
.pbi-packs-section > .pbi-wrap:first-child p{color:#a9a496; margin-bottom:0;}

.pbi-sponsor-section{padding:50px 0;}

/* Loose core blocks (paragraph, heading, image, list, buttons, group) dropped
   directly onto the page between Pegboard blocks — give them the same
   readable column width instead of stretching edge-to-edge. */
.pbi-home > p, .pbi-home > h1, .pbi-home > h2, .pbi-home > h3, .pbi-home > h4,
.pbi-home > ul, .pbi-home > ol, .pbi-home > figure, .pbi-home > .wp-block-image,
.pbi-home > .wp-block-buttons, .pbi-home > .wp-block-group, .pbi-home > .wp-block-columns{
  max-width:820px; margin-left:auto; margin-right:auto; padding:0 20px;
}
.pbi-home > p{margin-top:0; margin-bottom:20px; line-height:1.65; color:#3a362d;}
.pbi-home > h1, .pbi-home > h2, .pbi-home > h3, .pbi-home > h4{margin:36px auto 14px;}
.pbi-home > figure, .pbi-home > .wp-block-image{margin-top:24px; margin-bottom:24px;}
.pbi-home > .wp-block-image img{border-radius:14px;}
.pbi-home .wp-block-button__link{background:var(--pbi-amber); color:#211E1A; border-radius:10px; font-weight:700;}

@media (max-width:700px){
  .pbi-how-grid{grid-template-columns:1fr;}
  .pbi-hero-search{flex-direction:column;}
}
