/* =====================================================================
   Inn Rohrreinigung 24 — blog.css (ir-blog__*) · uses tokens from main.css
   ===================================================================== */

/* Hero */
.ir-blog__hero{position:relative;overflow:hidden;overflow:clip;padding:54px 0 60px;background-color:var(--ir-navy);background-image:radial-gradient(circle at 8% 20%,rgba(11,163,250,.22),transparent 42%),radial-gradient(circle at 96% 100%,rgba(2,77,135,.8),transparent 52%)}
.ir-blog__hero > .ir-wrap{position:relative;z-index:1}
.ir-blog__crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:30px;font-size:14px;line-height:1.3;color:var(--color-text-6)}
.ir-blog__crumbs a{color:#fff;font-weight:700;transition:color .25s var(--ir-ease-ui)}
.ir-blog__crumbs a:hover,.ir-blog__crumbs a:focus-visible{color:var(--ir-sky);text-decoration:underline}
.ir-blog__crumbs-sep{opacity:.6}
.ir-blog__hero-body{max-width:820px}
.ir-blog__kicker{display:inline-block;position:relative;padding-left:34px;font-weight:700;font-size:15px;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:var(--ir-sky)}
.ir-blog__kicker::before{content:"";position:absolute;left:0;top:50%;width:24px;height:2px;margin-top:-1px;background:currentColor}
.ir-blog__h1{margin:14px 0 0;font-size:clamp(32px,4.6vw,56px);line-height:1.12;font-weight:700;color:#fff}
.ir-blog__h1 span{color:var(--ir-sky)}
.ir-blog__h1::after{content:"";display:block;width:70px;height:4px;border-radius:2px;background:var(--ir-red);margin-top:20px}
.ir-blog__lead{margin:22px 0 0;max-width:700px;font-family:var(--ir-head-font);font-size:clamp(16px,1.5vw,18px);line-height:1.67;color:var(--color-text-6)}
.ir-blog__quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.ir-blog__quick a{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border:1px solid var(--color-border-5);border-radius:var(--radius-1);font-size:14px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#fff;transition:background-color .25s var(--ir-ease-ui),color .25s var(--ir-ease-ui),border-color .25s var(--ir-ease-ui)}
.ir-blog__quick a:hover,.ir-blog__quick a:focus-visible{background:#fff;color:var(--ir-navy);border-color:#fff}

/* Main */
.ir-blog__main{padding:80px 0 96px;background:#fff}
.ir-blog__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.ir-blog__list > *{min-width:0}

/* Card */
.ir-blog__item{display:flex;flex-direction:column;background:var(--ir-gray);border-radius:var(--radius-1);overflow:hidden;transition:transform .3s var(--ir-ease-ui),box-shadow .3s var(--ir-ease-ui)}
.ir-blog__item:hover,.ir-blog__item:focus-within{transform:translateY(-4px);box-shadow:var(--shadow-1)}
.ir-blog__link{display:flex;flex-direction:column;flex:1;min-width:0}
.ir-blog__link:focus-visible{outline:3px solid var(--ir-sky);outline-offset:-3px}
.ir-blog__pic{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--ir-navy)}
.ir-blog__pic > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ir-ease)}
.ir-blog__item:hover .ir-blog__pic > img,.ir-blog__link:focus-visible .ir-blog__pic > img{transform:scale(1.05)}
.ir-blog__stamp{position:absolute;right:0;bottom:0;max-width:90%;padding:9px 16px;background:var(--ir-red);color:#fff;font-size:13px;font-weight:700;line-height:1.2;letter-spacing:.04em;text-transform:uppercase}
.ir-blog__txt{flex:1;display:flex;flex-direction:column;padding:24px 20px 26px}
.ir-blog__name{font-size:21px;line-height:1.3;font-weight:700;color:var(--ir-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.ir-blog__excerpt{margin:10px 0 20px;font-size:15px;line-height:1.6;color:var(--ir-text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ir-blog__go{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:auto;padding:0 22px;border-radius:var(--radius-1);background:var(--ir-deep);color:#fff;font-size:14px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;transition:background-color .25s var(--ir-ease-ui),transform .25s var(--ir-ease-ui)}
.ir-blog__go img{width:14px;height:14px;flex-shrink:0}
.ir-blog__item:hover .ir-blog__go,.ir-blog__link:focus-visible .ir-blog__go{background:var(--ir-sky);transform:translateY(-2px)}

/* Empty state */
.ir-blog__empty{max-width:640px;margin:0 auto;padding:56px 32px;text-align:center;background:var(--ir-gray);border-radius:var(--radius-1);border:2px dashed var(--ir-line)}
.ir-blog__empty > img{margin:0 auto 18px}
.ir-blog__empty h2{font-size:clamp(22px,2.6vw,30px);color:var(--ir-ink)}
.ir-blog__empty p{margin:14px auto 0;max-width:480px;font-size:16px;line-height:1.65;color:var(--ir-text)}
.ir-blog__empty-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}

/* Pagination */
.ir-blog__pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:52px}
.ir-blog__pbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border:1px solid var(--ir-line);border-radius:var(--radius-1);background:#fff;font-size:14px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ir-navy);cursor:pointer;transition:background-color .25s var(--ir-ease-ui),border-color .25s var(--ir-ease-ui),transform .25s var(--ir-ease-ui)}
.ir-blog__pbtn img{width:16px;height:16px;flex-shrink:0}
.ir-blog__pbtn:hover,.ir-blog__pbtn:focus-visible{background:var(--ir-gray);border-color:var(--ir-sky);transform:translateY(-2px)}
.ir-blog__pnums{display:flex;align-items:center;gap:6px}
.ir-blog__pnum{display:grid;place-items:center;min-width:44px;height:44px;padding:0 6px;border:1px solid var(--ir-line);border-radius:var(--radius-1);background:#fff;font-family:var(--ir-head-font);font-weight:700;color:var(--ir-navy);cursor:pointer;transition:background-color .25s var(--ir-ease-ui),color .25s var(--ir-ease-ui),border-color .25s var(--ir-ease-ui)}
.ir-blog__pnum:hover,.ir-blog__pnum:focus-visible{border-color:var(--ir-sky);background:var(--ir-gray);color:var(--ir-deep)}
.ir-blog__pnum--on,.ir-blog__pnum--on:hover{background:var(--ir-deep);border-color:var(--ir-deep);color:#fff;cursor:default}
.ir-blog__dots{padding:0 4px;color:var(--color-text-muted)}

/* CTA — light panel */
.ir-blog__cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;margin-top:72px;padding:40px 44px;background:var(--ir-gray);border-left:5px solid var(--ir-red);border-radius:var(--radius-1)}
.ir-blog__cta > *{min-width:0}
.ir-blog__cta h2{font-size:clamp(24px,2.8vw,32px);color:var(--ir-ink)}
.ir-blog__cta p{margin-top:12px;max-width:640px;font-size:16px;line-height:1.65;color:var(--ir-text)}
.ir-blog__cta-actions{display:flex;flex-direction:column;gap:12px}
.ir-blog__cta-actions .ir-btn{width:100%;white-space:nowrap}

/* Responsive */
@media (max-width:1200px){
  .ir-blog__list{gap:22px}
  .ir-blog__name{font-size:20px}
}
@media (max-width:1024px){
  .ir-blog__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ir-blog__main{padding:64px 0 76px}
  .ir-blog__cta{grid-template-columns:1fr;padding:34px 32px}
  .ir-blog__cta-actions{flex-direction:row;flex-wrap:wrap}
  .ir-blog__cta-actions .ir-btn{width:auto}
}
@media (max-width:768px){
  .ir-blog__hero{padding:40px 0 44px}
  .ir-blog__crumbs{margin-bottom:22px}
  .ir-blog__list{gap:18px}
  .ir-blog__main{padding:52px 0 64px}
  .ir-blog__cta{margin-top:56px}
}
@media (max-width:480px){
  .ir-blog__list{grid-template-columns:1fr}
  .ir-blog__quick a{min-height:38px;padding:0 14px;font-size:13px}
  .ir-blog__txt{padding:22px 16px 24px}
  .ir-blog__name{font-size:19px}
  .ir-blog__pbtn span{display:none}
  .ir-blog__pbtn{padding:0 14px}
  .ir-blog__empty{padding:40px 18px}
  .ir-blog__cta{padding:28px 18px;text-align:center}
  .ir-blog__cta p{margin-left:auto;margin-right:auto}
  .ir-blog__cta-actions{flex-direction:column}
  .ir-blog__cta-actions .ir-btn{width:100%;white-space:normal}
}
@media (max-width:375px){
  .ir-blog__name{font-size:18px}
  .ir-blog__stamp{font-size:12px;padding:8px 12px}
  .ir-blog__pnum{min-width:40px;height:40px}
}
