/* ============================================================
   Aufsperrdienst Linz — blog.css
   Ratgeber index. Loads after main.css and reuses its tokens.
   Prefix: alb-
   ============================================================ */

/* ---------- hero: continues the black header band ---------- */
.alb-hero{background:var(--ink);padding:54px 0 64px}
.alb-hero__in{width:min(var(--wrap),100% - var(--gut) * 2);margin-inline:auto;max-width:900px}
.alb-crumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:30px;
  font-family:var(--fm);font-size:var(--t-label);color:var(--on-dark-2);
}
.alb-crumb a{color:var(--on-dark-2)}
.alb-crumb a:hover{text-decoration:underline;color:var(--on-dark)}
.alb-hero .al-label{margin-bottom:14px}
.alb-hero__title{
  color:var(--on-dark);font-size:var(--t-h1);line-height:1;
  letter-spacing:-.02em;margin-bottom:20px;
}
.alb-hero__lead{color:var(--on-dark-2);font-size:var(--t-lead2);max-width:66ch}

/* ---------- list ---------- */
.alb-main{padding:var(--pad) 0}
.alb-main__in{width:min(var(--wrap),100% - var(--gut) * 2);margin-inline:auto}
.alb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.alb-card{min-width:0;background:var(--tile)}
.alb-card__link{display:flex;flex-direction:column;height:100%}
.alb-card__media{aspect-ratio:3/2;background:var(--line);overflow:hidden}
.alb-card__media > img{width:100%;height:100%;object-fit:cover}
.alb-card__body{display:flex;flex-direction:column;flex:1;padding:25px 24px 27px}
.alb-card__date{
  font-family:var(--fm);font-size:var(--t-label);letter-spacing:.04em;
  color:var(--ink-3);margin-bottom:13px;
}
.alb-card__title{font-size:var(--t-lead2);line-height:1.3;margin-bottom:11px;color:var(--ink)}
.alb-card__excerpt{color:var(--ink-3);margin-bottom:20px;font-size:var(--t-body)}
.alb-card__more{
  margin-top:auto;align-self:flex-start;padding-bottom:2px;
  font-family:var(--fm);font-size:var(--t-label);letter-spacing:.04em;
  color:var(--ink);border-bottom:1px solid var(--ink);
}
.alb-card__link:hover .alb-card__title{text-decoration:underline}

/* ---------- pagination ---------- */
.alb-pag{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:var(--gap);margin-top:52px;
}
.alb-pag__btn{
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid var(--line);padding:11px 20px;
  font-size:var(--t-body);color:var(--ink);
}
.alb-pag__btn:hover{border-color:var(--ink)}
.alb-pag__btn--prev img{transform:rotate(180deg)}
.alb-pag__nums{display:flex;flex-wrap:wrap;gap:var(--gap)}
.alb-pag__num{
  display:grid;place-items:center;min-width:44px;height:44px;padding:0 12px;
  border:1px solid var(--line);font-family:var(--fm);font-size:var(--t-body);color:var(--ink);
}
.alb-pag__num:hover{border-color:var(--ink)}
/* active state after the base rule so it wins */
.alb-pag__num--on{background:var(--ink);border-color:var(--ink);color:var(--on-dark)}
.alb-pag__dots{
  display:grid;place-items:center;min-width:32px;height:44px;
  font-family:var(--fm);color:var(--ink-3);
}

/* ---------- cta ---------- */
.alb-cta{
  margin-top:var(--pad);background:var(--ink);padding:52px 45px;
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:35px;align-items:center;
}
.alb-cta__body h2{color:var(--on-dark);font-size:var(--t-h2);margin-bottom:14px}
.alb-cta__body p{color:var(--on-dark-2);max-width:60ch}
.alb-cta__actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.alb-cta__link{
  color:var(--on-dark-2);font-size:var(--t-body);
  border-bottom:1px solid var(--line-d);padding-bottom:2px;
}
.alb-cta__link:hover{color:var(--on-dark);border-bottom-color:var(--on-dark)}

/* ---------- responsive ---------- */
@media (max-width:1200px){
  .alb-hero{padding:48px 0 56px}
}
@media (max-width:1024px){
  .alb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .alb-cta{grid-template-columns:minmax(0,1fr);gap:27px;padding:40px 32px}
}
@media (max-width:768px){
  .alb-hero{padding:40px 0 44px}
  .alb-cta{padding:32px 24px}
}
@media (max-width:480px){
  .alb-grid{grid-template-columns:minmax(0,1fr)}
  .alb-pag__btn span{display:none}
  .alb-pag__btn{padding:11px 14px}
}
