/* Happytime Seiten v2.1.0 – nur auf den drei Plugin-Seiten geladen */
.hts-page{--hts-radius:24px;--hts-shadow:0 14px 42px rgba(22,31,44,.09);color:#20242a}
.hts-wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}
.hts-hero{padding:74px 0 48px;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);text-align:center}
.hts-kicker{display:inline-block;margin-bottom:12px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#167d8d}
.hts-hero h1{margin:0;font-size:clamp(38px,5vw,64px);line-height:1.06;letter-spacing:-.035em}
.hts-subtitle{max-width:760px;margin:18px auto 0;font-size:clamp(17px,2vw,21px);line-height:1.65;color:#5b6570}
.hts-content-section{padding:18px 0 80px;background:#fff}
.hts-wrap--legal{max-width:920px}
.hts-content-card{background:#fff;border:1px solid #e9edf1;border-radius:var(--hts-radius);box-shadow:var(--hts-shadow);padding:clamp(26px,5vw,56px)}
.hts-content-card>:first-child{margin-top:0}.hts-content-card>:last-child{margin-bottom:0}
.hts-content-card h2{margin:42px 0 16px;font-size:clamp(24px,3vw,32px);line-height:1.2}
.hts-content-card h3{margin:30px 0 10px;font-size:21px;line-height:1.3}
.hts-content-card h4{margin:24px 0 8px;font-size:17px}
.hts-content-card p,.hts-content-card li{font-size:16px;line-height:1.75;color:#424b55}
.hts-content-card a{text-decoration:underline;text-underline-offset:3px}
.hts-content-card ul,.hts-content-card ol{padding-left:22px}
.hts-legal-content h2:first-child{margin-top:0}
.hts-hero--service{padding-bottom:58px;text-align:left}
.hts-service-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:52px;align-items:center}
.hts-service-copy .hts-subtitle{margin-left:0}.hts-service-copy h1{max-width:720px}
.hts-service-image{overflow:hidden;border-radius:30px;box-shadow:var(--hts-shadow);aspect-ratio:4/3}
.hts-service-image img{width:100%;height:100%;object-fit:cover;display:block}
.hts-button{display:inline-flex;align-items:center;justify-content:center;margin-top:28px;padding:14px 24px;border-radius:999px;background:#20242a;color:#fff!important;font-weight:750;text-decoration:none!important;transition:transform .18s ease,opacity .18s ease}
.hts-button:hover{transform:translateY(-2px);opacity:.9}
.hts-wrap--service{max-width:980px}
.hts-service-content h2{padding-bottom:10px;border-bottom:1px solid #edf0f3}
.hts-service-content ul{list-style:none;padding-left:0;display:grid;gap:12px}
.hts-service-content li{position:relative;padding:14px 18px 14px 46px;background:#f7fafb;border-radius:15px}
.hts-service-content li:before{content:"✓";position:absolute;left:18px;top:14px;font-weight:900;color:#167d8d}
.hts-final-cta{margin-top:30px;padding:26px 30px;border-radius:22px;background:#f4f8f9;display:flex;gap:20px;align-items:center;justify-content:space-between;font-size:18px;font-weight:750}
.hts-final-cta .hts-button{margin-top:0;white-space:nowrap}
@media(max-width:800px){
 .hts-service-hero{grid-template-columns:1fr;gap:30px}.hts-hero--service{text-align:center}
 .hts-service-copy .hts-subtitle{margin-left:auto}.hts-service-image{max-width:620px;margin:0 auto;width:100%}
}
@media(max-width:560px){
 .hts-wrap{width:min(100% - 24px,1120px)}.hts-hero{padding:48px 0 34px}
 .hts-content-section{padding-bottom:54px}.hts-content-card{border-radius:18px;padding:24px 20px}
 .hts-final-cta{flex-direction:column;text-align:center;padding:24px 20px}.hts-final-cta .hts-button{width:100%}
}


/* v2.1.0 – Rechtliche Seiten im bisherigen Happytime-Seitenstil.
   Kein zusätzlicher Plugin-Hero, keine weiße Inhaltskarte. */
.hts-page--legal-classic{
  min-height:60vh;
  background:#e8f6e8;
  padding:26px 0 70px;
}
.hts-legal-classic__wrap{
  width:min(1660px,calc(100% - 120px));
  margin:0 auto;
}
.hts-legal-classic__page-title{
  margin:0 0 52px;
  font-size:clamp(38px,3.3vw,58px);
  line-height:1.08;
  letter-spacing:-.03em;
  color:#46576d;
}
.hts-legal-classic__content{
  width:min(920px,100%);
  margin:0 auto;
  text-align:center;
  color:#111;
}
.hts-legal-classic__content > :first-child{margin-top:0}
.hts-legal-classic__content > :last-child{margin-bottom:0}
.hts-legal-classic__content h2{
  margin:0 0 22px;
  font-size:clamp(30px,3vw,44px);
  line-height:1.15;
  color:#46576d;
}
.hts-legal-classic__content h3{
  margin:30px 0 14px;
  font-size:clamp(23px,2.2vw,31px);
  line-height:1.2;
  color:#46576d;
}
.hts-legal-classic__content h4{
  margin:24px 0 10px;
  font-size:19px;
  color:#46576d;
}
.hts-legal-classic__content p,
.hts-legal-classic__content li{
  font-size:17px;
  line-height:1.65;
  color:#111;
}
.hts-legal-classic__content img{
  max-width:360px;
  height:auto;
}
.hts-legal-classic__content ul,
.hts-legal-classic__content ol{
  display:inline-block;
  max-width:820px;
  text-align:left;
  padding-left:24px;
}
.hts-legal-classic__content a{
  color:inherit;
  text-decoration:none;
}
@media(max-width:800px){
  .hts-legal-classic__wrap{width:min(100% - 40px,1660px)}
  .hts-legal-classic__page-title{margin-bottom:38px}
}
@media(max-width:520px){
  .hts-page--legal-classic{padding:22px 0 50px}
  .hts-legal-classic__wrap{width:min(100% - 24px,1660px)}
  .hts-legal-classic__page-title{margin-bottom:32px}
  .hts-legal-classic__content p,
  .hts-legal-classic__content li{font-size:16px}
  .hts-legal-classic__content img{max-width:min(300px,90%)}
}
.hts-page--legal-card{
  min-height:60vh;
  background:#e8f6e8;
  padding:38px 0 78px;
}
.hts-legal-card__wrap{
  width:min(1120px,calc(100% - 48px));
  margin:0 auto;
}
.hts-legal-card__page-title{
  margin:0 0 34px;
  font-size:clamp(42px,4.2vw,64px);
  line-height:1.05;
  letter-spacing:-.035em;
  color:#46576d;
}
.hts-legal-card__box{
  width:min(900px,100%);
  margin:0 auto;
  padding:clamp(34px,5vw,58px);
  background:#fff;
  border:1px solid rgba(70,87,109,.10);
  border-radius:26px;
  box-shadow:0 14px 40px rgba(45,65,78,.08);
  text-align:center;
  color:#1c2630;
}
.hts-legal-card__box > :first-child{margin-top:0}
.hts-legal-card__box > :last-child{margin-bottom:0}
.hts-legal-card__box h2{
  margin:0 0 18px;
  font-size:clamp(28px,3vw,40px);
  line-height:1.15;
  color:#46576d;
}
.hts-legal-card__box h3{
  margin:30px 0 12px;
  font-size:clamp(22px,2.1vw,29px);
  line-height:1.2;
  color:#46576d;
}
.hts-legal-card__box h4{
  margin:24px 0 9px;
  font-size:18px;
  color:#46576d;
}
.hts-legal-card__box p,
.hts-legal-card__box li{
  margin-top:0;
  font-size:16px;
  line-height:1.7;
  color:#25313c;
}
.hts-legal-card__box img{
  display:block;
  width:auto;
  max-width:min(320px,80%);
  height:auto;
  margin:14px auto 26px;
}
.hts-legal-card__box ul,
.hts-legal-card__box ol{
  display:inline-block;
  max-width:760px;
  padding-left:24px;
  text-align:left;
}
.hts-legal-card__box a{
  color:#25313c;
  text-decoration:underline;
  text-underline-offset:3px;
}
@media(max-width:700px){
  .hts-page--legal-card{padding:28px 0 56px}
  .hts-legal-card__wrap{width:min(100% - 24px,1120px)}
  .hts-legal-card__page-title{margin-bottom:24px}
  .hts-legal-card__box{padding:30px 20px;border-radius:20px}
}
.hts-legal-card__page-title{
  text-align:center;
  font-size:clamp(34px,3vw,48px);
  margin-bottom:30px;
}
@media(max-width:700px){
  .hts-legal-card__page-title{
    font-size:clamp(32px,8vw,40px);
    margin-bottom:24px;
  }
}
.hts-legal-card__page-title{
  font-size:var(--hts-legal-title-size,clamp(34px,3vw,48px));
}
@media(max-width:700px){
  .hts-legal-card__page-title{
    font-size:min(var(--hts-legal-title-size,40px),40px);
  }
}


/* v2.1.0 – Datenschutz: Editor-Ausrichtung respektieren.
   Das Impressum bleibt bewusst zentriert. */
.hts-page--datenschutzerklaerung .hts-legal-card__box{
  text-align:left;
}
.hts-page--datenschutzerklaerung .hts-legal-card__box h2,
.hts-page--datenschutzerklaerung .hts-legal-card__box h3,
.hts-page--datenschutzerklaerung .hts-legal-card__box h4,
.hts-page--datenschutzerklaerung .hts-legal-card__box p{
  text-align:inherit;
}
.hts-page--datenschutzerklaerung .hts-legal-card__box ul,
.hts-page--datenschutzerklaerung .hts-legal-card__box ol{
  display:block;
  max-width:none;
  text-align:inherit;
}
.hts-page--datenschutzerklaerung .hts-legal-card__box .has-text-align-center{
  text-align:center;
}
.hts-page--datenschutzerklaerung .hts-legal-card__box .has-text-align-right{
  text-align:right;
}
.hts-page--datenschutzerklaerung .hts-legal-card__box .has-text-align-left{
  text-align:left;
}
.hts-kinder-v180{
  background:#f7fafb;
}
.hts-kinder-hero{
  padding:58px 24px 50px;
  background:#eef6f8;
  text-align:center;
}
.hts-kinder-hero__inner{
  width:min(820px,100%);
  margin:0 auto;
}
.hts-kinder-hero .hts-kicker{
  margin-bottom:12px;
}
.hts-kinder-hero h1{
  margin:0;
  font-size:var(--hts-kinder-title-size,clamp(42px,4.5vw,60px));
  line-height:1.05;
  letter-spacing:-.035em;
  color:#46576d;
}
.hts-kinder-hero .hts-subtitle{
  max-width:680px;
  margin:18px auto 0;
  font-size:19px;
  line-height:1.55;
}
.hts-kinder-hero .hts-button{
  margin-top:24px;
}
.hts-kinder-main{
  padding:44px 0 76px;
}
.hts-kinder-main__wrap{
  width:min(940px,calc(100% - 40px));
  margin:0 auto;
}
.hts-kinder-card{
  padding:clamp(32px,5vw,54px);
  background:#fff;
  border:1px solid #e4eaee;
  border-radius:24px;
  box-shadow:0 12px 34px rgba(37,49,60,.07);
}
.hts-kinder-card > :first-child{margin-top:0}
.hts-kinder-card > :last-child{margin-bottom:0}
.hts-kinder-card p{
  margin:0 0 20px;
  font-size:16px;
  line-height:1.75;
  color:#36434f;
}
.hts-kinder-card h2{
  margin:38px 0 18px;
  padding-bottom:11px;
  border-bottom:1px solid #e8edef;
  font-size:clamp(25px,2.7vw,32px);
  line-height:1.2;
  color:#46576d;
}
.hts-kinder-card h3{
  margin:30px 0 12px;
  font-size:22px;
  color:#46576d;
}
.hts-kinder-card ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.hts-kinder-card li{
  position:relative;
  margin:0;
  padding:14px 18px 14px 46px;
  border:1px solid #edf1f3;
  border-radius:14px;
  background:#f8fafb;
  font-size:16px;
  line-height:1.55;
  color:#36434f;
}
.hts-kinder-card li:before{
  content:"✓";
  position:absolute;
  left:18px;
  top:14px;
  font-weight:900;
  color:#168394;
}
.hts-kinder-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:26px;
  padding:25px 30px;
  border-radius:20px;
  background:#e8f6e8;
}
.hts-kinder-cta strong,
.hts-kinder-cta span{
  display:block;
}
.hts-kinder-cta strong{
  margin-bottom:4px;
  font-size:19px;
  color:#46576d;
}
.hts-kinder-cta span{
  color:#53616c;
}
.hts-kinder-cta .hts-button{
  margin:0;
  flex:0 0 auto;
}
@media(max-width:700px){
  .hts-kinder-hero{padding:44px 18px 40px}
  .hts-kinder-hero h1{
    font-size:min(var(--hts-kinder-title-size,42px),42px);
  }
  .hts-kinder-main{padding:30px 0 54px}
  .hts-kinder-main__wrap{width:min(100% - 24px,940px)}
  .hts-kinder-card{padding:28px 20px;border-radius:19px}
  .hts-kinder-cta{flex-direction:column;text-align:center;padding:24px 20px}
  .hts-kinder-cta .hts-button{width:100%}
}
.hts-kinder-v180 .hts-kinder-main{
  padding:42px 0 76px;
}
.hts-kinder-intro{
  width:min(820px,100%);
  margin:0 auto 28px;
  padding:0 8px;
  text-align:center;
}
.hts-kinder-intro p{
  margin:0;
  font-size:17px;
  line-height:1.75;
  color:#42515d;
}
.hts-kinder-boxes{
  display:grid;
  gap:22px;
}
.hts-kinder-sectionbox{
  overflow:hidden;
  background:#fff;
  border:1px solid #e3eaee;
  border-radius:22px;
  box-shadow:0 10px 30px rgba(37,49,60,.06);
}
.hts-kinder-sectionbox__head{
  display:flex;
  align-items:center;
  gap:13px;
  padding:22px 28px 18px;
  border-bottom:1px solid #e9eef1;
}
.hts-kinder-sectionbox__head h2{
  margin:0;
  padding:0;
  border:0;
  font-size:clamp(25px,2.6vw,31px);
  line-height:1.2;
  color:#46576d;
}
.hts-kinder-sectionbox__icon{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:12px;
  font-size:18px;
  font-weight:900;
}
.hts-kinder-sectionbox__body{
  padding:24px 28px 28px;
}
.hts-kinder-sectionbox__body > :first-child{margin-top:0}
.hts-kinder-sectionbox__body > :last-child{margin-bottom:0}
.hts-kinder-sectionbox__body p{
  margin:0 0 16px;
  font-size:16px;
  line-height:1.7;
  color:#36434f;
}
.hts-kinder-sectionbox__body ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.hts-kinder-sectionbox__body li{
  position:relative;
  margin:0;
  padding:14px 18px 14px 46px;
  border:1px solid #edf1f3;
  border-radius:14px;
  background:#f8fafb;
  font-size:16px;
  line-height:1.55;
  color:#36434f;
}
.hts-kinder-sectionbox__body li:before{
  content:"✓";
  position:absolute;
  left:18px;
  top:14px;
  font-weight:900;
  color:#168394;
}
.hts-kinder-sectionbox--leistungen .hts-kinder-sectionbox__icon{
  background:#e8f5f7;
  color:#168394;
}
.hts-kinder-sectionbox--warum .hts-kinder-sectionbox__icon{
  background:#eaf6e8;
  color:#43834c;
}
.hts-kinder-sectionbox--kontakt .hts-kinder-sectionbox__icon{
  background:#fff0f1;
  color:#e95b64;
}
.hts-kinder-sectionbox--warum{
  border-left:4px solid #8ecf96;
}
.hts-kinder-sectionbox--kontakt{
  border-left:4px solid #ff737a;
}
.hts-kinder-contact-body{
  position:relative;
}
.hts-kinder-contact-body p:last-of-type strong{
  display:inline-flex;
  align-items:center;
  margin-top:4px;
  padding:10px 16px;
  border-radius:999px;
  background:#fff0d8;
  color:#5b4930;
  font-size:17px;
  line-height:1.2;
}
.hts-kinder-contact-button{
  display:inline-flex;
  margin-top:10px;
}
@media(max-width:700px){
  .hts-kinder-v180 .hts-kinder-main{padding:30px 0 54px}
  .hts-kinder-intro{margin-bottom:22px;padding:0}
  .hts-kinder-sectionbox{border-radius:18px}
  .hts-kinder-sectionbox__head{padding:19px 19px 16px}
  .hts-kinder-sectionbox__body{padding:20px 19px 22px}
}
.hts-kinder-v212{background:#f7fafb;color:#36434f}
.hts-kinder-v212 .hts-kinder-hero{padding:54px 24px 48px;background:#eef6f8;text-align:left}
.hts-kinder-v212 .hts-kinder-hero__inner,
.hts-kinder-v212 .hts-kinder-main__wrap{width:min(940px,calc(100% - 40px));margin:0 auto}
.hts-kinder-v212 .hts-kinder-hero .hts-kicker{margin:0 0 9px;color:#08768a;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.hts-kinder-v212 .hts-kinder-hero h1{margin:0;color:#46576d;font-size:var(--hts-kinder-title-size,clamp(42px,4.5vw,60px));line-height:1.04;letter-spacing:-.035em}
.hts-kinder-v212 .hts-kinder-hero .hts-subtitle{max-width:650px;margin:12px 0 0;color:#526174;font-size:18px;line-height:1.5}
.hts-kinder-v212 .hts-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 21px;border:0;border-radius:999px;background:#ff5964!important;color:#fff!important;text-decoration:none!important;font-weight:800;line-height:1.2;box-shadow:none;transition:background .2s ease,transform .2s ease}
.hts-kinder-v212 .hts-button:hover,.hts-kinder-v212 .hts-button:focus{background:#ef4e59!important;color:#fff!important;transform:translateY(-1px)}
.hts-kinder-v212 .hts-kinder-hero .hts-button{margin-top:22px}
.hts-kinder-v212 .hts-kinder-main{padding:38px 0 72px}
.hts-kinder-v212 .hts-kinder-card{padding:clamp(30px,4.5vw,46px);background:#fff;border:1px solid #dfe7eb;border-radius:20px;box-shadow:0 12px 34px rgba(37,49,60,.07)}
.hts-kinder-v212 .hts-kinder-intro{width:auto;margin:0 0 28px;padding:0;text-align:left}
.hts-kinder-v212 .hts-kinder-intro p,.hts-kinder-v212 .hts-kinder-copy p{margin:0 0 16px;color:#42515d;font-size:16px;line-height:1.7}
.hts-kinder-v212 .hts-kinder-content-section{margin-top:28px}
.hts-kinder-v212 .hts-kinder-content-section h2{margin:0 0 14px;padding:0 0 9px;border-bottom:1px solid #dfe7eb;color:#46576d;font-size:clamp(25px,2.6vw,31px);line-height:1.2}
.hts-kinder-v212 .hts-kinder-content-section ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.hts-kinder-v212 .hts-kinder-content-section li{position:relative;margin:0;padding:13px 16px 13px 42px;border:0;border-radius:12px;background:#f4f8f9;color:#36434f;font-size:15px;line-height:1.55}
.hts-kinder-v212 .hts-kinder-content-section li:before{content:"✓";position:absolute;left:15px;top:13px;color:#168394;font-weight:900}
.hts-kinder-v212 .hts-kinder-pricebar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding:20px 22px;border-radius:16px;background:#eaf7f7}
.hts-kinder-v212 .hts-kinder-pricebar__text{display:flex;flex-direction:column;gap:3px}
.hts-kinder-v212 .hts-kinder-pricebar__text strong{color:#08768a;font-size:21px;line-height:1.25}
.hts-kinder-v212 .hts-kinder-pricebar__text span{color:#526174;font-size:15px}
.hts-kinder-v212 .hts-kinder-pricebar__button{flex:0 0 auto;margin:0}
@media(max-width:700px){
 .hts-kinder-v212 .hts-kinder-hero{padding:42px 18px 38px}
 .hts-kinder-v212 .hts-kinder-hero__inner,.hts-kinder-v212 .hts-kinder-main__wrap{width:min(100% - 24px,940px)}
 .hts-kinder-v212 .hts-kinder-hero h1{font-size:min(var(--hts-kinder-title-size,42px),42px)}
 .hts-kinder-v212 .hts-kinder-main{padding:28px 0 52px}
 .hts-kinder-v212 .hts-kinder-card{padding:26px 19px;border-radius:18px}
 .hts-kinder-v212 .hts-kinder-pricebar{flex-direction:column;align-items:stretch;padding:20px}
 .hts-kinder-v212 .hts-kinder-pricebar__button{width:100%}
}
.hts-kinder-v212 .hts-kinder-hero .hts-subtitle{width:100%;max-width:none;}

/* =========================================================
   v2.1.4 – Kontaktformular
   ========================================================= */
.hts-page--contact{background:#f6f7f7;padding:70px 20px 90px;color:#15243a}
.hts-contact-wrap{width:min(920px,100%);margin:0 auto}
.hts-contact-head{text-align:center;margin:0 auto 34px;max-width:760px}
.hts-contact-kicker{display:inline-block;color:#13aeb5;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin-bottom:8px}
.hts-contact-head h1{margin:0 0 12px;font-size:clamp(38px,6vw,64px);line-height:1;color:#15243a}
.hts-contact-head p{margin:0;font-size:18px;line-height:1.6;color:#536174}
.hts-contact-form{position:relative;background:#fff;border-radius:22px;padding:34px;box-shadow:0 18px 55px rgba(21,36,58,.10)}
.hts-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}
.hts-contact-form label{display:flex;flex-direction:column;gap:7px;font-weight:750;color:#15243a}
.hts-contact-form label>span{color:#ff5964}
.hts-contact-form input[type=text],.hts-contact-form input[type=email],.hts-contact-form input[type=tel],.hts-contact-form input[type=date],.hts-contact-form input[type=number],.hts-contact-form textarea{width:100%;border:1px solid #d9dfe5;border-radius:10px;background:#fff;padding:13px 14px;font:inherit;color:#15243a;box-sizing:border-box;outline:none}
.hts-contact-form input:focus,.hts-contact-form textarea:focus{border-color:#13aeb5;box-shadow:0 0 0 3px rgba(19,174,181,.12)}
.hts-contact-message{margin-top:22px}.hts-contact-message textarea{resize:vertical;min-height:150px}
.hts-contact-human{margin-top:20px;max-width:310px}.hts-contact-human input{max-width:120px}
.hts-contact-privacy{margin-top:24px!important;display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:500!important;line-height:1.5}
.hts-contact-privacy input{margin-top:5px;flex:0 0 auto}.hts-contact-privacy span{color:#536174!important}.hts-contact-privacy a{color:#13aeb5;text-decoration:underline}
.hts-contact-submit{margin-top:24px;border:0;border-radius:999px;background:#ff5964;color:#fff;padding:15px 24px;font-weight:800;font-size:16px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:transform .18s ease,box-shadow .18s ease}
.hts-contact-submit:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,89,100,.24)}
.hts-contact-required{font-size:13px;color:#7b8794;margin:12px 0 0}
.hts-contact-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.hts-contact-notice{border-radius:12px;padding:15px 18px;margin:0 0 20px;font-weight:700}.hts-contact-notice--success{background:#e8f8f3;color:#17664e}.hts-contact-notice--error{background:#fff0f1;color:#a92f3a}
@media(max-width:700px){.hts-page--contact{padding:44px 14px 64px}.hts-contact-form{padding:22px 18px;border-radius:16px}.hts-contact-grid{grid-template-columns:1fr;gap:17px}.hts-contact-head{margin-bottom:24px}.hts-contact-head p{font-size:16px}.hts-contact-submit{width:100%;justify-content:center}}


/* =========================================================
   v2.1.5 – Kontaktformular: Reihenfolge und saubere Abstände
   Datenschutz + Pflichtfeldhinweis vor Spam-Schutz, CTA darunter.
   ========================================================= */
.hts-contact-privacy{margin-top:24px!important;margin-bottom:0!important}
.hts-contact-required{margin:9px 0 0!important;font-size:13px;color:#7b8794}
.hts-contact-human{margin-top:22px!important;max-width:310px}
.hts-contact-human label{gap:8px}
.hts-contact-human input[type=number]{width:120px;max-width:120px}
.hts-contact-submit{margin-top:24px}


/* =========================================================
   v2.1.6 – Kontaktformular Layoutkorrektur
   Breite am Navigations-Innenbereich, Pflichtsterne inline,
   Spam-Schutz links / Senden rechts.
   ========================================================= */
.hts-contact-wrap{
  width:min(1200px,calc(100% - 40px));
}
.hts-contact-form{
  padding:38px 42px;
}
.hts-contact-form label > .hts-contact-labeltext{
  display:inline-block;
  width:auto;
  color:#15243a!important;
  line-height:1.3;
}
.hts-contact-labeltext b{
  color:#ff5964;
  font-weight:800;
  margin-left:3px;
}
.hts-contact-bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-top:22px;
}
.hts-contact-bottom .hts-contact-human{
  margin-top:0!important;
  flex:0 0 310px;
}
.hts-contact-bottom .hts-contact-submit{
  margin:0 0 1px auto;
  flex:0 0 auto;
}
@media(max-width:700px){
  .hts-contact-wrap{width:100%}
  .hts-contact-form{padding:22px 18px}
  .hts-contact-bottom{display:block;margin-top:22px}
  .hts-contact-bottom .hts-contact-human{max-width:none;flex:none}
  .hts-contact-bottom .hts-contact-submit{width:100%;margin-top:22px}
}

/* =========================================================
   v2.1.8 – Spam-Schutz: Number-Spinner ausblenden
   ========================================================= */
.hts-contact-human input[type="number"]::-webkit-outer-spin-button,
.hts-contact-human input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.hts-contact-human input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}


/* =========================================================
   v2.1.9 – Kontakt: Spam-Feld und Datenschutzlink hervorheben
   ========================================================= */
.hts-contact-human input[type="number"]{
  width:120px!important;
  max-width:120px!important;
  min-height:48px;
  background:#f7fbfc!important;
  border:2px solid #13aeb5!important;
  box-shadow:0 0 0 3px rgba(19,174,181,.08);
  color:#15243a!important;
  font-weight:800;
}
.hts-contact-human input[type="number"]:focus{
  background:#fff!important;
  border-color:#0b9198!important;
  box-shadow:0 0 0 4px rgba(19,174,181,.16)!important;
}
.hts-contact-privacy a{
  color:#008f98!important;
  font-weight:750;
  text-decoration:underline!important;
  text-decoration-thickness:2px!important;
  text-underline-offset:3px;
}
.hts-contact-privacy a:hover,
.hts-contact-privacy a:focus-visible{
  color:#ff5964!important;
}


/* =========================================================
   v2.1.10 – Datenschutzlink normale Schriftstärke
   ========================================================= */
.hts-contact-privacy a{
  font-weight:400!important;
}


/* =========================================================
   v2.1.11 – Spam-Schutz dreizeilig und optisch geschlossen
   ========================================================= */
.hts-contact-spam-title{
  display:block;
  margin:0 0 4px;
  color:#15243a;
  font-weight:800;
  line-height:1.25;
}
.hts-contact-spam-question{
  display:block;
  margin:0 0 9px;
}
.hts-contact-human label{
  display:block;
}
.hts-contact-human input[type="number"]{
  display:block;
  margin-top:0!important;
}


/* Barrierefreiheit */
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hts-button:focus-visible,
.hts-contact-form a:focus-visible,
.hts-contact-form button:focus-visible,
.hts-contact-form input:focus-visible,
.hts-contact-form textarea:focus-visible,
.hts-contact-form select:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .hts-button,
  .hts-contact-form button,
  .hts-contact-form input,
  .hts-contact-form textarea,
  .hts-contact-form select {
    scroll-behavior: auto;
    transition: none !important;
    animation: none !important;
  }
}


/* Datenschutzerklärung – Lesbarkeit & Barrierefreiheit */
.hts-page--datenschutzerklaerung .hts-privacy {
  line-height: 1.7;
}

.hts-page--datenschutzerklaerung .hts-privacy__intro {
  font-size: 1.08em;
}

.hts-page--datenschutzerklaerung .hts-privacy__toc {
  margin: 1.5rem 0 2rem;
  padding: 1.25rem 1.4rem;
  border: 2px solid currentColor;
  border-radius: 14px;
}

.hts-page--datenschutzerklaerung .hts-privacy__toc ol {
  margin: .75rem 0 0;
  padding-left: 1.4rem;
  columns: 2;
  column-gap: 2rem;
}

.hts-page--datenschutzerklaerung .hts-privacy__toc li {
  break-inside: avoid;
  margin: .35rem 0;
}

.hts-page--datenschutzerklaerung .hts-privacy section {
  scroll-margin-top: 7rem;
  margin-top: 2.25rem;
}

.hts-page--datenschutzerklaerung .hts-privacy h2 {
  line-height: 1.25;
}

.hts-page--datenschutzerklaerung .hts-privacy address {
  font-style: normal;
}

.hts-page--datenschutzerklaerung .hts-privacy a {
  text-decoration: underline;
  text-underline-offset: .18em;
  text-decoration-thickness: .08em;
}

.hts-page--datenschutzerklaerung .hts-privacy a:focus-visible,
.hts-page--datenschutzerklaerung .hts-privacy button:focus-visible,
.hts-page--datenschutzerklaerung #cmplz-manage-consent-container button:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

@media (max-width: 720px) {
  .hts-page--datenschutzerklaerung .hts-privacy__toc ol {
    columns: 1;
  }
}
