/* Shared responsive repairs for the clinic's existing Elementor layouts. */
@media (max-width: 1024px) {
 .elementor-17 :is(.elementor-element-ea29522,.elementor-element-d46d517) {
  padding:0!important;
 }
 .elementor-17 :is(.elementor-element-ea29522,.elementor-element-d46d517) > .e-con-inner {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
  padding:12px 20px!important;
  box-sizing:border-box;
 }
 .elementor-17 :is(.elementor-element-ea29522,.elementor-element-d46d517) > .e-con-inner > .e-con {
  width:auto!important;
  min-width:0;
  padding:0!important;
 }
 .elementor-17 :is(.elementor-element-34c0aae,.elementor-element-aaa1c6a) {
  max-width:176px;
  justify-self:start;
 }
 .elementor-17 :is(.elementor-element-34c0aae,.elementor-element-aaa1c6a) .sc_layouts_logo {
  display:block;
  width:100%;
  max-width:176px!important;
 }
 .elementor-17 :is(.elementor-element-34c0aae,.elementor-element-aaa1c6a) img {
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain;
 }
 .elementor-17 :is(.elementor-element-64cf477,.elementor-element-4e58810) {
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-end;
  gap:8px!important;
  max-width:none!important;
 }
 .elementor-17 .af-language-switcher__button {
  width:44px;
  min-width:44px;
  min-height:44px;
  padding:8px!important;
  font-size:13px;
 }
 .elementor-17 :is(.elementor-element-8b16e20,.elementor-element-9993fcf) {
  width:44px!important;
  flex:0 0 44px;
  margin:0!important;
 }
 .elementor-17 .trx-addons-hamburger-toggle {
  width:44px!important;
  height:44px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0!important;
 }
 .elementor-17 .trx-addons-mobile-menu-outer-container {
  box-sizing:border-box;
  max-width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding:80px 24px 32px!important;
 }
 .elementor-17 .trx-addons-mobile-menu-container {
  width:100%!important;
  min-width:0;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  align-self:flex-start;
 }
 .elementor-17 .trx-addons-main-mobile-menu {
  width:100%!important;
  margin:0!important;
  padding:0!important;
 }
 .elementor-17 .trx-addons-main-mobile-menu .trx-addons-menu-link {
  display:flex;
  align-items:center;
  box-sizing:border-box;
  width:100%;
  min-height:44px;
  padding:10px 0!important;
 }
 .elementor-17 .trx-addons-main-mobile-menu .trx-addons-menu-link-text {
  white-space:normal!important;
  overflow-wrap:anywhere;
  line-height:1.5!important;
 }
 .elementor-17 .trx-addons-main-mobile-menu .trx-addons-sub-menu {
  width:auto!important;
  min-width:0!important;
  margin-left:12px!important;
 }
 .elementor-17 .trx-addons-mobile-menu-close {
  width:44px!important;
  height:44px!important;
  top:12px!important;
  right:16px!important;
  display:flex;
  align-items:center;
  justify-content:center;
 }
 .elementor-17 :is(.af-language-switcher__button,.trx-addons-hamburger-toggle,.trx-addons-mobile-menu-close):focus-visible {
  outline:2px solid #b85d28;
  outline-offset:3px;
 }
 /* These fixed-position ornaments have no safe gutter at phone/tablet widths. */
 .elementor-44 .elementor-element-svsection::before,
 .elementor-44 .elementor-element-svsection::after {
  display:none;
 }
}
@media (max-width: 767px) {
 .elementor-17 :is(.elementor-element-ea29522,.elementor-element-d46d517) > .e-con-inner {
  padding:8px 12px!important;
  gap:6px!important;
 }
 .elementor-17 :is(.elementor-element-34c0aae,.elementor-element-aaa1c6a) {
  max-width:150px;
 }
 .elementor-17 :is(.elementor-element-34c0aae,.elementor-element-aaa1c6a) .sc_layouts_logo {
  max-width:150px!important;
 }
 .elementor-17 :is(.elementor-element-64cf477,.elementor-element-4e58810) {
  gap:6px!important;
 }
 .elementor-17 .af-language-switcher {
  gap:3px!important;
 }
 .elementor-17 .af-language-switcher__button {
  width:38px;
  min-width:38px;
  min-height:38px;
  padding:6px!important;
  font-size:12px;
 }
 .elementor-17 :is(.elementor-element-8b16e20,.elementor-element-9993fcf) {
  width:40px!important;
  flex:0 0 40px;
 }
 .elementor-17 .trx-addons-hamburger-toggle {
  width:40px!important;
  height:40px!important;
 }
 .clinic-contact-bg-paws {display:none;}
 .clinic-profile-breadcrumb,.clinic-breadcrumb,.vet-breadcrumb-wrap {overflow-wrap:anywhere;}
 .clinic-contact-channel a,.clinic-contact-address {overflow-wrap:anywhere;}

 /* Touch targets & Mobile form controls */
 input[type="text"], input[type="email"], input[type="tel"], textarea, select {
  font-size:16px!important;
 }
 .clinic-contact-submit-btn,
 .clinic-contact-form-card .wpcf7-submit {
  min-height:48px!important;
  font-size:16px!important;
 }
}
@media (max-width: 359px) {
 .page-id-44 .elementor-element-svgrid1 {
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
 }
 .page-id-44 .vet-services-grid .elementor-heading-title {
  font-size:16px!important;
 }
}
@media (max-width: 1024px) {
 .elementor-17 :is(.elementor-element-8b16e20,.elementor-element-9993fcf) .trx-addons-main-mobile-menu .trx-addons-menu-link-text {
  min-width:0;
  white-space:normal!important;
  overflow-wrap:anywhere;
 }
 .elementor-17 .trx-addons-main-mobile-menu .trx-addons-submenu {
  box-sizing:border-box;
  width:100%!important;
  min-width:0!important;
  padding:0 0 0 12px!important;
  margin:0!important;
 }
 .elementor-17 .trx-addons-main-mobile-menu .trx-addons-submenu-link {
  min-width:0;
  max-width:100%;
  white-space:normal!important;
 }
}

html.clinic-navigation-open {overflow:hidden!important;}
