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

/* Hero */
.ir-rev__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-rev__hero > .ir-wrap{position:relative;z-index:1}
.ir-rev__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-rev__crumbs a{color:#fff;font-weight:700}
.ir-rev__crumbs a:hover,.ir-rev__crumbs a:focus-visible{color:var(--ir-sky);text-decoration:underline}
.ir-rev__crumbs-sep{opacity:.6}
.ir-rev__hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:50px;align-items:end}
.ir-rev__hero-grid > *{min-width:0}
.ir-rev__hero-body{max-width:760px}
.ir-rev__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-rev__kicker::before{content:"";position:absolute;left:0;top:50%;width:24px;height:2px;margin-top:-1px;background:currentColor}
.ir-rev__h1{margin:14px 0 0;font-size:clamp(32px,4.4vw,54px);line-height:1.12;font-weight:700;color:#fff}
.ir-rev__h1 span{color:var(--ir-sky)}
.ir-rev__h1::after{content:"";display:block;width:70px;height:4px;border-radius:2px;background:var(--ir-red);margin-top:20px}
.ir-rev__lead{margin:22px 0 0;max-width:680px;font-family:var(--ir-head-font);font-size:clamp(16px,1.5vw,18px);line-height:1.67;color:var(--color-text-6)}

/* Rating summary */
.ir-rev__score{padding:26px 28px;border:1px solid var(--color-border-4);border-radius:var(--radius-1);background:rgba(255,255,255,.06)}
.ir-rev__score-top{padding-bottom:20px;border-bottom:1px solid var(--color-border-4)}
.ir-rev__score-stars{display:block;font-size:26px;line-height:1;letter-spacing:4px;color:var(--ir-sky)}
.ir-rev__score-txt{margin:10px 0 0;font-size:16px;line-height:1.4;color:var(--color-text-6)}
.ir-rev__score-txt strong{font-family:var(--ir-head-font);font-size:28px;color:#fff}
.ir-rev__stats{display:flex;gap:34px;margin-top:20px;flex-wrap:wrap}
.ir-rev__stat{display:flex;flex-direction:column}
.ir-rev__stat-value{font-family:var(--ir-head-font);font-weight:800;font-size:30px;line-height:1;color:#fff}
.ir-rev__stat-label{margin-top:6px;font-size:14px;color:var(--color-text-6)}

/* Main list */
.ir-rev__main{padding:80px 0 96px;background:var(--ir-gray)}
.ir-rev__head{margin-bottom:40px}
.ir-rev__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.ir-rev__grid > *{min-width:0}
.ir-rev__card{display:flex;flex-direction:column;padding:28px 26px 30px;background:#fff;border-top:4px solid var(--ir-sky);border-radius:var(--radius-1);box-shadow:0 8px 24px rgba(0,0,0,.06);transition:transform .3s var(--ir-ease-ui),box-shadow .3s var(--ir-ease-ui),border-color .3s var(--ir-ease-ui)}
.ir-rev__card:hover{transform:translateY(-4px);box-shadow:var(--shadow-1);border-top-color:var(--ir-red)}
.ir-rev__card-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.ir-rev__avatar{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--ir-deep);color:#fff}
.ir-rev__avatar span{font-family:var(--ir-head-font);font-weight:800;font-size:19px;line-height:1}
.ir-rev__who{min-width:0}
.ir-rev__name{font-size:18px;line-height:1.25;color:var(--ir-ink);overflow-wrap:anywhere}
.ir-rev__rating{margin-top:3px;font-size:15px;letter-spacing:2px;color:var(--ir-sky-d)}
.ir-rev__service{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;max-width:100%;margin-bottom:14px;padding:6px 12px;border-radius:var(--radius-1);background:var(--ir-gray);font-size:13px;font-weight:700;line-height:1.3;color:var(--ir-deep)}
.ir-rev__service img{width:14px;height:14px;flex-shrink:0}
.ir-rev__text{flex-grow:1;font-size:15px;line-height:1.7;color:var(--ir-text)}

/* Pagination */
.ir-rev__pag{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:50px}
.ir-rev__pag-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border:2px solid var(--ir-deep);border-radius:var(--radius-1);background:transparent;font-size:14px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ir-deep);cursor:pointer;transition:background-color .25s var(--ir-ease-ui),color .25s var(--ir-ease-ui)}
.ir-rev__pag-btn img{width:16px;height:16px}
.ir-rev__pag-btn:hover,.ir-rev__pag-btn:focus-visible{background:var(--ir-deep);color:#fff}
.ir-rev__pag-btn:hover img,.ir-rev__pag-btn:focus-visible img{filter:brightness(0) invert(1)}
.ir-rev__pag-nums{display:flex;align-items:center;gap:6px}
.ir-rev__pag-num{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-weight:700;color:var(--ir-ink);cursor:pointer;transition:background-color .25s var(--ir-ease-ui),color .25s var(--ir-ease-ui),border-color .25s var(--ir-ease-ui)}
.ir-rev__pag-num:hover,.ir-rev__pag-num:focus-visible{border-color:var(--ir-sky);color:var(--ir-sky-d)}
.ir-rev__pag-num--active{background:var(--ir-deep);border-color:var(--ir-deep);color:#fff;cursor:default}
.ir-rev__pag-dots{padding:0 4px;color:var(--color-text-muted)}

/* Review form */
.ir-rev__formsec{padding:96px 0;background:#fff}
.ir-rev__formgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:60px;align-items:start}
.ir-rev__formgrid > *{min-width:0}
.ir-rev__formlead{margin-top:20px;font-size:16px;line-height:1.7;color:var(--ir-text)}
.ir-rev__tips{margin-top:22px;display:grid;gap:12px}
.ir-rev__tips li{position:relative;padding-left:32px;font-size:15px;line-height:1.55;color:var(--ir-ink)}
.ir-rev__tips li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--ir-sky) url("/assets/icons/check-w.svg") center/12px 12px no-repeat}
.ir-rev__formcard{padding:36px;background:var(--ir-gray);border-top:4px solid var(--ir-red);border-radius:var(--radius-1)}
.ir-rev__form input[type=text],.ir-rev__form textarea{display:block;width:100%;padding:14px 16px;margin-bottom:4px;border:1px solid var(--ir-line);border-radius:var(--radius-1);background:#fff;color:var(--ir-ink);font-size:15px;transition:border-color .25s var(--ir-ease-ui),box-shadow .25s var(--ir-ease-ui)}
.ir-rev__form input[type=text]:focus,.ir-rev__form textarea:focus{outline:none;border-color:var(--ir-sky);box-shadow:0 0 0 3px rgba(11,163,250,.2)}
.ir-rev__form textarea{min-height:130px;resize:vertical}
.ir-rev__form input[type=text]{margin-top:12px}
.ir-rev__form textarea{margin-top:12px}
.ir-rev__form input[type=text]:first-child{margin-top:0}
.ir-rev__starlabel{display:block;margin:16px 0 4px}
.ir-rev__starcap{display:block;margin-bottom:8px;font-family:var(--ir-head-font);font-weight:700;font-size:15px;color:var(--ir-ink)}
.jqr_star-rating{display:inline-flex;gap:4px;font-size:26px;cursor:pointer}
.jqr_star-rating .fa-star,.jqr_star-rating .text-warning{color:var(--ir-sky-d)!important}
.jqr_error-message{margin-bottom:6px;font-size:13px;color:var(--ir-red)}
.ir-rev__form button,#jqr_submit{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:51px;margin-top:16px;padding:0 30px;border-radius:var(--radius-1);background:var(--ir-red);color:#fff;font-weight:700;font-size:15px;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:background-color .25s var(--ir-ease-ui),transform .25s var(--ir-ease-ui),box-shadow .25s var(--ir-ease-ui)}
.ir-rev__form button:hover,.ir-rev__form button:focus-visible,#jqr_submit:hover,#jqr_submit:focus-visible{background:var(--ir-deep);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(0,39,69,.55)}

/* CTA (light strip, footer below is dark) */
.ir-rev__ctasec{padding:0 0 96px;background:#fff}
.ir-rev__cta{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;padding:40px 44px;background:#fff;border:1px solid var(--ir-line);border-left:6px solid var(--ir-red);border-radius:var(--radius-1);box-shadow:0 8px 24px rgba(0,0,0,.06)}
.ir-rev__cta-body{flex:1 1 480px;min-width:0}
.ir-rev__cta-title{font-size:clamp(24px,2.8vw,32px);line-height:1.2;color:var(--ir-ink)}
.ir-rev__cta-text{margin-top:12px;font-size:16px;line-height:1.65;color:var(--ir-text)}
.ir-rev__cta-actions{display:flex;gap:14px;flex-wrap:wrap;flex:0 1 auto}
.ir-rev__cta-actions .ir-btn{white-space:nowrap}

/* Responsive */
@media (max-width:1200px){
  .ir-rev__hero-grid{grid-template-columns:minmax(0,1fr) 300px;gap:36px}
  .ir-rev__grid{gap:24px}
  .ir-rev__formgrid{gap:40px}
}
@media (max-width:1024px){
  .ir-rev__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ir-rev__hero-grid{grid-template-columns:minmax(0,1fr);gap:30px;align-items:start}
  .ir-rev__score{max-width:420px}
  .ir-rev__formgrid{grid-template-columns:minmax(0,1fr);gap:36px}
  .ir-rev__main{padding:70px 0 80px}
  .ir-rev__formsec{padding:80px 0}
  .ir-rev__ctasec{padding-bottom:80px}
}
@media (max-width:768px){
  .ir-rev__hero{padding:40px 0 44px}
  .ir-rev__crumbs{margin-bottom:22px}
  .ir-rev__main{padding:56px 0 64px}
  .ir-rev__head{margin-bottom:30px}
  .ir-rev__formsec{padding:60px 0}
  .ir-rev__formcard{padding:28px 22px}
  .ir-rev__ctasec{padding-bottom:60px}
  .ir-rev__cta{flex-direction:column;align-items:stretch;gap:24px;padding:30px 24px}
  .ir-rev__cta-body{flex:0 1 auto}
  .ir-rev__cta-actions{flex:0 1 auto;flex-direction:column}
  .ir-rev__cta-actions .ir-btn{width:100%}
}
@media (max-width:640px){
  .ir-rev__grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:768px){
  .ir-rev__form input[type=text],.ir-rev__form textarea{font-size:16px}
}
@media (max-width:480px){
  .ir-rev__score{max-width:none;padding:22px 20px}
  .ir-rev__card{padding:24px 20px 26px}
  .ir-rev__pag-btn span{display:none}
  .ir-rev__pag-btn{padding:0 14px}
  .ir-rev__stats{gap:26px}
  .ir-rev__cta{padding:26px 18px;border-left-width:4px}
}
@media (max-width:375px){
  .ir-rev__h1{font-size:30px}
  .ir-rev__pag-num{min-width:40px;height:40px}
  .ir-rev__formcard{padding:24px 16px}
  .ir-rev__score-stars{font-size:22px;letter-spacing:3px}
}
