/* =====================================================================
   Ischler Türsicherung — blog.css (tz-blog__)  ·  tokens from main.css
   ===================================================================== */

/* Hero */
.tz-blog__hero{background:var(--tz-light);padding:56px 0 54px;border-bottom:1px solid var(--tz-line)}
.tz-blog__crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:14px;color:var(--tz-text);margin-bottom:26px}
.tz-blog__crumbs a{color:var(--tz-accent);font-weight:600}
.tz-blog__crumbs a:hover,.tz-blog__crumbs a:focus-visible{color:var(--tz-accent-deep);text-decoration:underline}
.tz-blog__crumbs-sep{opacity:.5}
.tz-blog__title{font-size:clamp(30px,4.4vw,52px);line-height:1.12;color:var(--tz-ink);margin:0 0 18px;max-width:880px}
.tz-blog__title span{color:var(--tz-accent)}
.tz-blog__lead{max-width:780px;margin:0;color:var(--tz-text);font-size:clamp(15px,1.5vw,18px);line-height:1.7}

/* Main */
.tz-blog__main{padding:64px 0 88px;background:#fff}

/* Grid and cards */
.tz-blog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.tz-blog__grid > *{min-width:0}
.tz-blog__card{background:#fff;border:1px solid var(--tz-line);border-radius:var(--radius-3);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.tz-blog__card:hover,.tz-blog__card:focus-within{transform:translateY(-6px);box-shadow:var(--shadow-2);border-color:var(--tz-accent-soft)}
.tz-blog__card-link{display:flex;flex-direction:column;height:100%;color:inherit}
.tz-blog__card-link:hover{color:inherit}
.tz-blog__card-media{aspect-ratio:3/2;overflow:hidden;background:var(--tz-light)}
.tz-blog__card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tz-blog__card:hover .tz-blog__card-media img{transform:scale(1.05)}
.tz-blog__card-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex-grow:1}
.tz-blog__card-date{font-family:var(--font-family-1);font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--tz-accent);margin-bottom:10px}
.tz-blog__card-title{font-size:20px;line-height:1.3;color:var(--tz-ink);margin:0 0 10px}
.tz-blog__card-excerpt{color:var(--tz-text);font-size:15px;line-height:1.6;margin:0 0 16px;flex-grow:1}
.tz-blog__card-more{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-family-1);font-weight:700;font-size:14.5px;color:var(--tz-accent);margin-top:auto;transition:color .25s ease}
.tz-blog__card-more img{width:14px;height:14px;transition:transform .2s ease}
.tz-blog__card:hover .tz-blog__card-more,.tz-blog__card-link:focus-visible .tz-blog__card-more{color:var(--tz-accent-deep)}
.tz-blog__card:hover .tz-blog__card-more img{transform:translateX(4px)}

/* Empty state */
.tz-blog__empty{max-width:640px;margin:0 auto;padding:52px 32px;text-align:center;background:var(--tz-light);border-radius:var(--radius-3);border:1px solid var(--tz-line)}
.tz-blog__empty > img{margin:0 auto 18px;width:40px;height:40px}
.tz-blog__empty-title{font-size:clamp(22px,2.6vw,28px);color:var(--tz-ink);margin:0 0 12px}
.tz-blog__empty-text{color:var(--tz-text);line-height:1.7;margin:0 0 24px}
.tz-blog__empty-links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* Pagination */
.tz-blog__pag{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:52px;flex-wrap:wrap}
.tz-blog__pag-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:var(--radius-pill);background:#fff;border:2px solid var(--tz-line);font-family:var(--font-family-1);font-weight:700;font-size:14px;color:var(--tz-ink);cursor:pointer;transition:border-color .25s ease,color .25s ease,background .25s ease}
.tz-blog__pag-btn:hover,.tz-blog__pag-btn:focus-visible{border-color:var(--tz-accent);background:var(--tz-accent);color:#fff}
.tz-blog__pag-btn img{width:16px;height:16px;transition:filter .25s ease}
.tz-blog__pag-btn:hover img,.tz-blog__pag-btn:focus-visible img{filter:brightness(0) invert(1)}
.tz-blog__pag-btn--prev img{transform:rotate(180deg)}
.tz-blog__pag-nums{display:flex;align-items:center;gap:6px}
.tz-blog__pag-num{display:grid;place-items:center;min-width:44px;height:44px;padding:0 6px;border-radius:50%;background:#fff;border:2px solid var(--tz-line);font-family:var(--font-family-1);font-weight:700;color:var(--tz-ink);cursor:pointer;transition:border-color .25s ease,color .25s ease,background .25s ease}
.tz-blog__pag-num:hover,.tz-blog__pag-num:focus-visible{border-color:var(--tz-accent);color:var(--tz-accent)}
.tz-blog__pag-num--active{background:var(--tz-accent);color:#fff;border-color:var(--tz-accent)}
.tz-blog__pag-num--active:hover{color:#fff}
.tz-blog__pag-dots{color:var(--tz-text);padding:0 4px}

/* CTA — light strip, the footer below is dark */
.tz-blog__cta{margin-top:72px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding:44px 48px;background:var(--tz-light);border:2px solid var(--tz-accent);border-radius:var(--radius-3);box-shadow:10px 10px 0 var(--tz-accent-soft)}
.tz-blog__cta > *{min-width:0}
.tz-blog__cta-title{font-size:clamp(23px,2.6vw,32px);color:var(--tz-ink);margin:0 0 12px}
.tz-blog__cta-copy{color:var(--tz-text);font-size:16px;line-height:1.7;margin:0;max-width:640px}
.tz-blog__cta-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.tz-blog__cta-phone{white-space:nowrap}

/* Responsive */
@media (max-width:1200px){
  .tz-blog__grid{gap:22px}
  .tz-blog__cta{padding:38px 36px}
}
@media (max-width:1024px){
  .tz-blog__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tz-blog__main{padding:52px 0 72px}
  .tz-blog__cta{grid-template-columns:1fr}
  .tz-blog__cta-actions{flex-direction:row;flex-wrap:wrap}
}
@media (max-width:768px){
  .tz-blog__hero{padding:40px 0 38px}
  .tz-blog__crumbs{margin-bottom:20px}
  .tz-blog__cta{padding:32px 24px;margin-top:56px;box-shadow:6px 6px 0 var(--tz-accent-soft)}
  .tz-blog__empty{padding:40px 22px}
}
@media (max-width:480px){
  .tz-blog__grid{grid-template-columns:1fr;gap:18px}
  .tz-blog__card-body{padding:18px 18px 20px}
  .tz-blog__card-title{font-size:18px}
  .tz-blog__pag-btn span{display:none}
  .tz-blog__pag-btn{padding:10px 14px}
  .tz-blog__cta-actions{flex-direction:column}
  .tz-blog__cta-actions .tz-btn{width:100%}
  .tz-blog__cta-phone{white-space:normal}
}
@media (max-width:375px){
  .tz-blog__title{font-size:28px}
  .tz-blog__cta{padding:26px 18px}
  .tz-blog__pag-num{min-width:40px;height:40px}
}
