/* Kontaktformular: Ueberschrift "Felder" / "Fields" der eigenen Felder ausblenden */
.com-contact fieldset:has([name^="jform[com_fields]"]) > legend { display: none; }

/* =========================================================
   Kontaktseite - zweispaltiges Kartenlayout (DE + EN)
   ========================================================= */
.com-contact{--ipn:#1b2d5c;--ipb:#2299dd;--ipl:#e2e8f2;--ipt:#2b3446;--ipm:#6b7690;max-width:1080px}

@media(min-width:992px){
  .com-contact{display:grid;grid-template-columns:minmax(260px,310px) 1fr;column-gap:1.9rem;row-gap:0;align-items:start}
  .com-contact>.page-header{grid-column:1/-1}
  .com-contact>.com-contact__container{grid-column:1;grid-row:2/span 2}
  .com-contact>h2{grid-column:2;grid-row:2}
  .com-contact>.com-contact__form{grid-column:2;grid-row:3}
}

/* Seitentitel mit Markenbalken */
.com-contact>.page-header{margin:0 0 1.9rem;padding:0;border:0}
.com-contact>.page-header h1{font-size:clamp(1.55rem,1.1rem + 1.4vw,2.05rem);font-weight:500;letter-spacing:-.01em;color:var(--ipn);margin:0;line-height:1.2}
.com-contact>.page-header h1::after{content:"";display:block;width:74px;height:4px;margin-top:.9rem;border-radius:2px;background:linear-gradient(90deg,#2299dd,#dd1155 55%,#ffcc11)}

/* Linke Karte: Kontaktdaten */
.com-contact .com-contact__container{display:block!important;grid-template-columns:none!important;gap:0!important;background:linear-gradient(158deg,#20356b,#152a58);color:#fff;border-radius:14px;padding:1.7rem 1.55rem;box-shadow:0 10px 30px rgba(21,42,88,.18)}
.com-contact .com-contact__container>h2{font-size:1.1rem;font-weight:500;color:#fff;margin:0 0 1.2rem;padding-bottom:.8rem;border-bottom:1px solid rgba(255,255,255,.18)}
.com-contact .com-contact__info{display:block!important;width:auto!important;margin:0}

/* Adressliste: Bootstrap-Horizontallayout aufheben, Labels sichtbar machen */
dl.com-contact__address{display:block!important;margin:0!important;grid-template-columns:none!important}
dl.com-contact__address>dt{display:flex!important;align-items:center;gap:.45rem;float:none!important;width:auto!important;max-width:none!important;clear:none!important;overflow:visible!important;text-align:left!important;margin:1.3rem 0 .35rem;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#8fb8e0}
dl.com-contact__address>dt:first-child{margin-top:0}
dl.com-contact__address>dt .visually-hidden{position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:normal!important}
dl.com-contact__address>dt [class^=icon-],dl.com-contact__address>dt [class*=" icon-"]{font-size:.95rem;line-height:1;color:var(--ipb)}
dl.com-contact__address>dd{float:none!important;width:auto!important;max-width:none!important;margin:0 0 .15rem!important;padding:0!important;text-align:left!important;font-size:1rem;line-height:1.55;color:#fff;overflow-wrap:anywhere}
dl.com-contact__address>dd a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
dl.com-contact__address>dd a:hover,dl.com-contact__address>dd a:focus{color:#7ec8f5;border-color:#7ec8f5}

/* Rechte Karte: Formular (Ueberschrift + Formular bilden optisch eine Karte) */
.com-contact>h2{margin:0;padding:1.3rem 1.7rem 1.05rem;font-size:1.1rem;font-weight:500;color:var(--ipn);background:#fff;border:1px solid var(--ipl);border-bottom:1px solid #eef1f6;border-radius:14px 14px 0 0}
.com-contact__form{background:#fff;border:1px solid var(--ipl);border-top:0;border-radius:0 0 14px 14px;padding:0 1.7rem 1.7rem;box-shadow:0 10px 30px rgba(21,42,88,.07)}
.com-contact__form form{margin:0;padding:0;background:none;border:0}
.com-contact__form fieldset{min-width:0;margin:0;padding:0;border:0}
.com-contact__form legend{display:none}

.com-contact__form form>fieldset:first-of-type{display:grid;grid-template-columns:1fr 1fr;gap:0 1.1rem;padding-top:1.25rem}
.com-contact__form form>fieldset:first-of-type>.control-group{grid-column:1/-1;margin-bottom:1.05rem}
@media(min-width:600px){
  .com-contact__form form>fieldset:first-of-type>div.control-group:nth-of-type(2),
  .com-contact__form form>fieldset:first-of-type>div.control-group:nth-of-type(3){grid-column:span 1}
}

/* Pflichtfeld-Hinweis nach oben ziehen */
.com-contact__form .field-spacer{order:-1;grid-column:1/-1!important;margin:0 0 1.1rem!important}
.com-contact__form .field-spacer .control-label{display:block!important;margin:0!important}
.com-contact__form .field-spacer .controls{display:none!important}
.com-contact__form .field-spacer .spacer,.com-contact__form .field-spacer .spacer .text{font-size:.8rem;font-weight:400;color:var(--ipm)}

/* Felder */
.com-contact__form .control-label label{display:inline-block;margin-bottom:.35rem;font-size:.85rem;font-weight:500;color:var(--ipt)}
.com-contact__form .control-label .star{color:#dd1155;text-decoration:none}
.com-contact__form .form-control{padding:.6rem .8rem;font-size:.95rem;background:#fbfcfe;border:1px solid #d6dee9;border-radius:8px;box-shadow:none;transition:border-color .15s,box-shadow .15s,background .15s}
.com-contact__form .form-control:focus{background:#fff;border-color:var(--ipb);box-shadow:0 0 0 3px rgba(34,153,221,.16);outline:0}
.com-contact__form textarea.form-control{height:150px;min-height:120px;resize:vertical}
.com-contact__form form>fieldset:nth-of-type(3) .control-group{margin-bottom:1.15rem}

.com-contact__form .btn-primary{padding:.7rem 1.7rem;font-weight:500;background:var(--ipn);border-color:var(--ipn);border-radius:8px;box-shadow:0 2px 8px rgba(21,42,88,.2)}
.com-contact__form .btn-primary:hover,.com-contact__form .btn-primary:focus{background:#25407e;border-color:#25407e}

@media(max-width:991.98px){
  .com-contact .com-contact__container{margin-bottom:1.6rem}
}

/* =========================================================
   Inhaltsseiten: Typografie, Startseite, Rechtstexte
   ========================================================= */
.com-content-article__body p[style*="font-size"],
.com-content-article__body span[style*="font-size"],
.com-content-article__body div[style*="font-size"],
.com-content-article__body li[style*="font-size"],
.com-content-article__body td[style*="font-size"]{font-size:inherit!important;line-height:inherit!important}
.com-content-article__body{color:#2b3446;font-size:1.02rem;line-height:1.72}
.com-content-article__body p{margin:0 0 1.15rem}
.com-content-article__body h1,.com-content-article__body h2,.com-content-article__body h3{color:#1b2d5c;font-weight:500;letter-spacing:-.01em;line-height:1.25}
.com-content-article__body h1{font-size:clamp(1.6rem,1.2rem + 1.2vw,2.1rem)!important;line-height:1.25!important;margin:0 0 1.2rem}
.com-content-article__body h2{font-size:clamp(1.3rem,1.05rem + .7vw,1.6rem)!important;line-height:1.3!important;margin:2.7rem 0 .9rem}
.com-content-article__body h1::after{content:"";display:block;width:64px;height:4px;margin-top:.8rem;border-radius:2px;background:linear-gradient(90deg,#2299dd,#dd1155 55%,#ffcc11)}
.com-content-article__body h3{font-size:1.08rem!important;line-height:1.35!important;margin:1.9rem 0 .55rem}
.com-content-article__body strong{font-weight:600;color:#1b2d5c}
.com-content-article__body a:not(.ip-btn){color:#1d6fb8;text-underline-offset:3px}
.com-content-article__body a:not(.ip-btn):hover{color:#0f4f8a}
.com-content-article__body ul,.com-content-article__body ol{margin:0 0 1.2rem;padding-left:1.35rem}
.com-content-article__body li{margin-bottom:.4rem}

/* Startseite: Einstieg */
.ip-hero{background:linear-gradient(158deg,#20356b,#152a58);color:#fff;border-radius:16px;padding:2rem 2.2rem;margin:0 0 2.6rem;box-shadow:0 12px 34px rgba(21,42,88,.18)}
.ip-hero p{margin:0;font-size:1.12rem;line-height:1.62;color:#e8effa}
.ip-hero strong{color:#fff;font-weight:600}
.ip-hero h1,.ip-hero h2,.ip-hero h3{color:#fff!important;margin-top:0}
.ip-hero h1::after{background:linear-gradient(90deg,#63c6f5,#ff5b86 55%,#ffd84d)}
.ip-hero a{color:#9fd4f7!important}
.ip-hero p+p{margin-top:1rem}

/* Startseite: Datentabelle als Karte */
.com-content-article__body iframe{display:block;width:100%!important;height:520px!important;border:1px solid #e2e8f2!important;border-radius:12px 12px 0 0;background:#fff;margin-top:1.6rem}
.ip-note{font-size:.88rem;line-height:1.6;color:#5f6b83;background:#f7f9fd;border:1px solid #e2e8f2;border-top:0;border-radius:0 0 12px 12px;padding:.9rem 1.2rem;margin:0 0 2.2rem}

/* Startseite: Legende und Beispieldatensatz */
.ip-legend{background:#f7f9fd;border:1px solid #e2e8f2;border-radius:12px;padding:1.3rem 1.5rem;font-size:.93rem;line-height:1.95;color:#41506b}
.ip-legend strong{color:#1b2d5c}
.ip-example{max-width:none!important;background:#13244d;color:#cfe0f5;border-radius:12px;padding:1.2rem 1.4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;line-height:1.75;overflow-x:auto}
.ip-example strong{color:#ffd166}

/* Weiterfuehrende Links als Schaltflaechen */
a.ip-btn{display:inline-flex;align-items:center;gap:.5rem;margin:.4rem .7rem .4rem 0;padding:.65rem 1.25rem;background:#1b2d5c;color:#fff!important;border-radius:8px;text-decoration:none!important;font-weight:500;font-size:.93rem;box-shadow:0 2px 8px rgba(21,42,88,.18)}
a.ip-btn:hover,a.ip-btn:focus{background:#25407e}
a.ip-btn::after{content:"\2192";line-height:1}

/* Kleine Bildschirme */
@media(max-width:575.98px){
  .ip-hero{padding:1.4rem 1.25rem;border-radius:12px}
  .ip-hero p{font-size:1.02rem}
  .com-content-article__body iframe{height:420px!important;border-radius:10px 10px 0 0}
  .ip-legend,.ip-example{padding:1rem 1.05rem;border-radius:10px}
  .ip-note{padding:.8rem 1.05rem}
  a.ip-btn{display:flex;width:100%;justify-content:space-between;margin:.5rem 0}
  .com-contact .com-contact__container,.com-contact>h2,.com-contact__form{border-radius:12px}
  .com-contact>h2{border-radius:12px 12px 0 0;padding:1.1rem 1.15rem .9rem}
  .com-contact__form{padding:0 1.15rem 1.3rem}
  .com-contact .com-contact__container{padding:1.35rem 1.2rem}
}
