/* Contact page only. Original Drupal form and theme navigation retained. */
body.page-kontakt-os.di-contact-live .featured-banner{padding: 0;}
body.page-kontakt-os.di-contact-live .di-contact-hero{display: flex; align-items: center; min-height: 220px; padding: 40px 0; background: #005f87; color: #fff;}
body.page-kontakt-os.di-contact-live .di-contact-hero .container{padding-left: 54px; padding-right: 54px;}
body.page-kontakt-os.di-contact-live .di-contact-hero h1{margin: 0 0 12px; color: #fff; text-align: left; font: 700 40px/1.2 Lato,Arial,sans-serif; letter-spacing: 0;}
body.page-kontakt-os.di-contact-live .di-contact-hero p{margin: 0; padding: 0; color: #fff; font: 400 20px/1.5 Lato,Arial,sans-serif;}
body.page-kontakt-os.di-contact-live .service-page{margin-bottom: 0;}
body.page-kontakt-os.di-contact-live .service-page>.row>.container>.row{margin: 0; padding: 0 24px;}
body.page-kontakt-os.di-contact-live .service-page .service-box{margin-top: 0;}
body.page-kontakt-os.di-contact-live .service-page .service-box .service-box-top{max-width: 1120px; margin: 0 auto; padding: 48px 0 0;}
body.page-kontakt-os.di-contact-live .di-contact{padding-bottom: 54px; color: #414042; font: 400 17px/1.7 Lato,Arial,sans-serif;}
body.page-kontakt-os.di-contact-live .di-contact h2{margin: 0 0 18px; color: #414042; font: 700 28px/1.3 Lato,Arial,sans-serif; text-align: left;}
body.page-kontakt-os.di-contact-live .di-contact h3{margin: 0 0 15px; color: #414042; font: 700 20px/1.35 Lato,Arial,sans-serif;}
body.page-kontakt-os.di-contact-live .di-contact p{margin: 0 0 18px; font-size: 17px; line-height: 1.7;}
body.page-kontakt-os.di-contact-live .di-contact a{color: #0077ad; font-weight: 400; text-decoration: none;}
body.page-kontakt-os.di-contact-live .di-contact a:hover,
body.page-kontakt-os.di-contact-live .di-contact a:focus-visible{text-decoration: underline; text-underline-offset: 3px;}
body.page-kontakt-os.di-contact-live .di-contact a:focus-visible,
body.page-kontakt-os.di-contact-live .di-contact button:focus-visible{outline: 2px solid #0087c6; outline-offset: 4px;}
body.page-kontakt-os.di-contact-live .di-contact-grid{display: grid; grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 56px; align-items: start;}
body.page-kontakt-os.di-contact-live .di-contact-write{min-width: 0;}
body.page-kontakt-os.di-contact-live .di-contact .di-contact-response{margin-bottom: 26px; color: #59656b; font-size: 16px;}
body.page-kontakt-os.di-contact-live .di-contact form{padding: 0; margin: 0; border: 0; background: none;}
body.page-kontakt-os.di-contact-live .di-contact-form-fields{display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 22px;}
body.page-kontakt-os.di-contact-live .di-contact .form-item{min-width: 0; margin: 0; padding: 0;}
body.page-kontakt-os.di-contact-live .di-contact label{display: block; margin: 0 0 7px; padding: 0; color: #414042; font-size: 15px; line-height: 1.5; font-weight: 700;}
body.page-kontakt-os.di-contact-live .di-contact .form-required{color: #0077ad;}
body.page-kontakt-os.di-contact-live .di-contact input.form-text,
body.page-kontakt-os.di-contact-live .di-contact textarea{display: block; width: 100%; min-width: 0; margin: 0; padding: 11px 13px; border: 1px solid #aebdc5; border-radius: 4px; background: #fff; color: #414042; font: 400 16px/1.5 Lato,Arial,sans-serif; box-shadow: none; box-sizing: border-box;}
body.page-kontakt-os.di-contact-live .di-contact input.form-text{height: 48px;}
body.page-kontakt-os.di-contact-live .di-contact textarea{min-height: 156px; resize: vertical;}
body.page-kontakt-os.di-contact-live .di-contact input.form-text:focus,
body.page-kontakt-os.di-contact-live .di-contact textarea:focus{border-color: #0087c6; outline: none; box-shadow: none;}
body.page-kontakt-os.di-contact-live .di-contact input.form-text:focus-visible,
body.page-kontakt-os.di-contact-live .di-contact textarea:focus-visible{border-color: #005f87; outline: none; box-shadow: none;}
body.page-kontakt-os.di-contact-live .di-contact .form-item-message,
body.page-kontakt-os.di-contact-live .di-contact .form-actions{grid-column: 1/-1;}
body.page-kontakt-os.di-contact-live .di-contact .form-actions{display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; margin: 2px 0 0;}
body.page-kontakt-os.di-contact-live .di-contact .form-submit{display: inline-block; width: auto; height: auto; min-height: 48px; margin: 0; padding: 12px 24px; border: 1px solid #0087c6; border-radius: 4px; background: #0087c6; color: #fff; font: 700 17px/1.4 Lato,Arial,sans-serif; cursor: pointer;}
body.page-kontakt-os.di-contact-live .di-contact .form-submit:hover{border-color: #006d9f; background: #006d9f;}
body.page-kontakt-os.di-contact-live .di-contact .form-submit:focus-visible{outline: 2px solid #005f87; outline-offset: 4px;}
body.page-kontakt-os.di-contact-live .di-contact-required-note{color: #59656b; font-size: 14px; line-height: 1.5;}
body.page-kontakt-os.di-contact-live .di-contact-details{padding: 30px; border: 0; border-radius: 4px; background: #e7f6fc;}
body.page-kontakt-os.di-contact-live .di-contact-details h2{font-size: 24px;}
body.page-kontakt-os.di-contact-live .di-contact-methods{margin: 24px 0 28px;}
body.page-kontakt-os.di-contact-live .di-contact-methods>div+div{margin-top: 19px;}
body.page-kontakt-os.di-contact-live .di-contact-methods dt{margin: 0 0 3px; color: #52636b; font-size: 14px; font-weight: 400; line-height: 1.5;}
body.page-kontakt-os.di-contact-live .di-contact-methods dd{margin: 0; font-size: 20px; line-height: 1.5; overflow-wrap: anywhere;}
body.page-kontakt-os.di-contact-live .di-contact .di-contact-phone{font-size: 30px; line-height: 1.3; letter-spacing: .2px;}
body.page-kontakt-os.di-contact-live .di-contact-hours{padding-top: 25px; border-top: 1px solid #cbdfe8;}
body.page-kontakt-os.di-contact-live .di-contact-hours dl{margin: 0;}
body.page-kontakt-os.di-contact-live .di-contact-hours dl>div{display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; margin: 0 0 10px; font-size: 16px; line-height: 1.5;}
body.page-kontakt-os.di-contact-live .di-contact-hours dt,
body.page-kontakt-os.di-contact-live .di-contact-hours dd{margin: 0; font-weight: 400;}
body.page-kontakt-os.di-contact-live .di-contact-hours dd{text-align: right; font-variant-numeric: tabular-nums;}
body.page-kontakt-os.di-contact-live .di-contact-hours dd span{display: block; margin-top: 1px; color: #52636b; font-size: 14px;}
body.page-kontakt-os.di-contact-live .di-contact-address{margin-top: 24px; padding-top: 24px; border-top: 1px solid #cbdfe8;}
body.page-kontakt-os.di-contact-live .di-contact-address address{margin: 0 0 10px; font-style: normal; font-size: 17px; line-height: 1.6;}
body.page-kontakt-os.di-contact-live .di-contact-address>a{display: inline-flex; align-items: center; gap: 9px; min-height: 30px; font-size: 16px;}
body.page-kontakt-os.di-contact-live .di-contact .di-contact-about{margin: 22px 0 0; color: #52636b; font-size: 15px; line-height: 1.7;}
body.page-kontakt-os.di-contact-live .di-contact-location{margin-top: 46px; padding-top: 32px; border-top: 1px solid #dce6eb; scroll-margin-top: 24px;}
body.page-kontakt-os.di-contact-live .di-contact-location-heading{display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 22px;}
body.page-kontakt-os.di-contact-live .di-contact-location-heading h2{margin-bottom: 7px; font-size: 26px;}
body.page-kontakt-os.di-contact-live .di-contact-location-heading p{margin: 0; color: #59656b; font-size: 16px;}
body.page-kontakt-os.di-contact-live .di-contact .di-contact-directions{display: inline-flex; align-items: center; gap: 10px; min-height: 44px; white-space: nowrap; font-size: 16px;}
body.page-kontakt-os.di-contact-live .di-contact-map{height: 300px; overflow: hidden; border-radius: 4px; background: #e7f6fc;}
body.page-kontakt-os.di-contact-live .di-contact-map iframe{display: block; width: 100%; height: 300px; border: 0;}
@media (max-width:1199px){
body.page-kontakt-os.di-contact-live .di-contact-grid{gap: 36px; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr);}
body.page-kontakt-os.di-contact-live .di-contact-details{padding: 25px;}
body.page-kontakt-os.di-contact-live .di-contact-details h2{font-size: 22px;}
}
@media (max-width:991px){
body.page-kontakt-os.di-contact-live .di-contact-hero .container{padding-left: 39px; padding-right: 39px;}
body.page-kontakt-os.di-contact-live .service-page>.row>.container>.row{padding: 0 9px;}
body.page-kontakt-os.di-contact-live .di-contact-grid{grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 28px;}
body.page-kontakt-os.di-contact-live .di-contact-form-fields{grid-template-columns: minmax(0,1fr);}
body.page-kontakt-os.di-contact-live .di-contact-details{padding: 22px;}
body.page-kontakt-os.di-contact-live .di-contact-hours dl>div{font-size: 15px; gap: 8px;}
body.page-kontakt-os.di-contact-live .di-contact-details h2{font-size: 21px;}
}
@media (max-width:767px){
body.page-kontakt-os.di-contact-live .di-contact-hero{min-height: 188px; padding: 34px 0;}
body.page-kontakt-os.di-contact-live .di-contact-hero .container{padding-left: 31px; padding-right: 31px;}
body.page-kontakt-os.di-contact-live .di-contact-hero h1{font-size: 32px;}
body.page-kontakt-os.di-contact-live .di-contact-hero p{font-size: 18px;}
body.page-kontakt-os.di-contact-live .service-page>.row>.container>.row{padding: 0 11px;}
body.page-kontakt-os.di-contact-live .service-page .service-box .service-box-top{padding-top: 32px;}
body.page-kontakt-os.di-contact-live .di-contact{padding-bottom: 36px;}
body.page-kontakt-os.di-contact-live .di-contact-grid{grid-template-columns: minmax(0,1fr); gap: 34px;}
body.page-kontakt-os.di-contact-live .di-contact-write{order: 1;}
body.page-kontakt-os.di-contact-live .di-contact-details{order: 2; padding: 25px;}
body.page-kontakt-os.di-contact-live .di-contact h2{font-size: 26px;}
body.page-kontakt-os.di-contact-live .di-contact-details h2{font-size: 24px;}
body.page-kontakt-os.di-contact-live .di-contact-form-fields{grid-template-columns: repeat(2,minmax(0,1fr));}
body.page-kontakt-os.di-contact-live .di-contact-hours dl>div{font-size: 16px;}
body.page-kontakt-os.di-contact-live .di-contact-location{margin-top: 34px; padding-top: 28px;}
body.page-kontakt-os.di-contact-live .di-contact-location-heading{display: block;}
body.page-kontakt-os.di-contact-live .di-contact-location-heading h2{font-size: 24px;}
body.page-kontakt-os.di-contact-live .di-contact-directions{margin-top: 10px;}
body.page-kontakt-os.di-contact-live .di-contact-map,
body.page-kontakt-os.di-contact-live .di-contact-map iframe{height: 260px;}
}
@media (max-width:480px){
body.page-kontakt-os.di-contact-live .di-contact-form-fields{grid-template-columns: minmax(0,1fr);}
body.page-kontakt-os.di-contact-live .di-contact .form-submit{width: 100%;}
body.page-kontakt-os.di-contact-live .di-contact .form-actions{gap: 10px;}
}

/* Flatten only the existing wrappers around this contact panel. */
body.page-kontakt-os.di-contact-live .service-box-top .di-contact-shell{display:block;float:none;flex:none;width:auto;max-width:none;margin:0;padding:0;border:0;background:none}
body.page-kontakt-os.di-contact-live .di-contact-form-fields > :not(.form-item-name):not(.form-item-mail):not(.form-item-telefon):not(.form-item-subject){grid-column:1/-1}
body.page-kontakt-os.di-contact-live .di-contact .form-type-checkbox label{display:inline;margin:0;font-size:15px;font-weight:400}
body.page-kontakt-os.di-contact-live .di-contact .form-type-checkbox input{margin:0 8px 0 0;vertical-align:middle}
body.page-kontakt-os.di-contact-live .di-contact .di-contact-response{font-weight:400}
body.page-kontakt-os.di-contact-live .di-contact input.form-text.error,
body.page-kontakt-os.di-contact-live .di-contact textarea.error{border-color:#b63232}
