/* Loaded after the page styles: fixes for the places where Elementor markup differs. */

/* Elementor sets line-height: 1 on titles; the static headings inherit theirs */
body:not(#tha) :where(.elementor-widget-heading) .elementor-heading-title { line-height: inherit; }

/* Treatment pages had <main> with top padding under the fixed header */
body.tp:not(#tha) :is([data-elementor-type="wp-page"], [data-elementor-type="archive"], [data-elementor-type="single-post"]) { padding-top: 76px; }
@media (max-width: 767px) { body.tp:not(#tha) :is([data-elementor-type="wp-page"], [data-elementor-type="archive"], [data-elementor-type="single-post"]) { padding-top: 64px; } }

/* .prose spaces its children with "> * + *"; widget wrappers sit in between */
body:not(#tha) .prose > .elementor-widget + .elementor-widget-heading { margin-top: 18px; }
body:not(#tha) .prose > .elementor-widget + :is(.elementor-widget-text-editor, .elementor-widget-html) > :first-child,
body:not(#tha) .prose > .elementor-widget > * + * { margin-top: 18px; }

/* Article body: the post content widget sits between .post-body and the paragraphs */
body:not(#tha) .post-body :is(.elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) > * + * { margin-top: 1.1em; }
body:not(#tha) .post-body :is(.elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) > h2 { margin-top: 2.2em; }
body:not(#tha) .post-body :is(.elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) > h3 { margin-top: 1.8em; }
body:not(#tha) .post-body :is(.elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) > :is(h2, h3) + * { margin-top: .6em; }

/* The preloader was removed; pages imported before that still carry its markup */
body:not(#tha) .loader { display: none; }

/* Consultation form (Fluent Forms) inside the homepage form card */
body:not(#tha) .tha-ff { display: block; }
body:not(#tha) .tha-ff .fluentform { font: inherit; color: var(--fg); }
body:not(#tha) .tha-ff fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
body:not(#tha) .tha-ff .ff-el-group { margin-bottom: 18px; }
body:not(#tha) .tha-ff .ff-el-input--label { margin-bottom: 8px; }
body:not(#tha) .tha-ff .ff-el-input--label label { font-size: 15px; font-weight: 500; color: var(--fg); }
body:not(#tha) .tha-ff .ff-el-form-control {
  height: 52px; padding: 0 16px; border-radius: 14px; width: 100%;
  background: #fff; color: var(--fg); border: 1.5px solid var(--line-2); box-shadow: none;
  font: inherit; font-size: 16px; transition: border-color .3s;
}
body:not(#tha) .tha-ff textarea.ff-el-form-control { height: auto; min-height: 96px; padding: 14px 16px; resize: vertical; }
body:not(#tha) .tha-ff select.ff-el-form-control { appearance: none; -webkit-appearance: none; padding-right: 40px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23111418' stroke-width='1.5'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 16px center; }
body:not(#tha) .tha-ff .ff-el-form-control:focus { outline: none; border-color: var(--sun-2); }
body:not(#tha) .tha-ff .ff-el-form-control::placeholder { color: var(--fg-3); }
/* checkbox options as pills, like the static form */
body:not(#tha) .tha-ff .ff-el-input--content:has(.ff-el-form-check-checkbox):not(:has(.ff_tc_checkbox)) { display: flex; flex-wrap: wrap; gap: 8px; }
body:not(#tha) .tha-ff .ff-el-form-check { margin: 0; }
body:not(#tha) .tha-ff .ff-el-input--content:not(:has(.ff_tc_checkbox)) .ff-el-form-check-label { position: relative; cursor: pointer; display: inline-flex; }
body:not(#tha) .tha-ff .ff-el-input--content:not(:has(.ff_tc_checkbox)) .ff-el-form-check-input { position: absolute; opacity: 0; pointer-events: none; }
body:not(#tha) .tha-ff .ff-el-input--content:not(:has(.ff_tc_checkbox)) .ff-el-form-check-label span { display: inline-flex; align-items: center; height: 42px; padding: 0 16px; border-radius: 999px; font-size: 15px; color: var(--fg); box-shadow: inset 0 0 0 1.5px var(--line-2); transition: background .3s, color .3s; }
body:not(#tha) .tha-ff .ff-el-form-check-input:checked + span { background: var(--fg); color: var(--ink); box-shadow: none; }
body:not(#tha) .tha-ff .ff-el-form-check-input:focus-visible + span { outline: 2px solid var(--focus); outline-offset: 2px; }
/* privacy consent */
body:not(#tha) .tha-ff .ff_tc_checkbox, body:not(#tha) .tha-ff .ff-el-tc { font-size: 14px; color: var(--fg-2); line-height: 1.45; }
body:not(#tha) .tha-ff .ff-el-tc label, body:not(#tha) .tha-ff .ff_tc_checkbox label { display: flex; gap: 10px; align-items: flex-start; }
body:not(#tha) .tha-ff .ff_tc_checkbox input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--fg); flex: none; }
body:not(#tha) .tha-ff a { color: var(--sun-2); text-decoration: underline; text-underline-offset: 3px; }
/* submit and messages */
body:not(#tha) .tha-ff .ff-btn-submit {
  width: 100%; height: 54px; border: 0; border-radius: 999px; cursor: pointer;
  background: #25d366; color: #0b2414; font: inherit; font-weight: 600; font-size: 16px; letter-spacing: -.01em;
  box-shadow: 0 12px 30px -12px rgba(37, 211, 102, .6); transition: background .3s, transform .2s;
}
body:not(#tha) .tha-ff .ff-btn-submit:hover { background: #1ebe5b; }
body:not(#tha) .tha-ff .ff-btn-submit:active { transform: scale(.98); }
body:not(#tha) .tha-ff .error, body:not(#tha) .tha-ff .text-danger { color: #b3261e; font-size: 13px; margin-top: 6px; }
body:not(#tha) .tha-ff .ff-el-is-error .ff-el-form-control { border-color: #b3261e; }
body:not(#tha) .tha-ff .ff-message-success { border: 0; box-shadow: none; padding: 0; margin: 0; color: var(--fg); font-size: 16px; line-height: 1.55; }
body:not(#tha) .tha-ff .ff-message-success p + p { margin-top: 12px; }
body:not(#tha) .tha-ff .ff-message-success .btn { margin-top: 6px; width: 100%; text-decoration: none; color: #0b2414; background: #25d366; }

/* Logged-in admin bar sits above the fixed header */
body.admin-bar:not(#tha) .nav { top: 32px; }
@media (max-width: 782px) { body.admin-bar:not(#tha) .nav { top: 46px; } }

/* Editor canvas: show everything that JS would normally reveal */
.elementor-editor-active .loader, .elementor-editor-active .grain { display: none !important; }
.elementor-editor-active [data-reveal] { opacity: 1 !important; transform: none !important; }
.elementor-editor-active.is-loading { overflow: auto; }

/* Headings that carried a class in the static page: the class is on the widget, the title inherits its type */
:where(.elementor-widget-heading.big, .elementor-widget-heading.cost__title, .elementor-widget-heading.h-xl, .elementor-widget-heading.h2, .elementor-widget-heading.scene__title, .elementor-widget-heading.sr-only) .elementor-heading-title{font:inherit;letter-spacing:inherit;color:inherit;text-wrap:inherit;text-transform:inherit}
