.elementor-kit-6{--e-global-color-primary:#1B5A81;--e-global-color-secondary:#123F5B;--e-global-color-text:#2B2B2B;--e-global-color-accent:#3DA0C9;color:#2B2B2B;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#1B5A81;font-family:"Inter", Sans-serif;font-size:17px;font-weight:600;color:#FFFFFF;border-radius:6px 6px 6px 6px;padding:15px 30px 15px 30px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#3DA0C9;color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#3DA0C9;}.elementor-kit-6 a:hover{color:#1B5A81;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --wc-navy:#1B5A81; --wc-navy-dark:#123F5B; --wc-navy-deep:#0D2E43; --wc-sky:#3DA0C9; --wc-sky-text:#24739A; --wc-sky-light:#6FC0E0; --wc-sand:#F4EFE7; --wc-sand-line:#EAE3D8; --wc-white:#FFFFFF; --wc-ink:#2B2B2B; --wc-muted:#5C6670; --wc-line:#E4E9EE; --wc-footer-text:#C6D5E0; --wc-font-heading:Bitter; --wc-font-body:Inter; --wc-space-xs:8px; --wc-space-sm:12px; --wc-space-md:24px; --wc-space-lg:36px; --wc-space-xl:88px; --wc-radius:12px; --wc-radius-sm:6px; --wc-text-sm:14px; --wc-text-base:17px; --wc-text-lg:19px; --wc-h3:23px; --wc-h2:36px; --wc-h1:44px; --wc-tap:48px; --wc-maxw:1200px; --wc-shadow-card:0 1px 2px rgba(18,63,91,.04), 0 6px 18px rgba(18,63,91,.06); --wc-shadow-hover:0 2px 4px rgba(18,63,91,.06), 0 14px 32px rgba(18,63,91,.12); --wc-line-height:1.75; }
/* Start custom CSS *//* ============ Wellness Chiropractic — global refinements ============ */
:root{
  --wc-navy:#1B5A81; --wc-navy-dark:#123F5B; --wc-sky:#3DA0C9;
  --wc-sand:#F4EFE7; --wc-ink:#2B2B2B; --wc-muted:#5C6670;
  --wc-sky-text:#24739A; --wc-sky-on-dark:#6FC0E0;
  --wc-head:'Bitter', Georgia, 'Times New Roman', serif;
  --wc-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
html{scroll-behavior:smooth;}
body{ -webkit-font-smoothing:antialiased; }
a{ text-underline-offset:3px; }

/* ---------- Neutralise the theme chrome ----------
   Hello Elementor renders its own dynamic header (site title + tagline) and a
   page-title block. The design supplies its own header and page hero, so both are
   suppressed. This must not depend on Elementor's editor-only settings. */
.site-header, #site-header, header.dynamic-header{ display:none !important; }
.entry-title, .page-header h1, .page-header .entry-title{ display:none !important; }
.page-header{ margin:0 !important; padding:0 !important; border:0 !important; }

/* ---------- Typography system ---------- */
body, .elementor-widget-text-editor, .elementor-widget-text-editor p,
.elementor-widget-icon-list .elementor-icon-list-text,
.elementor-field-group label, .elementor-field-textual{
  font-family:var(--wc-body);
}
.elementor-heading-title,
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title{
  font-family:var(--wc-head);
  font-weight:600;
}
.elementor-widget-heading h1.elementor-heading-title{ font-size:44px; line-height:1.18; font-weight:700; letter-spacing:-0.4px; }
.elementor-widget-heading h2.elementor-heading-title{ font-size:36px; line-height:1.24; font-weight:700; letter-spacing:-0.3px; }
.elementor-widget-heading h3.elementor-heading-title{ font-size:23px; line-height:1.32; }
.elementor-widget-heading h4.elementor-heading-title{ font-size:20px; line-height:1.35; }
.elementor-widget-heading h5.elementor-heading-title{ font-size:17px; line-height:1.4; }
/* Eyebrow style: small uppercase Inter */
.elementor-widget-heading h6.elementor-heading-title{
  font-family:var(--wc-body); font-size:14px; font-weight:700;
  letter-spacing:1.2px; text-transform:uppercase; line-height:1.45;
}
/* Body copy */
.elementor-widget-text-editor{ font-size:17px; line-height:1.75; }
.elementor-widget-text-editor p{ margin-bottom:1.05em; }
.elementor-widget-text-editor p:last-child{ margin-bottom:0; }


/* ---------- Font Awesome (solid) subset ----------
   Elementor does not enqueue its bundled Font Awesome on the front end on this
   install, so the font files and the icon glyphs used here are declared directly.
   Fonts are served same-origin from the Elementor plugin directory. The directory
   is substituted from FA_DIR when this module is imported, because Elementor serves
   this stylesheet as a static file and it cannot know the plugin URL.
   NB: the content values need a literal backslash (a CSS escape). Writing the escape
   without it yields a form-feed and an invalid empty value, which makes the CSS parser
   discard every rule after it. */
@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url("https://wellness-chiropractic-health-center.com/wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.woff2") format("woff2"),url("https://wellness-chiropractic-health-center.com/wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.ttf") format("truetype");}
.fas,.fa-solid{font-family:"Font Awesome 6 Free" !important;font-weight:900;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto;}
.fas::before,.fa-solid::before{display:inline-block;}
.fa-angle-right::before{content:"\f105";}
.fa-bone::before{content:"\f5d7";}
.fa-certificate::before{content:"\f0a3";}
.fa-check-circle::before{content:"\f058";}
.fa-clock::before{content:"\f017";}
.fa-dizzy::before{content:"\f567";}
.fa-envelope::before{content:"\f0e0";}
.fa-fax::before{content:"\f1ac";}
.fa-hand-holding-heart::before{content:"\f4be";}
.fa-hand-holding-medical::before{content:"\e05c";}
.fa-head-side-virus::before{content:"\e064";}
.fa-lungs::before{content:"\f604";}
.fa-map-marker-alt::before{content:"\f3c5";}
.fa-phone-alt::before{content:"\f879";}
.fa-quote-left::before{content:"\f10d";}
.fa-user-md::before{content:"\f0f0";}
.fa-walking::before{content:"\f554";}
.fa-x-ray::before{content:"\f497";}


/* ---------- Accessible accent tones ----------
   The brand sky #3DA0C9 is a mid-tone: it fails WCAG AA both as text on white and as
   text on navy. It is retained for decorative use (icons, rules, hover fills) and two
   tuned variants carry text and links:
     #24739A  -> 5.26:1 on white, 4.59:1 on sand
     #6FC0E0  -> 5.45:1 on deep navy
   Ratios measured with the WCAG 2.1 relative-luminance formula. */
.elementor-widget-text-editor a{ color:var(--wc-sky-text); text-decoration:underline; }
.elementor-widget-text-editor a:hover{ color:var(--wc-navy); }
.elementor-widget-icon-list a{ color:inherit; }
.wc-legal a{ color:#B7C8D4; }
.wc-legal a:hover{ color:#fff; }
.wc-video__name{ color:var(--wc-navy); }

/* ---------- Click-to-load video facades ----------
   Fifteen simultaneous Vimeo/YouTube iframes would dominate page weight, so each
   video shows its real thumbnail and only loads the third-party player on click. */
.wc-video{ margin:0; }
.wc-video__btn{ position:relative; display:block; width:100%; padding:0; border:0;
  background:none; cursor:pointer; border-radius:10px; overflow:hidden;
  line-height:0; box-shadow:0 2px 10px rgba(18,63,91,.14); }
.wc-video__btn img{ width:100%; height:auto; display:block; border-radius:10px;
  transition:transform .3s ease, filter .3s ease; }
.wc-video__btn:hover img{ transform:scale(1.03); filter:brightness(.86); }
.wc-video__play{ position:absolute; top:50%; left:50%; width:66px; height:66px;
  margin:-33px 0 0 -33px; border-radius:50%; background:rgba(27,90,129,.92);
  transition:background .2s ease; }
.wc-video__play::after{ content:""; position:absolute; top:50%; left:50%;
  margin:-11px 0 0 -7px; border-style:solid; border-width:11px 0 11px 18px;
  border-color:transparent transparent transparent #fff; }
.wc-video__btn:hover .wc-video__play{ background:var(--wc-sky-text); }
.wc-video__btn:focus-visible{ outline:3px solid var(--wc-sky-text); outline-offset:3px; }
.wc-video__frame{ position:relative; padding-top:56.25%; border-radius:10px; overflow:hidden; }
.wc-video__frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.wc-video__name{ margin:12px 0 0; font-family:var(--wc-body); font-size:15px; font-weight:600; }

/* Visible keyboard focus everywhere (accessibility) */
a:focus-visible,button:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--wc-sky); outline-offset:2px; border-radius:3px;
}
.screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap; }

/* ---------- Top utility bar ---------- */
.wc-topbar .elementor-widget-text-editor{ margin:0 !important; }
.wc-tb{ display:inline-flex; align-items:center; gap:8px; color:#C6D5E0; font-size:14px;
  margin-right:22px; }
.wc-tb:last-child{ margin-right:0; }
.wc-tb a{ color:#C6D5E0; text-decoration:none; }
.wc-tb a:hover{ color:#fff; text-decoration:underline; }
.wc-tb i{ color:var(--wc-sky-on-dark); font-size:13px; }
.wc-topbar .elementor-widget-text-editor{ text-align:right; }
.wc-topbar .elementor-widget-text-editor p{ margin:0 !important; }

/* ---------- Header ---------- */
.wc-header-main .elementor-widget-image img{ max-height:64px; width:auto; }
.wc-navcol .elementor-icon-list-items{ display:flex !important; flex-wrap:nowrap !important;
  justify-content:center !important; align-items:center !important; gap:22px; white-space:nowrap; }
.wc-navcol .elementor-icon-list-items,
.wc-navcol .elementor-icon-list-items.elementor-inline-items{
  margin-inline:0 !important; margin-left:0 !important; margin-right:0 !important; }
.wc-navcol .elementor-icon-list-item,
.wc-navcol .elementor-icon-list-item.elementor-inline-item{
  margin:0 !important; margin-inline:0 !important; padding:0 !important; width:auto !important; }
.wc-navcol .elementor-icon-list-item:after{ display:none !important; }
.wc-navcol .elementor-icon-list-text{ font-weight:500; font-size:15px; }
.wc-navcol .elementor-icon-list-item a{ position:relative; padding-bottom:3px; }
.wc-navcol .elementor-icon-list-item a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:2px;
  background:var(--wc-sky); transition:width .22s ease;
}
.wc-navcol .elementor-icon-list-item a:hover::after{ width:100%; }

/* ---------- Footer ---------- */
.wc-footer-main .elementor-icon-list-item a{ color:#C6D5E0; }
.wc-footer-main .elementor-icon-list-item a:hover{ color:#fff; }
.wc-fl{ display:inline-flex; align-items:flex-start; gap:10px; }
.wc-fl i{ color:var(--wc-sky-on-dark); margin-top:5px; font-size:13px; }
.wc-fl a{ color:#C6D5E0; text-decoration:none; }
.wc-fl a:hover{ color:#fff; text-decoration:underline; }
.wc-footer-legal .elementor-widget-text-editor{ margin:0 !important; }
.wc-legal{ display:inline-block; margin:0 14px; }
.wc-legal a{ color:#93A9B9; }
.wc-legal a:hover{ color:#fff; }

/* ---------- Reusable section helpers ---------- */
.wc-sand{ background-color:var(--wc-sand); }
.wc-cta-band .wc-cta-phone a{ color:#fff; text-decoration:none; }
.wc-cta-band .wc-cta-phone a:hover{ color:var(--wc-sky-on-dark); }
.wc-card .elementor-widget-heading a{ text-decoration:none; }
.wc-card .elementor-widget-heading a:hover{ text-decoration:underline; }
.wc-eq > .elementor-element-populated{ height:100%; }

/* Lead paragraph slightly larger */
.wc-lead, .wc-lead p{ font-size:19px !important; line-height:1.68 !important; }

/* Note / disclaimer text */
.wc-note, .wc-note p{ font-size:14.5px !important; color:var(--wc-muted) !important; line-height:1.7 !important; }

/* ---------- Condensed / portrait imagery ---------- */
.wc-cond-explainer .elementor-widget-image img{ max-width:min(400px, 100%) !important;
  width:auto !important; height:auto !important; margin:0 auto; }

/* ---------- Maps ---------- */
.wc-map iframe, .elementor-widget-google_maps iframe{
  display:block; width:100% !important; height:260px !important; min-height:260px;
  border:0; border-radius:10px; }

/* ---------- Forms ---------- */
.elementor-field-group label{ font-weight:600; color:var(--wc-navy); font-size:15px; }
.elementor-field-textual{ border-radius:6px !important; border:1px solid #CBD5DD !important;
  padding:13px 15px !important; font-size:16px; }
.elementor-field-textual:focus{ border-color:var(--wc-sky) !important; }
.elementor-button{ transition:background-color .2s ease,color .2s ease; }

/* ---------- Responsive ---------- */
@media(max-width:1200px){
  .wc-navcol .elementor-icon-list-items{ flex-wrap:wrap !important; gap:10px 16px !important;
    white-space:normal !important; }
  .wc-navcol .elementor-icon-list-text{ font-size:14px; }
}
@media(max-width:1024px){
  .elementor-widget-heading h1.elementor-heading-title{ font-size:38px; }
  .elementor-widget-heading h2.elementor-heading-title{ font-size:31px; }
  .wc-navcol .elementor-icon-list-items{ gap:10px 16px !important; flex-wrap:wrap !important; }
  .wc-navcol .elementor-icon-list-text{ font-size:14px; }
}
@media(max-width:767px){
  .elementor-widget-heading h1.elementor-heading-title{ font-size:31px; }
  .elementor-widget-heading h2.elementor-heading-title{ font-size:26px; }
  .elementor-widget-heading h3.elementor-heading-title{ font-size:21px; }
  .elementor-widget-text-editor{ font-size:16px; }
  .wc-topbar{ display:none !important; }
  .wc-header-main{ padding-top:14px !important; padding-bottom:14px !important; }
  .wc-header-main .elementor-column{ width:100% !important; text-align:center; }
  .wc-header-main .elementor-widget-image img{ margin:0 auto; max-height:48px; }
  .wc-header-main .elementor-button{ width:100%; }
  .wc-navcol .elementor-icon-list-items{ gap:8px 14px !important; margin-top:12px !important;
    flex-wrap:wrap !important; }
  .wc-navcol .elementor-icon-list-text{ font-size:14px; }
  .wc-legal{ display:block; margin:4px 0; }
  .wc-cta-band .wc-cta-phone a{ font-size:24px; }
}

/* ==================== POLISH PASS ====================
   Finishing layer: unified vertical rhythm, card treatment, and detail work.
   Kept separate from the structural rules above so it is easy to tune or remove. */

/* ---------- Section rhythm ----------
   Elementor writes its own per-element padding rule using an id in the .elementor-kit-6, which
   outranks a plain class. Matching that specificity is what actually enforces one
   consistent vertical scale, instead of the 84/76/72/70/64/56/38/30 mix the per-page
   data produced. Every content band is 88px top and bottom; the exceptions are the
   site chrome, the hero, and the deliberately tight bands listed below. */
.elementor-section.elementor-top-section[data-id]{ padding-top:88px !important; padding-bottom:88px !important; }
/* Exceptions, declared AFTER the base rule so they win.
   Higher specificity (section + class + data-id) also keeps them ahead. */
.elementor-section.wc-topbar[data-id]{ padding-top:9px !important; padding-bottom:9px !important; }
.elementor-section.wc-header-main[data-id]{ padding-top:16px !important; padding-bottom:16px !important; }
.elementor-section.wc-footer-legal[data-id]{ padding-top:22px !important; padding-bottom:22px !important; }
.elementor-section.wc-footer-main[data-id]{ padding-top:64px !important; padding-bottom:48px !important; }
.elementor-section.wc-cta-band[data-id]{ padding-top:72px !important; padding-bottom:72px !important; }
/* Hero call-to-action pair.
   The hero text column is ~500px and the two buttons total ~557px, so they cannot sit
   on one row without shrinking the labels. They are stacked intentionally, each sized
   to its own text and left-aligned with the copy above them. */
.wc-hero .elementor-widget-button{ display:inline-block; width:auto !important; }
.wc-hero .elementor-widget-button .elementor-button{ display:inline-block; width:auto; }
.wc-hero .elementor-widget-image img{ width:100%; height:auto; display:block;
  aspect-ratio:4 / 3; object-fit:cover; }
/* Continuation sections: card rows, button rows and step rows that follow a heading
   band. They take no top padding, so a group reads as a single band instead of two
   stacked 88px paddings. Declared with section+class+data-id specificity so it wins
   over the base rhythm rule. */
.elementor-section.wc-cont[data-id]{ padding-top:0 !important; }
/* Heading bands that introduce a following content row: tighter bottom so the heading
   and its content read as one block instead of leaving an 88px hole between them. */
.elementor-section.wc-head-band[data-id]{ padding-bottom:36px !important; }

.elementor-section.wc-truststrip[data-id]{ padding-top:30px !important; padding-bottom:30px !important; }
.elementor-section.wc-steps[data-id]{ padding-top:0 !important; padding-bottom:80px !important; }
.elementor-section.wc-schema[data-id], .elementor-section.wc-redirect[data-id]{
  padding-top:0 !important; padding-bottom:0 !important; height:0; overflow:hidden; }

/* ---------- Cards ----------
   Applied from CSS because the per-column background/padding/radius settings in the
   page data do not take effect on this Elementor build. */
.wc-card{
  background:#FFFFFF;
  border:1px solid #E4E9EE;
  border-radius:12px;
  padding:30px 28px;
  box-shadow:0 1px 2px rgba(18,63,91,.04), 0 6px 18px rgba(18,63,91,.06);
  transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.wc-card:hover{
  box-shadow:0 2px 4px rgba(18,63,91,.06), 0 14px 32px rgba(18,63,91,.12);
  transform:translateY(-3px);
  border-color:#CFDBE4;
}
/* ---------- Card grid gap ----------
   Elementor's "extended" column gap is overridden by the card's own padding, so card
   columns ended up flush against each other (measured: columns at x=120/520/920, gap 0).
   An explicit gap on any container that holds card columns restores breathing room, and
   is scoped with :has() so it cannot affect non-card layouts. */
.elementor-container:has(> .wc-card-column){ gap:32px !important; row-gap:32px !important; }
@media(max-width:767px){
  .elementor-container:has(> .wc-card-column){ gap:20px !important; row-gap:20px !important; }
}

/* ---------- Hero call-to-action pair ----------
   The two buttons total ~557px and the hero copy column is ~500px, so they cannot share a
   row without shrinking the labels. They are stacked deliberately and given one shared
   width so the pair reads as a tidy block rather than two ragged buttons. */
/* Wide enough for the longest label on one line, so the pair aligns without wrapping. */
.wc-hero .elementor-widget-button{ width:100% !important; max-width:300px; }
.wc-hero .elementor-button{ width:100% !important; display:flex !important; white-space:nowrap !important; }

/* ---------- Header: centre everything on one line ---------- */
/* Header columns differ in natural height (logo 84 / nav 49 / button 91), and Elementor's
   own rules outrank a plain class, so the wrapper is made a centred flex box explicitly. */
.wc-header-main .elementor-container{ align-items:center !important; }
.wc-header-main .elementor-column{ align-self:center !important; display:flex !important;
  align-items:center !important; height:auto !important; }
.wc-header-main .elementor-widget-wrap{ align-items:center !important; height:auto !important;
  display:flex !important; }
.wc-header-main .elementor-widget{ align-self:center !important; }
.wc-navcol .elementor-icon-list-items{ align-items:center !important; }
.wc-navcol .elementor-icon-list-item{ display:flex !important; align-items:center !important; }

/* Card layout.
   `.wc-card` is applied to the COLUMN itself, so the card *is* the column. This build
   resolves the container's default `align-items: normal` to flex-start rather than
   stretch, which is why card heights were ragged. Stretch is set explicitly, and the
   content wrapper is made a flex column so the attribution can be pushed to the bottom. */
.elementor-section > .elementor-container:has(> .elementor-column.wc-card-column){
  align-items:stretch !important;
}
.elementor-column.wc-card-column > .elementor-widget-wrap{
  display:flex; flex-direction:column; height:100%; width:100%;
}
.elementor-column.wc-card-column > .elementor-widget-wrap > .elementor-widget{
  width:100%;
}
/* Push the trailing attribution/link down so every card's footer lines up */
.elementor-column.wc-card-column > .elementor-widget-wrap > .elementor-widget:last-child{
  margin-top:auto !important;
}

/* ---------- Trust strip ----------
   Was 278px tall for one row of short facts; tightened so it reads as a band. */
.wc-truststrip .elementor-widget-icon{ margin-bottom:2px; }
.wc-truststrip .elementor-widget-icon i{ font-size:26px !important; }
.wc-truststrip .elementor-heading-title{ font-size:19px !important; margin-bottom:2px !important; }
.wc-truststrip .elementor-widget-text-editor{ font-size:13.5px !important; line-height:1.5 !important; }

/* ---------- Navigation ---------- */
.wc-navcol .elementor-icon-list-item a::after{ height:2px; background:var(--wc-sky-text); }

/* ---------- Buttons ---------- */
.elementor-button{ box-shadow:0 1px 2px rgba(18,63,91,.08); }
.elementor-button:hover{ box-shadow:0 4px 12px rgba(18,63,91,.16); }

/* ---------- Alternating bands: soften the joins ---------- */
.wc-sand, .elementor-section[style*="F4EFE7"]{ border-top:1px solid #EAE3D8; border-bottom:1px solid #EAE3D8; }

/* ---------- Imagery ---------- */
.elementor-widget-image img{ box-shadow:0 2px 6px rgba(18,63,91,.08); }
.wc-hero .elementor-widget-image img{ box-shadow:0 12px 34px rgba(0,0,0,.22); }

/* ---------- Lists ---------- */
.elementor-icon-list-item{ align-items:flex-start; }
.elementor-widget-icon-list .elementor-icon-list-text{ padding-inline-start:10px; }

/* ---------- Footer ---------- */
.wc-footer-main .elementor-heading-title{ margin-bottom:14px !important; }
.wc-footer-main .elementor-widget-text-editor{ line-height:1.85 !important; }

/* ---------- Empty spacer/heading-only bands shouldn't add their own padding ---------- */
.elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-spacer){ padding-top:0; padding-bottom:0; }

/* ---------- Mobile refinements ---------- */
@media(max-width:767px){
  .elementor-section.elementor-top-section{ padding-top:56px; padding-bottom:56px; }
  .wc-hero{ padding-top:60px; padding-bottom:60px; }
  .wc-truststrip{ padding-top:24px; padding-bottom:24px; }
  .wc-card{ padding:24px 20px; }
  .wc-hero .elementor-widget-image img{ box-shadow:0 8px 20px rgba(0,0,0,.2); }
}

/* Wellness staging polish, 2026-10-06. Retains the existing Elementor design. */
footer#site-footer.dynamic-footer { display:none !important; }
.elementor-section.wc-topbar[data-id] { padding-top:6px !important; padding-bottom:6px !important; }
.wc-topbar > .elementor-container > .elementor-column > .elementor-widget-wrap,
.wc-header-main > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:0 10px !important; }
.wc-header-main .elementor-widget-button .elementor-widget-container { padding:0 !important; }
.wc-header-main .elementor-widget-button { padding:0 !important; }
.elementor-section.wc-header-main[data-id] { padding-top:10px !important; padding-bottom:10px !important; }
.wc-header-main .elementor-widget-image img { max-height:56px !important; }
.wc-header-main .elementor-button { padding:13px 18px !important; font-size:15px !important; white-space:nowrap; }
.elementor-section.wc-hero[data-id],
.elementor-section.wc-page-hero[data-id] { padding-top:48px !important; padding-bottom:48px !important; }
.elementor-section.wc-hero[data-id] { padding-inline:20px !important; }
.wc-hero > .elementor-container { gap:36px; align-items:center !important; }
.wc-hero > .elementor-container > .elementor-column { width:calc(50% - 18px) !important; }
.wc-hero > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:0 !important; }
.wc-hero .elementor-widget .elementor-widget-container { padding:0 !important; }
.wc-hero .elementor-widget { margin-bottom:16px !important; }
.wc-hero .elementor-widget:last-child { margin-bottom:0 !important; }
.wc-hero .elementor-heading-title { margin:0 !important; }
.wc-hero h1.elementor-heading-title { font-size:44px !important; line-height:1.14 !important; }
.wc-hero .elementor-widget-text-editor { font-size:18px !important; line-height:1.65 !important; }
.wc-hero .elementor-widget-text-editor p { margin:0 !important; }
.wc-hero .elementor-widget-button { max-width:300px; margin-right:0 !important; padding:0 !important; }
.wc-hero .elementor-button { box-sizing:border-box; justify-content:center; white-space:normal !important; padding:14px 18px !important; font-size:16px !important; }
.wc-hero .elementor-widget-image img { width:100% !important; height:auto !important; aspect-ratio:auto !important; object-fit:contain !important; border-radius:14px !important; }
.elementor-section.wc-hero-note[data-id] { padding-top:16px !important; padding-bottom:16px !important; }
.wc-review-jumps { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; margin:18px 0 0; }
.wc-review-jumps a { color:#fff !important; text-decoration:underline; text-underline-offset:4px; padding:8px 0; font-size:16px; }
.wc-review-expand { margin-top:18px; border-top:1px solid #D8E2E9; }
.wc-review-expand summary { cursor:pointer; padding:14px 0; color:#1B5A81; font-weight:600; line-height:1.5; }
.wc-review-expand summary:focus-visible { outline:3px solid #24739A; outline-offset:4px; }
.wc-review-expand[open] summary { margin-bottom:8px; }
.wc-review-full { line-height:1.75; }
.elementor-section.wc-written-reviews[data-id] > .elementor-container:has(> .elementor-column.wc-review-card) { align-items:flex-start !important; }
.elementor-column.wc-review-card > .elementor-widget-wrap { height:auto !important; }
.elementor-column.wc-review-card > .elementor-widget-wrap > .elementor-widget:last-child { margin-top:16px !important; }
.wc-written-reviews > .elementor-container > .wc-review-card:only-child { width:100% !important; max-width:800px; margin-inline:auto; }
.wc-written-reviews > .elementor-container:not(:has(> .wc-review-card ~ .wc-review-card)) > .wc-review-card { width:100% !important; max-width:800px; margin-inline:auto; }
.wc-written-reviews > .elementor-container:not(:has(> .wc-review-card ~ .wc-review-card)) > .elementor-column:not(.wc-review-card) { display:none !important; }
#patient-stories, #video-testimonials { scroll-margin-top:24px; }
@media (max-width:1024px) and (min-width:768px) {
  .wc-steps > .elementor-container { flex-wrap:wrap !important; row-gap:28px; }
  .wc-steps > .elementor-container > .wc-step { width:50% !important; }
  .wc-hero h1.elementor-heading-title { font-size:36px !important; }
  .wc-hero > .elementor-container { gap:24px; }
  .wc-hero > .elementor-container > .elementor-column { width:calc(50% - 12px) !important; }
  .wc-header-main .elementor-button { font-size:14px !important; padding:12px !important; }
}
@media (max-width:767px) {
  .elementor-section.wc-header-main[data-id] { padding-top:12px !important; padding-bottom:12px !important; }
  .wc-header-main > .elementor-container { flex-wrap:wrap !important; gap:10px 0; }
  .wc-header-main > .elementor-container > .wc-header-brand { width:38% !important; order:1; }
  .wc-header-main > .elementor-container > .wc-header-action { width:62% !important; order:2; }
  .wc-header-main > .elementor-container > .wc-navcol { width:100% !important; order:3; }
  .wc-header-main .elementor-widget-image img { max-height:44px !important; }
  .wc-header-brand .elementor-widget-image { text-align:left !important; }
  .wc-header-main .elementor-button { padding:12px 10px !important; font-size:14px !important; }
  .wc-navcol .elementor-icon-list-items { margin-top:0 !important; gap:8px 16px !important; }
  .wc-navcol .elementor-icon-list-item a { min-height:32px; }
  .elementor-section.wc-hero[data-id],
  .elementor-section.wc-page-hero[data-id] { padding-top:28px !important; padding-bottom:32px !important; padding-inline:20px !important; }
  .wc-hero > .elementor-container { gap:24px; }
  .wc-hero > .elementor-container > .elementor-column { width:100% !important; }
  .wc-hero > .elementor-container > .wc-hero-photo { order:-1; }
  .wc-hero .elementor-widget-image img { height:180px !important; object-fit:cover !important; object-position:65% 25%; }
  .wc-hero h1.elementor-heading-title { font-size:29px !important; line-height:1.16 !important; }
  .wc-hero .elementor-widget-text-editor { font-size:16px !important; line-height:1.6 !important; }
  .wc-hero .elementor-widget-button { max-width:100% !important; }
  .wc-review-jumps { gap:4px 20px; }
}/* End custom CSS */