/* ===== Improntae Collage Blog — v1.0.0 ===== */
.impbl{ --impbl-ink:#16120E; --impbl-acc:#16A6E0; }

/* ---- filtri ---- */
.impbl-filters{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:0 0 26px;
}
.impbl-filters button{
  font-family:'Space Mono',monospace; font-size:12px; font-weight:700; letter-spacing:.02em;
  background:#fff; color:var(--impbl-ink);
  border:2px solid var(--impbl-ink); border-radius:30px;
  padding:9px 16px; cursor:pointer;
  box-shadow:3px 3px 0 var(--impbl-ink);
  transition:transform .15s, box-shadow .15s, background .15s, color .15s;
}
.impbl-filters button:hover,
.impbl-filters button:focus-visible{
  transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--impbl-ink);
}
.impbl-filters button.on{ background:var(--impbl-ink); color:#fff; }
.impbl-filters button[data-f]:not([data-f="*"]).on{
  background:var(--impbl-c, var(--impbl-ink));
}

/* ---- card ---- */
.impbl-item{
  display:flex; flex-direction:column;
  background:#fff;
  border:2px solid var(--impbl-ink);
  border-radius:16px;
  box-shadow:6px 6px 0 var(--impbl-ink);
  overflow:hidden;
  text-decoration:none; color:inherit;
  transition:transform .2s, box-shadow .2s, opacity .25s;
}
.impbl-item:hover,
.impbl-item:focus-visible{
  transform:translate(-4px,-4px); box-shadow:10px 10px 0 var(--impbl-ink);
}
.impbl-item.impbl-hide{ display:none; }

.impbl-ph{
  position:relative; display:block;
  background:var(--impbl-c,#16A6E0);
  border-bottom:2px solid var(--impbl-ink);
  min-height:60px;
}
.impbl-ph img{ display:block; width:100%; height:100%; object-fit:cover; }
.impbl-noimg{
  display:flex; align-items:center; justify-content:center;
  height:170px; font-size:34px; color:rgba(255,255,255,.85);
}
.impbl-tag{
  position:absolute; bottom:10px; left:10px;
  font-family:'Space Mono',monospace; font-size:9.5px; font-weight:700;
  text-transform:uppercase; letter-spacing:.05em;
  background:var(--impbl-ink); color:#fff;
  padding:5px 10px; border-radius:20px;
}

.impbl-body{ display:flex; flex-direction:column; flex:1; padding:16px 18px 18px; }
.impbl-meta{
  font-family:'Space Mono',monospace; font-size:11px; color:#8A7F6D; margin-bottom:6px;
}
.impbl-title{
  font-family:'Fraunces',serif; font-weight:700; font-size:18px; line-height:1.18;
  letter-spacing:-.01em; color:var(--impbl-ink); margin:0;
}
.impbl-excerpt{
  font-family:'Archivo',sans-serif; font-size:14px; line-height:1.55;
  color:#3A332A; margin-top:10px; flex:1;
}
.impbl-go{
  font-family:'Space Mono',monospace; font-weight:700; font-size:12px;
  color:var(--impbl-acc); margin-top:14px;
}

/* ---- articolo in evidenza ---- */
.impbl-featured{
  display:grid; grid-template-columns:1.05fr .95fr;
  margin-bottom:26px; box-shadow:8px 8px 0 var(--impbl-ink);
}
.impbl-featured:hover{ box-shadow:12px 12px 0 var(--impbl-ink); }
.impbl-featured .impbl-ph{
  border-bottom:0; border-right:2px solid var(--impbl-ink); min-height:280px;
}
.impbl-featured .impbl-body{ padding:30px 32px; justify-content:center; }
.impbl-featured .impbl-title{ font-size:30px; line-height:1.08; }

/* ---- griglia ---- */
.impbl-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

/* ---- paginazione ---- */
.impbl-pag{ display:flex; justify-content:center; gap:8px; margin-top:30px; }
.impbl-pag .page-numbers{
  font-family:'Space Mono',monospace; font-size:13px; font-weight:700;
  display:inline-flex; align-items:center; justify-content:center;
  min-width:38px; height:38px; padding:0 10px;
  background:#fff; color:var(--impbl-ink); text-decoration:none;
  border:2px solid var(--impbl-ink); border-radius:30px;
  box-shadow:3px 3px 0 var(--impbl-ink);
  transition:transform .15s, box-shadow .15s;
}
.impbl-pag .page-numbers:hover{ transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--impbl-ink); }
.impbl-pag .page-numbers.current{ background:var(--impbl-ink); color:#fff; }

.impbl-empty{
  font-family:'Space Mono',monospace; font-size:13px; color:#8A7F6D;
  text-align:center; padding:30px 0;
}

/* ---- responsive ---- */
@media(max-width:1024px){
  .impbl-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
  .impbl-featured{ grid-template-columns:1fr; }
  .impbl-featured .impbl-ph{ border-right:0; border-bottom:2px solid var(--impbl-ink); min-height:200px; }
  .impbl-featured .impbl-body{ padding:22px; }
  .impbl-featured .impbl-title{ font-size:24px; }
}
@media(max-width:640px){
  .impbl-grid{ grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce){
  .impbl-item, .impbl-filters button, .impbl-pag .page-numbers{ transition:none; }
  .impbl-item:hover{ transform:none; }
}

/* ===== TL;DR ===== */
.impbl-tldr{
  background:var(--impbl-bg,#FFDE59);
  border:2px solid var(--impbl-ink,#16120E);
  border-radius:16px;
  box-shadow:6px 6px 0 var(--impbl-ink,#16120E);
  padding:22px 24px;
  margin:0 0 30px;
}
.impbl-tldr-k{
  display:block;
  font-family:'Space Mono',monospace; font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em;
  color:#5a5142; margin-bottom:8px;
}
.impbl-tldr p{
  font-family:'Archivo',sans-serif; font-size:16px; font-weight:500; line-height:1.55;
  color:var(--impbl-ink,#16120E); margin:0;
}

/* ===== FAQ ===== */
.impbl-faq-title{
  font-family:'Fraunces',serif; font-weight:700; font-size:29px;
  letter-spacing:-.02em; color:var(--impbl-ink,#16120E); margin:0 0 16px;
}
.impbl-faq details{
  border:2px solid var(--impbl-ink,#16120E);
  border-radius:12px;
  background:#fff;
  box-shadow:4px 4px 0 var(--impbl-ink,#16120E);
  margin-bottom:10px;
  overflow:hidden;
  transition:border-radius .2s ease;
}
.impbl-faq summary{
  cursor:pointer; list-style:none;
  padding:15px 18px;
  font-family:'Fraunces',serif; font-weight:600; font-size:17px;
  color:var(--impbl-ink,#16120E);
  display:flex; justify-content:space-between; align-items:center; gap:12px;
}
.impbl-faq summary::-webkit-details-marker{ display:none; }
.impbl-faq details[open] summary{
  background:var(--impbl-acc,#16A6E0);
  color:#fff;
  border-bottom:2px solid var(--impbl-ink,#16120E);
}
.impbl-pm{
  font-family:'Space Mono',monospace; font-weight:700; flex:none;
  color:var(--impbl-acc,#16A6E0);
  transition:transform .2s ease;
}
.impbl-faq details[open] .impbl-pm{ transform:rotate(45deg); color:#fff; }
.impbl-a{
  padding:16px 18px;
  font-family:'Archivo',sans-serif; font-size:15px; line-height:1.6;
  color:#3A332A;
}

/* ===== META ARTICOLO ===== */
.impbl-postmeta{ text-align:center; }
.impbl-cat{
  display:inline-block;
  font-family:'Space Mono',monospace; font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:.06em;
  color:#fff; background:var(--impbl-c,#16A6E0);
  border:2px solid var(--impbl-ink,#16120E);
  border-radius:20px;
  padding:5px 13px;
  box-shadow:3px 3px 0 var(--impbl-ink,#16120E);
  margin-bottom:14px;
}
.impbl-pm-row{
  display:block;
  font-family:'Space Mono',monospace; font-size:12px;
  color:#6f6657;
}
