/* Shared phone and tablet layout, including location-specific headers. */
.location-map-embed { display: flex; flex-direction: column; align-items: center; gap: 8px; max-width: 100%; }
.location-map-embed [data-map-link] { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 6px 12px; border-radius: 6px; background: #eaf1f4; color: #111; font-size: 13px; text-decoration: underline; }
.canvas-responsive-header { display: none; }
@media (max-width: 1024px) {
  /* The homepage hero uses two natural rows instead of text crossing the video edge. */
  .elementor-158 .elementor-element.elementor-element-339611f5 {
    --min-height: 0px !important; min-height: 0; height: auto; padding: 0 !important;
  }
  .elementor-158 .elementor-element.elementor-element-339611f5 > .e-con-inner {
    flex-direction: column; align-items: stretch; padding: 0 !important; gap: 0;
  }
  .elementor-158 .elementor-element-339611f5 > .e-con-inner > .elementor-background-video-container {
    position: relative !important; inset: auto; width: 100%; height: auto !important; aspect-ratio: 1920 / 1014;
  }
  .elementor-158 .elementor-element.elementor-element-58386a5c {
    --width: 100%; width: 100%; padding: 22px 24px 26px !important;
    --gap: 12px; gap: 12px; margin: 0; justify-content: flex-start;
  }
  .elementor-158 .elementor-element-58386a5c > .elementor-widget { margin: 0 !important; }
  .elementor-158 .elementor-element-58386a5c .elementor-heading-title { margin: 0; }
  .elementor-158 .elementor-element.elementor-element-bce8730 {
    --divider-icon-size: 32px !important; --divider-border-width: 1px; margin: 0 !important;
  }
  .elementor-158 .elementor-element-bce8730 .elementor-divider { padding-block: 0; }
  .elementor-158 .elementor-element-58386a5c .elementor-widget-text-editor p { margin: 0; }
  /* Contact pages had three nested sets of padding, leaving a 135px form. */
  .elementor :is([data-id="6648d2ec"],[data-id="df9ce5e"],[data-id="81a3382"],
    [data-id="476b502e"],[data-id="21c2c902"]) {
    padding: 0 !important; --width: 100%; width: 100%; max-width: 100%;
  }
  .elementor :is([data-id="df9ce5e"],[data-id="476b502e"]) { gap: 28px; }
  .elementor .elementor-element:is(.elementor-element-c59d207,.elementor-element-43e66a2d) {
    padding: 36px 24px 28px !important; max-width: 480px !important;
    align-self: center !important; border-radius: 160px 160px 24px 24px !important;
    --border-radius: 160px 160px 24px 24px; text-align: center;
  }
  .elementor :is([data-id="c59d207"],[data-id="43e66a2d"]) .e-con {
    --width: 100%; width: 100% !important; max-width: 100%;
    align-items: center; align-self: center; text-align: center;
  }
  .elementor :is([data-id="c59d207"],[data-id="43e66a2d"]) .elementor-widget {
    max-width: 100%; text-align: center;
  }
  .elementor :is([data-id="c59d207"],[data-id="43e66a2d"]) :is(.elementor-heading-title,.elementor-icon-list-item) {
    text-align: center; justify-content: center;
  }
  .elementor :is([data-id="c59d207"],[data-id="43e66a2d"]) .elementor-icon-list-item > a {
    justify-content: center;
  }
  .elementor .elementor-widget-theme-post-content :is(h1,h2,h3,h4),
  .elementor .wp-block-group :is(h1,h2,h3,h4) {
    font-size: clamp(1.75rem, 4vw, 2.25rem); line-height: 1.2; margin-block: 24px 16px;
    overflow-wrap: break-word;
  }
  .elementor .elementor-widget-theme-post-content :is(p,li),
  .elementor .wp-block-group p { font-size: 16px; line-height: 1.65; }
  .elementor .elementor-widget-theme-post-content img,
  .elementor .wp-block-image img {
    display: block; width: auto !important; height: auto !important;
    max-width: 100% !important; max-height: 420px !important; object-fit: contain; margin-inline: auto;
  }
  .gtranslate_wrapper .gt_switcher_wrapper {
    position: static !important; display: flex; justify-content: center; padding: 12px 20px 24px;
  }
  .gtranslate_wrapper select { width: 180px; max-width: 100%; min-height: 40px; font-size: 16px; }
  /* Keep long portraits and map embeds inside the available screen space. */
  .elementor .elementor-widget-image img[src*="/Doctor"] {
    width: auto !important; height: auto !important; max-width: 100%; max-height: 420px; object-fit: contain;
  }
  .elementor .elementor-widget-image:has(img[src*="/Doctor"]) { text-align: center; }
  .elementor .elementor-element.elementor-element-67ab7229 {
    --min-height: 0px; min-height: 0; width: min(100%, 280px); max-height: 420px;
    aspect-ratio: 781 / 1175; align-self: center; flex-grow: 0; background-size: contain !important;
  }
  .elementor .elementor-widget-html:has(iframe[src*="google.com/maps"]) {
    display: flex; justify-content: center; max-width: 100%;
  }
  .elementor .elementor-widget-html iframe[src*="google.com/maps"] {
    display: block; width: min(100%, 220px); max-width: 100%; height: auto;
    aspect-ratio: 1; border: 0; border-radius: 12px !important;
  }
  .canvas-responsive-header { display: block; }
  .elementor .e-con, .elementor .elementor-widget { min-width: 0; }
  .elementor .elementor-element.elementor-widget-heading .elementor-heading-title {
    overflow-wrap: break-word; text-wrap: pretty;
  }
  .elementor .elementor-element.elementor-widget-heading h1.elementor-heading-title {
    font-size: clamp(2rem, 5.5vw, 3.5rem); line-height: 1.15;
  }
  .elementor .elementor-element.elementor-widget-heading h2.elementor-heading-title {
    font-size: clamp(1.75rem, 4.5vw, 2.75rem); line-height: 1.2;
  }
  .elementor .elementor-element.elementor-widget-heading :is(h3,h4).elementor-heading-title {
    font-size: clamp(1.4rem, 3.5vw, 2rem); line-height: 1.25;
  }
  .elementor .elementor-element.elementor-widget-heading.responsive-eyebrow .elementor-heading-title {
    font-size: 12px; line-height: 1.4; letter-spacing: 1.5px;
  }
  .elementor .elementor-element.elementor-widget-text-editor {
    font-size: 16px; line-height: 1.6;
  }
  .elementor .elementor-element.elementor-widget-image img {
    max-width: 100%; height: auto !important; object-fit: contain;
  }
  .elementor .elementor-button {
    font-size: 13px; line-height: 1.3; letter-spacing: 1px;
    padding: 13px 22px; min-height: 44px; max-width: 100%; white-space: normal;
  }
  .elementor.elementor-location-header .elementor-widget-image img {
    width: auto !important; max-width: 124px !important; max-height: 66px !important; object-fit: contain;
  }
  .elementor-location-header .elementor-menu-toggle {
    display: flex !important; align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px; padding: 8px; font-size: 24px;
    color: #111 !important;
  }
  .elementor-location-header .elementor-menu-toggle svg { fill: currentColor !important; }
  .elementor-location-header nav.elementor-nav-menu--main { display: none !important; }
  .elementor-location-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown {
    display: block; overflow-y: auto; overscroll-behavior: contain; z-index: 10000;
  }
  .elementor-location-header nav.elementor-nav-menu--dropdown a { min-height: 44px; white-space: normal; }
  .elementor-location-header nav.elementor-nav-menu--dropdown .sub-arrow { padding: 10px; margin-left: auto; }
  .elementor .e-con[data-background-video="true"] {
    --min-height: calc(56.25vw + 210px); background-color: #0a0d10;
  }
  .elementor [data-background-video="true"] .elementor-background-video-container { background: #0a0d10; }
  .elementor [data-background-video="true"] .elementor-background-video-container video.elementor-background-video-hosted {
    object-fit: contain; object-position: center top;
  }
  .elementor [data-background-video="true"] > .e-con-inner {
    padding: 0 24px 22px; align-items: flex-end;
  }
  .elementor [data-background-video="true"] .elementor-button { min-width: 150px; }
  .elementor .website-contact-form { width: 100%; min-width: 0; }
  .elementor .website-contact-form iframe { max-width: 100%; }
  .elementor [data-id="c59d207"], .elementor [data-id="43e66a2d"], .elementor [data-id="1320b49e"] {
    max-width: 100%; --width: 100%;
  }
  .elementor .elementor-element.elementor-element-df9ce5e,
  .elementor .elementor-element.elementor-element-476b502e {
    --flex-direction: column; flex-direction: column; align-items: stretch;
  }
  .elementor .elementor-element.elementor-element-81a3382,
  .elementor .elementor-element.elementor-element-21c2c902,
  .elementor .elementor-element.elementor-element-c59d207,
  .elementor .elementor-element.elementor-element-43e66a2d {
    --width: 100%; width: 100%; max-width: 100%; flex-basis: auto;
  }
  .elementor-location-footer .elementor-widget-image img { max-width: 160px; height: auto; }
  .elementor .e-con-inner { max-width: 100%; }
  .elementor-location-footer .elementor-heading-title { line-height: 1.6; }
}
@media (max-width: 767px) {
  .elementor .elementor-widget-theme-post-content img,
  .elementor .wp-block-image img { max-height: 360px !important; }
  .elementor img[src*="Doctor"], .elementor img[src*="doctor"] {
    display: block; width: auto !important; height: auto !important;
    max-width: 100% !important; max-height: 360px !important; object-fit: contain !important; margin-inline: auto;
  }
  .elementor .elementor-element.elementor-element-67ab7229 {
    --min-height: 0px; --width: 240px; width: min(100%, 240px) !important;
    height: 360px !important; max-height: 360px !important; min-height: 0 !important;
    background-size: contain !important; background-position: center !important;
  }
  .elementor.elementor-location-header { position: relative; top: auto; }
  .elementor-location-footer .elementor-element.elementor-element-da2d2d8 .elementor-icon-list-items {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; margin: 0;
  }
  .elementor-location-footer .elementor-element.elementor-element-da2d2d8 .elementor-icon-list-item {
    margin: 0; justify-content: center; text-align: center;
  }
  .elementor-location-footer .elementor-element.elementor-element-da2d2d8 a {
    display: flex; align-items: center; justify-content: center; min-height: 40px; font-size: 14px;
  }
  .elementor-location-footer .elementor-element.elementor-element-6ec7af4a,
  .elementor-location-footer .elementor-element.elementor-element-6ec7af4a > .e-con-inner {
    --flex-direction: column; flex-direction: column; align-items: center; gap: 20px;
  }
  .elementor-location-footer :is(.elementor-element-799272f3,.elementor-element-b12b988,.elementor-element-43de21ef) {
    --width: 100%; width: 100%; margin: 0; padding-block: 0; text-align: center; align-items: center;
  }
  .elementor-location-footer .elementor-element.elementor-element-26cbe73f { width: 100%; text-align: center; }
  .elementor-location-footer .elementor-element.elementor-element-26cbe73f .elementor-heading-title {
    font-size: 13px; line-height: 1.6; white-space: nowrap; text-align: center;
  }
  .elementor-location-footer .elementor-element.elementor-element-73025ac img { width: 220px; max-width: 100%; }
  .elementor-location-footer .elementor-element.elementor-element-7e583525 .elementor-icon-list-items {
    display: flex; flex-wrap: wrap; gap: 8px 18px; justify-content: center; margin: 0;
  }
  .elementor-location-footer .elementor-element.elementor-element-7e583525 .elementor-icon-list-item { margin: 0; }
  .elementor-location-footer .elementor-element.elementor-element-7e583525 a { min-height: 40px; align-items: center; font-size: 13px; }
  .elementor.elementor-location-header .elementor-widget-image img { max-width: 92px !important; max-height: 52px !important; }
  .elementor-location-header .elementor-button { font-size: 11px; padding: 11px 13px; min-height: 40px; }
  .elementor-location-header .elementor-icon-list-text { overflow-wrap: normal; }
  .elementor .e-con[data-background-video="true"] { --min-height: calc(56.25vw + 225px); }
  .elementor [data-background-video="true"] > .e-con-inner { padding: 0 20px 25px; }
  .elementor [data-background-video="true"] .elementor-widget-divider { margin-block: 0 !important; }
  .elementor [data-background-video="true"] .elementor-widget-text-editor {
    font-size: 12px; letter-spacing: 1.5px; line-height: 1.5;
  }
  .elementor [data-background-video="true"] .elementor-button { width: auto; }
  .elementor .elementor-element.elementor-element-58386a5c { --padding-left: 0; --padding-right: 0; --padding-bottom: 0; }
  .elementor button.background-video-toggle { right: 10px; bottom: 10px; width: 36px; height: 36px; padding: 8px; }
  .gtranslate_wrapper select { max-width: 130px; font-size: 13px; }
  .elementor .elementor-form input, .elementor .elementor-form select, .elementor .elementor-form textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor .animated { animation-duration: .01ms !important; animation-delay: 0ms !important; }
  .elementor .elementor-motion-effects-element { transform: none !important; }
}
