/* =====================================================================
   Inn Rohrreinigung 24 — legal.css (ir-legal__*) · uses tokens from main.css
   Impressum + Datenschutz
   ===================================================================== */

/* Hero */
.ir-legal__hero{position:relative;overflow:hidden;overflow:clip;padding:54px 0 56px;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-legal__hero > .ir-wrap{position:relative;z-index:1}
.ir-legal__crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:28px;font-size:14px;line-height:1.3;color:var(--color-text-6)}
.ir-legal__crumbs a{color:#fff;font-weight:700}
.ir-legal__crumbs a:hover,.ir-legal__crumbs a:focus-visible{color:var(--ir-sky);text-decoration:underline}
.ir-legal__crumbs-sep{opacity:.6}
.ir-legal__hero-body{max-width:820px}
.ir-legal__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-legal__kicker::before{content:"";position:absolute;left:0;top:50%;width:24px;height:2px;margin-top:-1px;background:currentColor}
.ir-legal__h1{margin:14px 0 0;font-size:clamp(32px,4.4vw,52px);line-height:1.12;font-weight:700;color:#fff}
.ir-legal__h1::after{content:"";display:block;width:70px;height:4px;border-radius:2px;background:var(--ir-red);margin-top:20px}
.ir-legal__lead{margin:22px 0 0;max-width:680px;font-size:clamp(15.5px,1.5vw,17px);line-height:1.7;color:var(--color-text-6)}

/* Main */
.ir-legal__main{padding:72px 0 96px;background:#fff}
.ir-legal__content{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:48px}
.ir-legal__content > *{min-width:0}

/* Section */
.ir-legal__sec{scroll-margin-top:96px}
.ir-legal__h2{position:relative;margin-bottom:22px;padding-bottom:16px;font-size:clamp(22px,2.6vw,30px);line-height:1.2;color:var(--ir-ink)}
.ir-legal__h2::after{content:"";position:absolute;left:0;bottom:0;width:50px;height:3px;border-radius:2px;background:var(--ir-red)}

/* Cards */
.ir-legal__card{margin-bottom:18px;padding:26px 28px;background:var(--ir-gray);border-radius:var(--radius-1)}
.ir-legal__card:last-child{margin-bottom:0}
.ir-legal__h3{margin-bottom:12px;font-size:19px;line-height:1.3;color:var(--ir-ink)}
.ir-legal__body{font-size:16px;line-height:1.75;color:var(--ir-text);overflow-wrap:anywhere}
.ir-legal__body > *{min-width:0}
.ir-legal__body p{margin:0 0 12px}
.ir-legal__body p:last-child{margin-bottom:0}
.ir-legal__body strong{color:var(--ir-ink)}

/* Contact rows */
.ir-legal__contact{display:flex;flex-direction:column;gap:12px}
.ir-legal__contact-item{display:grid;grid-template-columns:130px minmax(0,1fr);gap:4px 16px;align-items:baseline}
.ir-legal__label{font-family:var(--ir-head-font);font-weight:700;color:var(--ir-ink)}
.ir-legal__value{min-width:0;color:var(--ir-text);overflow-wrap:anywhere}
a.ir-legal__value{color:var(--ir-deep);font-weight:700;border-bottom:1px solid transparent;transition:color .25s var(--ir-ease-ui),border-color .25s var(--ir-ease-ui)}
a.ir-legal__value:hover,a.ir-legal__value:focus-visible{color:var(--ir-red);border-bottom-color:currentColor;cursor:pointer}

/* Lists */
.ir-legal__list{display:flex;flex-direction:column;gap:9px;margin:12px 0 0;padding:0}
.ir-legal__list li{position:relative;padding-left:24px;font-size:15.5px;line-height:1.65;color:var(--ir-text)}
.ir-legal__list li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--ir-sky)}
.ir-legal__list--check li::before{top:4px;width:16px;height:16px;border-radius:0;background:var(--ir-deep);-webkit-mask:url("/assets/icons/check.svg") center/contain no-repeat;mask:url("/assets/icons/check.svg") center/contain no-repeat}

/* Table of contents */
.ir-legal__toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 28px;margin:0;padding:0;counter-reset:ir-toc}
.ir-legal__toc li{counter-increment:ir-toc;min-width:0}
.ir-legal__toc a{display:block;position:relative;padding:9px 0 9px 34px;border-bottom:1px solid var(--ir-line);font-weight:700;color:var(--ir-navy);line-height:1.35;overflow-wrap:anywhere}
.ir-legal__toc a::before{content:counter(ir-toc);position:absolute;left:0;top:9px;width:24px;height:24px;border-radius:var(--radius-1);background:var(--ir-deep);color:#fff;font-size:13px;line-height:24px;text-align:center}
.ir-legal__toc a:hover,.ir-legal__toc a:focus-visible{color:var(--ir-red)}

/* Highlight boxes */
.ir-legal__box{margin-bottom:18px;padding:28px 30px;border-radius:var(--radius-1);background:var(--ir-deep);color:#fff;font-size:16px;line-height:1.75}
.ir-legal__box:last-child{margin-bottom:0}
.ir-legal__box-title{margin-bottom:10px;font-family:var(--ir-head-font);font-size:19px;font-weight:700;line-height:1.3;color:#fff}
.ir-legal__box p{margin:0 0 10px;color:#fff}
.ir-legal__box p:last-child{margin-bottom:0}
.ir-legal__box strong{color:#fff}
.ir-legal__box .ir-legal__link{color:#fff}
.ir-legal__box .ir-legal__link:hover,.ir-legal__box .ir-legal__link:focus-visible{color:var(--color-text-6)}
.ir-legal__box--light{background:#e6f6ff;color:var(--ir-text)}
.ir-legal__box--light .ir-legal__box-title{color:var(--ir-navy)}
.ir-legal__box--light p{color:var(--ir-text)}
.ir-legal__box--light strong{color:var(--ir-ink)}

.ir-legal__list + p{margin-top:14px}
.ir-legal__body .ir-legal__note,.ir-legal__note{margin-top:16px;font-size:14px;line-height:1.6;color:var(--ir-text);font-style:italic}
.ir-legal__link{color:var(--ir-deep);font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;cursor:pointer;transition:color .25s var(--ir-ease-ui)}
.ir-legal__link:hover,.ir-legal__link:focus-visible{color:var(--ir-red)}

/* CTA row */
.ir-legal__cta{display:flex;flex-wrap:wrap;gap:14px;padding:28px 30px;border-radius:var(--radius-1);background:var(--ir-gray);align-items:center;justify-content:space-between}
.ir-legal__cta p{flex:1 1 280px;min-width:0;font-family:var(--ir-head-font);font-size:18px;font-weight:700;line-height:1.4;color:var(--ir-ink)}
.ir-legal__cta .ir-btn{flex:0 0 auto}

/* Responsive */
@media (max-width:1200px){
  .ir-legal__main{padding:64px 0 84px}
}
@media (max-width:1024px){
  .ir-legal__content{gap:42px}
  .ir-legal__toc{gap:4px 22px}
}
@media (max-width:768px){
  .ir-legal__hero{padding:40px 0 42px}
  .ir-legal__crumbs{margin-bottom:22px}
  .ir-legal__main{padding:48px 0 68px}
  .ir-legal__content{gap:36px}
  .ir-legal__card{padding:22px 20px}
  .ir-legal__box{padding:24px 20px}
  .ir-legal__toc{grid-template-columns:minmax(0,1fr)}
  .ir-legal__contact-item{grid-template-columns:minmax(0,1fr);gap:2px}
  .ir-legal__cta{padding:24px 20px}
  .ir-legal__cta .ir-btn{width:100%}
}
@media (max-width:480px){
  .ir-legal__h1{font-size:30px}
  .ir-legal__card,.ir-legal__box,.ir-legal__cta{padding:20px 16px}
  .ir-legal__body{font-size:15px}
  .ir-legal__list li{font-size:15px}
  .ir-legal__h3{font-size:17.5px}
}
@media (max-width:375px){
  .ir-legal__h1{font-size:27px}
  .ir-legal__h2{font-size:21px}
  .ir-legal__lead{font-size:15px}
}
