/* Hand-written fixes on top of the generated CSS (css-isolate output, which is not edited by hand).
   Each rule says what it fixes and where its values come from. Linked last by every layout that renders the header.

   Header phone number (Elementor widget ff207e5). The live WordPress site widened this widget after the rebuild's
   crawl, to 160px (135px up to 1366px wide); the generated CSS still has the crawl's 135px (120px). At 120px a
   CallRail tracking number such as "(615) 312-9776" wrapped onto two lines between 1025px and 1366px.
   The values below are the original's current rules; the extra .elementor-widget-icon-list class makes them win
   over the generated rules wherever those load. */
.elementor-15 .elementor-element.elementor-element-ff207e5.elementor-widget-icon-list {
  width: var(--container-widget-width, 160px);
  max-width: 160px;
  --container-widget-width: 160px;
}
@media (max-width: 1366px) {
  .elementor-15 .elementor-element.elementor-element-ff207e5.elementor-widget-icon-list {
    --container-widget-width: 135px;
    width: var(--container-widget-width, 135px);
    max-width: 135px;
  }
}

/* Studio page builder: type in the Studio library's sections (composed pages and /section-preview/ thumbnails).
   The sections kit keeps its own colours against the theme (lib/captive/sections/styles.css, "Colour guard"), but its
   type stays at zero specificity so a site's typography applies, and the Elementor kit's global element rules,
   `.elementor-kit-14 h1..h6` (Poppins, 35px, 700, capitalize) and `.elementor-kit-14 a` (Poppins), both (0,1,1), set
   every section heading in Poppins at 35px, capitalized. The rules below put the kit's own type back on headings and
   links inside a kit section only ([data-cs-section], the kit's section root; the site's own sections and every other
   page are untouched). Each one repeats a kit rule, same selector and value (the --captive-section-* fonts), with
   .elementor-kit-14 in front: (0,2,1), above Elementor's (0,1,1). Only the type properties the Elementor rules set
   are repeated; colours are the kit's. Re-check this list when the sections kit is refreshed. */
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-section] :is(h1, h2, h3, h4, h5, h6)) {
  font-family: inherit;
  text-transform: none;
}
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-eyebrow]):is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--captive-section-eyebrow-font);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
}
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-display], [data-cs-heading], [data-cs-title], [data-cs-value]):is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--captive-section-heading-font);
  font-weight: var(--captive-section-heading-weight);
}
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-display]):is(h1, h2, h3, h4, h5, h6) { font-size: clamp(2.5rem, 1.55rem + 4.1vw, 5.25rem); }
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-heading]):is(h1, h2, h3, h4, h5, h6) { font-size: clamp(1.875rem, 1.35rem + 2.2vw, 3.25rem); }
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-heading][data-size="sm"]):is(h1, h2, h3, h4, h5, h6) { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem); }
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-title]):is(h1, h2, h3, h4, h5, h6) { font-size: clamp(1.125rem, 1.05rem + 0.35vw, 1.375rem); }
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-small]):is(h1, h2, h3, h4, h5, h6) { font-size: 0.875rem; }
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-section="logos-strip"] [data-cs-label]):is(h1, h2, h3, h4, h5, h6) { font-size: 0.9375rem; }
@media (max-width: 420px) {
  .elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-section="team-grid"] [data-cs-title]):is(h1, h2, h3, h4, h5, h6) { font-size: 1rem; }
}
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-section="pricing-menu"] [data-cs-group] h3):is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--captive-section-eyebrow-font);
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
}
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-help] [data-cs-title]):is(h1, h2, h3, h4, h5, h6) { font-size: 1.0625rem; }
/* The forms kit's page title (lib/captive/forms/styles.css), in a contact section's form slot. */
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-section] [data-form-page-title]):is(h1, h2, h3, h4, h5, h6) { font-size: 1.25rem; }

.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-section] a) { font-family: inherit; }
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-button]):is(a) { font-family: var(--captive-section-button-font); }
.elementor-kit-14 :is([data-captive-composed], [data-captive-section-preview]) :where([data-cs-phone], [data-cs-section="contact-cards"] [data-cs-value-link]):is(a) {
  font-family: var(--captive-section-heading-font);
}

/* Header top bar (Elementor container 2774251, text widget fab56f9): added to the live header in Nov 2026, after the
   rebuild's crawl, so the generated CSS has no rules for it. Copied from the original's current rules (the same values
   as the hidden row 1 bar, 1dc6fb5 and f61ce31). */
.elementor-15 .elementor-element.elementor-element-2774251 {
  --display: flex;
  --flex-direction: row-reverse;
  --container-widget-width: calc((1 - var(--container-widget-flex-grow)) * 100%);
  --container-widget-height: 100%;
  --container-widget-flex-grow: 1;
  --container-widget-align-self: stretch;
  --flex-wrap-mobile: wrap-reverse;
  --justify-content: center;
  --align-items: center;
  --gap: 15px 15px;
  --row-gap: 15px;
  --column-gap: 15px;
  --margin-top: 0px;
  --margin-bottom: 0px;
  --margin-left: 0px;
  --margin-right: 0px;
  --padding-top: 5px;
  --padding-bottom: 5px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-15 .elementor-element.elementor-element-2774251:not(.elementor-motion-effects-element-type-background),
.elementor-15 .elementor-element.elementor-element-2774251 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--e-global-color-primary);
}
.elementor-15 .elementor-element.elementor-element-fab56f9 {
  font-family: Poppins, Sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #fff;
}
.elementor-15 .elementor-element.elementor-element-fab56f9 p {
  margin-block-end: 0px;
}
@media (max-width: 767px) {
  .elementor-15 .elementor-element.elementor-element-fab56f9 {
    width: var(--container-widget-width, 237px);
    max-width: 237px;
    --container-widget-width: 237px;
    --container-widget-flex-grow: 0;
    font-size: 13px;
  }
}

/* Header logo (Elementor container 8077757, image widget 2a9f43a). The live site removed the padding around the logo
   after the rebuild's crawl; without these two rules the container's default 10px padding shrank the logo (107px
   instead of 122px wide at 1440px) and moved it 10px right on screens wider than 1366px. The values are the
   original's current base rules. */
.elementor-15 .elementor-element.elementor-element-8077757 {
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-15 .elementor-element.elementor-element-2a9f43a > .elementor-widget-container {
  padding: 0;
}

/* HRT and TRT Nashville heroes, tablet and phone: the "In-person visit with a licensed nurse practitioner" line
   (widgets 6c10e00e and 41ea99d7). The generated CSS pulls it up 30px (tablet) and 20px (phone), which put it on top of
   the avatars and "Rated 4.9" row above it. It gets the desktop spacing, 10px below that row (launch phone check,
   2026-11-11). The extra .elementor-widget-heading class makes this win over the generated rules. */
@media (max-width: 1024px) {
  .elementor-1283 .elementor-element.elementor-element-6c10e00e.elementor-widget-heading > .elementor-widget-container,
  .elementor-1256 .elementor-element.elementor-element-41ea99d7.elementor-widget-heading > .elementor-widget-container {
    margin: 10px 0 0;
  }
}

/* Reviews, phone: the "Client Testimonials" section (1igk475) has a black and white diagonal background. With the
   columns stacked it ran through the Eric Decker quote. Removed on phones only; tablet and desktop keep it (launch
   phone check, 2026-11-11). */
@media (max-width: 767px) {
  .elementor-192 .elementor-element.elementor-element-1igk475.elementor-section {
    background-image: none;
    background-color: #fff;
  }
}

/* Header logo (image widget 2a9f43a) on large screens. Its width is a share of the logo column, so it keeps growing with
   the screen: at 2400px wide it was 62px tall in the 80px header and touched the bar above and the hero below. Its box is capped at
   220px, so the logo (75% of it) stops at 165px wide (50px tall), its size at about 1900px, which leaves 15px above and below it (Zachary, 2026-11-11). */
.elementor-15 .elementor-element.elementor-element-2a9f43a > .elementor-widget-container {
  max-width: 220px;
}

/* Footer menu (nav menu widgets 03e93cd and f320329): the menu sits at the bottom of the page, so the Services dropdown
   opened downward over the footer's edge. It opens upward instead. SmartMenus sets the dropdown's position inline when
   it opens, hence !important (Zachary, 2026-11-11). */
.elementor-element-03e93cd .elementor-nav-menu--main .elementor-nav-menu > li > .sub-menu,
.elementor-element-f320329 .elementor-nav-menu--main .elementor-nav-menu > li > .sub-menu {
  top: auto !important;
  bottom: 100% !important;
  margin-top: 0 !important;
}
