.tb-contact-form-wrap.tb-contact-v2 { margin: 0; padding: clamp(20px, 3vw, 32px); background: #f6f9fa; border: 1px solid #d7e3e7; border-top: 4px solid #009cad; border-radius: 8px; box-shadow: none; }
.tb-contact-form-wrap.tb-contact-v2 h2.tb-form-heading { margin: 0 0 8px !important; font-size: clamp(23px, 2.5vw, 30px); line-height: 1.2; color: #17272d; }
.tb-contact-v2 .tb-form-intro { margin: 0 0 24px; color: #53666e; font-size: 16px; line-height: 1.5; }
.tb-contact-v2 .tb-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; }
.tb-contact-v2 .tb-form-grid label { min-width: 0; display: flex; flex-direction: column; gap: 8px; color: #253b44; font-size: 15px; font-weight: 600; line-height: 1.4; }
.tb-contact-v2 .tb-form-grid label.wide { grid-column: 1 / -1; }
.tb-contact-v2 .tb-form-grid input, .tb-contact-v2 .tb-form-grid select, .tb-contact-v2 .tb-form-grid textarea { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: 12px; border: 1px solid #b8cbd2; border-radius: 5px; background: #fff; color: #17272d; font-family: inherit; font-size: 16px; font-weight: 400; line-height: 1.4; }
.tb-contact-v2 .tb-form-grid textarea { min-height: 100px; resize: vertical; }
.tb-contact-v2 input::placeholder, .tb-contact-v2 textarea::placeholder { color: #60757e; opacity: 1; }
.tb-contact-v2 .tb-form-grid input:focus, .tb-contact-v2 .tb-form-grid select:focus, .tb-contact-v2 .tb-form-grid textarea:focus { outline: 2px solid #267783; outline-offset: 2px; }
.tb-contact-v2 .tb-form-extras { margin: 18px 0 10px; padding-bottom: 10px; border-bottom: 1px solid #d7e3e7; }
.tb-contact-v2 .tb-form-extras summary { padding: 12px 0; color: #266f7b; cursor: pointer; font-size: 15px; font-weight: 600; }
.tb-contact-v2 .tb-form-extras summary span { font-weight: 400; }
.tb-contact-v2 .tb-form-extras .tb-form-grid { padding-top: 12px; }
.tb-contact-v2 .tb-form-grid input[type="file"] { overflow-wrap: anywhere; padding: 8px; }
.tb-contact-v2 input::file-selector-button { margin-right: 8px; padding: 8px; border: 0; border-radius: 3px; background: #edf4f5; color: #253b44; font: inherit; cursor: pointer; }
.tb-contact-v2 .tb-consent { margin: 16px 0 20px; display: flex; gap: 10px; color: #3d555f; font-size: 14px; line-height: 1.5; }
.tb-contact-v2 .tb-consent input { flex-shrink: 0; width: 20px; height: 20px; margin: 0; accent-color: #267783; }
.tb-contact-v2 a { color: #266f7b; text-decoration: underline; text-underline-offset: 3px; }
.tb-contact-v2 .tb-contact-form button[type="submit"] { display: flex; width: 100%; min-height: 52px; justify-content: center; gap: 16px; padding: 14px 16px; border-radius: 5px !important; background: #286b79; color: #fff; font-size: 17px; line-height: 1.4; font-weight: 600; cursor: pointer; }
.tb-contact-v2 button[type="submit"]:disabled { opacity: .7; cursor: wait; }
.tb-contact-v2 .tb-form-help { margin: 12px 0 0; color: #526872; font-size: 13px !important; line-height: 1.5; overflow-wrap: anywhere; }
.tb-contact-v2 .tb-form-footer { text-align: center; }
.tb-contact-v2 .tb-form-footer span { white-space: nowrap; margin-left: 8px; }
.tb-contact-v2 .tb-form-message { margin: 0 0 18px; padding: 14px; font-size: 16px; line-height: 1.5; border-radius: 4px; }
.tb-contact-v2 [aria-invalid="true"] { border-color: #b13b32 !important; }
.tb-contact-v2 [hidden], .tb-contact-v2 label[hidden] { display: none !important; }
body.page.page-id-108:not(.tbv-page) .tb-page-shell .tb-page-title { padding-top: 24px !important; padding-bottom: 24px !important; }
body.page.page-id-108:not(.tbv-page) .tb-page-shell .tb-page-title .wp-block-post-title { font-size: clamp(30px, 4vw, 42px) !important; line-height: 1.2; margin-top: 0; margin-bottom: 0; }
body.page-id-108 .tb-page-shell > .wp-block-post-content { margin-top: 0 !important; padding-top: 24px !important; }
body.page-id-108 #anfrage { max-width: 760px; margin: 0 auto; }
body.page-id-108 .wp-block-post-content { padding-top: 28px; }
body.page-id-108 .tb-page-shell .wp-block-post-content > .tb-import-section.tb-contact-page { margin-top: 0 !important; }
body.page-id-108 .tb-closing-cta { display: none; }
body.page-id-108 .tb-contact-page > .tb-contact-v2 { max-width: 760px; margin-inline: auto; }
body.page-id-108 .tb-contact-page .tb-content-cards { margin-top: 32px; }
body.page-id-108 .tb-page-cta { display: none; }
#anfrage { scroll-margin-top: 110px; }
/* Keep the isolated draft navigation consistent with the live theme's saved global styles. */
body.wp-theme-trobutec-bausanierung-wpvibe-draft .tb-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content,
body.wp-theme-trobutec-bausanierung-wpvibe-draft .tb-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__label,
body.wp-theme-trobutec-bausanierung-wpvibe-draft .tb-header .wp-block-navigation__responsive-container-open { color: #fff !important; }
body.wp-theme-trobutec-bausanierung-wpvibe-draft .tb-header .wp-block-navigation__responsive-container:not(.is-menu-open) .tb-rental-nav-item .wp-block-navigation-item__content,
body.wp-theme-trobutec-bausanierung-wpvibe-draft .tb-header .wp-block-navigation__responsive-container:not(.is-menu-open) .tb-rental-nav-item .wp-block-navigation-item__label { color: #42d4d7 !important; }
@media (max-width: 600px) {
 .tb-contact-v2 .tb-form-grid { grid-template-columns: minmax(0, 1fr); }
 .tb-contact-v2 .tb-form-grid label.wide { grid-column: auto; }
 .tb-contact-form-wrap.tb-contact-v2 { padding: 22px 16px; }
 body.page-id-108 .tb-page-title { padding-top: 22px; padding-bottom: 22px; }
 body.page-id-108 .wp-block-post-content { padding-top: 20px; }
}
