/* Mobile layout for South Houston Engine — desktop styles are not changed. */
@media (max-width: 767px) {
  html,
  body,
  #dm,
  .dmOuter,
  .dmInner,
  .dmHeaderContainer,
  .dmHeader,
  #hcontainer,
  #iscrollBody,
  #site_content {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }

  /* Mobile: use normal document flow so hero text is not hidden under fixed header */
  .dmHeaderContainer,
  .dmHeaderContainer.fHeader,
  #hcontainer,
  #hcontainer.u_hcontainer {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 100 !important;
  }

  #stickyHeaderSpacer,
  .stickyHeaderSpacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Single scroll container on phones — avoids trapped scroll */
  html,
  body,
  #dm,
  #dmRoot,
  .dmOuter,
  .dmInner,
  #iscrollBody,
  #site_content,
  #dmStyle_outerContainer,
  #dmStyle_innerContainer {
    overflow-x: hidden !important;
    overflow-y: visible !important;
    height: auto !important;
    max-height: none !important;
    -webkit-overflow-scrolling: touch;
  }

  body.dmDesktopBody,
  body.fix-mobile-scrolling {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  html:not(.ios-preview) #dm .hasStickyHeader .dmInner div.dmHeaderContainer {
    min-width: 0 !important;
    width: 100% !important;
  }

  .dmDesktopBody .dmInner {
    min-width: 0 !important;
  }

  .dmLargeBody .dmRespRowsWrapper > .dmRespRow,
  .dmLargeBody .fHeader .dmRespRow {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #dm .dmContent .dmRespRow {
    padding: 48px 16px !important;
  }

  #dm .dmRespRow .dmRespCol,
  .dmDesktopBody .dmRespRow .dmRespCol,
  .dmDesktopBody .dmRespRow .large-12,
  .dmDesktopBody .dmRespRow .large-6,
  .dmDesktopBody .dmRespRow .large-4,
  .dmDesktopBody .dmRespRow .large-3,
  .dmDesktopBody .dmRespRow .large-2,
  .dmDesktopBody .dmRespRow .medium-12,
  .dmDesktopBody .dmRespRow .medium-6,
  .dmDesktopBody .dmRespRow .medium-4,
  .dmDesktopBody .dmRespRow .medium-3,
  .dmDesktopBody .dmRespRow .small-12 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    display: block !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .dmRespRow .dmRespColsWrapper {
    display: block !important;
  }

  /* Header top bar — stack contact info */
  #dm .p_hfcontainer div.u_1870603734 {
    padding: 12px 16px !important;
  }

  #dm .p_hfcontainer div.u_1784117628 .dmRespColsWrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px;
  }

  #dm .p_hfcontainer div.u_1688440868,
  #dm .p_hfcontainer div.u_1094147606,
  #dm .p_hfcontainer div.u_1559582452,
  #dm .p_hfcontainer div.u_1905532438 {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;
  }

  #dm .p_hfcontainer div.u_1260508512,
  #dm .p_hfcontainer div.u_1260508512 p {
    text-align: center !important;
  }

  .dmDesktopBody .dmInner,
  #dm .dmInner,
  #dm .dmInner div.dmHeaderContainer,
  html:not(.ios-preview) #dm .hasStickyHeader .dmInner div.dmHeaderContainer {
    min-width: 0 !important;
    width: 100% !important;
  }

  .dmLargeBody .rows-1200,
  .dmLargeBody .dmRespRowsWrapper {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Header logo — larger and centered on phones */
  #dm #hcontainer [id="1940800528"],
  #dm .p_hfcontainer [id="1940800528"].imageWidget,
  #dm .dmHeader div.u_1940800528,
  #dm .dmHeader [id="1940800528"] {
    width: 94vw !important;
    max-width: 380px !important;
    min-width: 0 !important;
    margin: 10px auto 6px !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
    text-align: center !important;
    height: auto !important;
  }

  #dm .p_hfcontainer div.u_1940800528 img,
  #dm .p_hfcontainer [id="1940800528"] img,
  #dm .p_hfcontainer [id="1574298480"],
  #dm .dmHeader [id="1574298480"] {
    width: 94vw !important;
    max-width: 380px !important;
    min-width: 280px !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
    object-fit: contain !important;
  }

  #dm .p_hfcontainer div.u_1870603734,
  #dm .p_hfcontainer div.u_1870603734 .dmRespCol {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  #dm .p_hfcontainer div.u_1559582452 {
    max-width: 200px !important;
    height: auto !important;
  }

  /* Mobile navigation */
  .she-mobile-nav-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 8px auto 0;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: #012456;
    color: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    z-index: 1002;
  }

  .she-mobile-nav-toggle .she-bar {
    display: block;
    width: 22px;
    height: 2px;
    background: #fff;
    margin: 4px 0;
    border-radius: 1px;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }

  body.she-mobile-nav-open .she-mobile-nav-toggle .she-bar:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }

  body.she-mobile-nav-open .she-mobile-nav-toggle .she-bar:nth-child(2) {
    opacity: 0;
  }

  body.she-mobile-nav-open .she-mobile-nav-toggle .she-bar:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  #dm .p_hfcontainer .u_1353582561 {
    padding: 0 8px 8px !important;
  }

  #dm .p_hfcontainer nav.u_1313450642 {
    width: 100% !important;
    max-width: 100% !important;
    display: none !important;
    margin-top: 0 !important;
  }

  /* Desktop nav is always visible in dmDesktopBody — force hide until toggled */
  .dmDesktopBody #dm .p_hfcontainer nav.u_1313450642,
  .dmLargeBody #dm .p_hfcontainer nav.u_1313450642 {
    display: none !important;
  }

  body.she-mobile-nav-open #dm .p_hfcontainer nav.u_1313450642 {
    display: block !important;
  }

  html.local-runtime-ready [id="1313450642"] .unifiednav__container {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    padding: 8px 0 !important;
  }

  html.local-runtime-ready [id="1313450642"] .unifiednav__item-wrap {
    display: block !important;
    width: 100% !important;
  }

  html.local-runtime-ready [id="1313450642"] .unifiednav__item {
    display: block !important;
    width: 100% !important;
    padding: 12px 20px !important;
    margin: 0 !important;
    text-align: left !important;
  }

  html.local-runtime-ready [id="1313450642"] .unifiednav__container_sub-nav {
    position: static !important;
    display: block !important;
    box-shadow: none !important;
    padding-left: 16px !important;
    background: #f5f5f5 !important;
  }

  /* Hero sliders — show captions on phones */
  html.local-runtime-ready #dm .dmImageSlider .slides > li.she-slide-active {
    min-height: 280px !important;
  }

  html.local-runtime-ready #dm .dmImageSlider .slide-inner {
    display: block !important;
    visibility: visible !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 92% !important;
    max-width: 100% !important;
    padding: 12px !important;
    text-align: center !important;
    background: rgba(0, 0, 0, 0.45);
    border-radius: 8px;
  }

  html.local-runtime-ready #dm .dmImageSlider .slide-title,
  html.local-runtime-ready #dm .dmImageSlider .slide-text,
  html.local-runtime-ready #dm .dmImageSlider .slide-button {
    display: block !important;
    visibility: visible !important;
  }

  html.local-runtime-ready #dm .dmImageSlider .slide-title {
    font-size: 1.35rem !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
  }

  html.local-runtime-ready #dm .dmImageSlider .slide-text {
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
  }

  html.local-runtime-ready #dm .dmImageSlider .slide-button {
    margin: 0 auto !important;
    max-width: 260px !important;
  }

  html.local-runtime-ready #dm .dmImageSlider .she-slider-nav {
    width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
    font-size: 18px !important;
  }

  /* Photo galleries — single column */
  #dm .dmPhotoGallery.newPhotoGallery .photogallery-column {
    width: 100% !important;
    max-width: 100% !important;
  }

  #dm .dmPhotoGallery.newPhotoGallery .layout-container.square .photogallery-row {
    display: block !important;
  }

  /* Typography */
  .font-size-65,
  .size-65 {
    font-size: 36px !important;
    line-height: 1.15 !important;
  }

  .font-size-25,
  .size-25 {
    font-size: 20px !important;
  }

  /* Footer */
  #dm .dmFooter,
  #dm .dmFooter .dmRespRow,
  #dm .dmFooter .dmRespColsWrapper,
  #dm .dmFooter .dmRespCol {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    display: block !important;
    text-align: center !important;
  }

  /* Hide duplicate desktop footer nav on phones (header hamburger is used) */
  #dm .dmFooter .hide-for-small {
    display: none !important;
  }

  #dm .dmFooter .dmFooterResp,
  #dm .dmFooter #fcontainer,
  #dm .dmFooter [id="1943048428"] {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* Copyright / legal text — widget has 150px side padding on desktop, crushes text on mobile */
  #dm .widget-d3c663,
  #dm [id="1835447268"],
  #dm .u_1640212074 .widget-d3c663,
  #dm .dmFooter .widget-d3c663,
  #dm .dmFooter [id="1835447268"] {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    padding: 16px 14px 20px !important;
    margin: 0 auto !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    text-align: center !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    white-space: normal !important;
    writing-mode: horizontal-tb !important;
    color: #fff !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }

  #dm [id="1835447268"] .she-copyright-text {
    display: block !important;
    width: 100% !important;
    order: 2 !important;
  }

  #dm [id="1835447268"] a,
  #dm .widget-d3c663 a {
    display: inline !important;
    width: auto !important;
    height: auto !important;
    float: none !important;
    white-space: normal !important;
    word-break: normal !important;
    color: #fee600 !important;
  }

  #dm .dmFooter .u_1591029281 .dmRespCol,
  #dm .dmFooter .u_1640212074 .dmRespCol {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  #dm .dmFooter .u_1230808287,
  #dm .dmFooter [id="1230808287"] {
    text-align: center !important;
  }

  #dm .dmFooter .u_1230808287 p,
  #dm .dmFooter [id="1230808287"] p,
  #dm .dmFooter .dmNewParagraph p {
    text-align: center !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  #dm .dmFooter [id="1523857134"],
  #dm .dmFooter [id="1523857134"] img {
    width: 100% !important;
    max-width: 280px !important;
    height: auto !important;
    margin: 12px auto !important;
    display: block !important;
  }

  #dm .dmFooter .cardList.row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  #dm .dmFooter [data-element-type="powered_by"],
  #dm .dmFooter [id="1236746004"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 14px !important;
    text-align: center !important;
    overflow-x: hidden !important;
  }

  /* Maps & widgets */
  html.local-runtime-ready .inlineMap .mapContainer,
  html.local-runtime-ready .inlineMap .mapContainer iframe {
    min-height: 260px !important;
  }

  #dm .dmInner .dmWidget {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Hero + contact buttons — fix vertical/skinny layout from desktop calc() widths */
  #dm .dmBody a.u_1197783164,
  #dm .dmBody a[id="1197783164"],
  #dm .dmBody a.dmButtonLink.dmOnlyButton,
  #dm .dmBody .dmButtonLink.dmWidget {
    width: 100% !important;
    max-width: 320px !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 48px !important;
    margin: 12px auto !important;
    padding: 12px 20px !important;
    float: none !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    transform: none !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: normal !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
  }

  #dm .dmBody a.u_1197783164 .iconBg,
  #dm .dmBody a.dmButtonLink.dmOnlyButton .iconBg {
    position: static !important;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    transform: none !important;
  }

  #dm .dmBody a.u_1197783164 .text,
  #dm .dmBody a.dmButtonLink.dmOnlyButton .text {
    display: inline-block !important;
    position: static !important;
    float: none !important;
    width: auto !important;
    transform: none !important;
    writing-mode: horizontal-tb !important;
    letter-spacing: 0.04em !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  /* Contact form submit button */
  *#dm *.dmBody *.u_1128347451 .dmformsubmit,
  *#dm *.dmBody div.u_1128347451 .dmformsubmit,
  #dm .dmBody .dmformsubmit,
  #dm .dmBody .dmformsubmit.dmWidget,
  #dm .dmBody .dmformsubmit.dmWidget.R,
  #dm .dmBody div.u_1128347451 .dmformsubmit,
  #dm .dmBody [id="1526262630"] {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
    display: block !important;
    clear: both !important;
    transform: none !important;
    writing-mode: horizontal-tb !important;
    text-align: center !important;
    background: none !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
  }

  #dm .dmBody .dmformsubmit input[type="submit"],
  #dm .dmBody [id="1526262630"] input[type="submit"],
  #dm .dmBody [id="1316067443"] {
    width: 100% !important;
    max-width: 320px !important;
    min-height: 48px !important;
    margin: 0 auto !important;
    display: block !important;
    float: none !important;
    transform: none !important;
    writing-mode: horizontal-tb !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    color: #fff !important;
    background: linear-gradient(180deg, #6d6e70 0%, #434446 100%) !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  #dm .dmBody .dmRespDesignRow,
  #dm .dmBody form.dmRespDesignRow {
    display: block !important;
    width: 100% !important;
  }

  #dm .dmBody .dmforminput,
  #dm .dmBody .dmforminput.dmRespDesignCol {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    display: block !important;
    clear: both !important;
  }

  /* Hero section under "Contact Us Today" */
  #dm .dmBody div.u_1590126981 .dmRespCol,
  #dm .dmBody div.u_1220222162 .dmRespCol,
  #dm .dmBody div.u_1719890280 {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Home hero headline — full width, centered, balanced line breaks */
  /* Home hero — no parallax freeze on phones */
  #dm .dmBody [id="1590126981"],
  #dm .dmBody div.u_1590126981 {
    background-attachment: scroll !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
    padding-top: 24px !important;
    padding-bottom: 32px !important;
  }

  #dm .dmBody [id="1220222162"] {
    padding: 16px 0 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  #dm .dmBody [id="1719890280"] {
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  #dm .dmBody [id="1785491973"],
  #dm .dmBody div.u_1785491973 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 !important;
    padding: 0 10px !important;
    text-align: center !important;
  }

  #dm .dmBody [id="1785491973"] p,
  #dm .dmBody [id="1785491973"] p.m-text-align-left,
  #dm .dmBody [id="1785491973"] p.text-align-center {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    text-wrap: balance;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: manual !important;
  }

  #dm .dmBody [id="1785491973"] p span,
  #dm .dmBody [id="1785491973"] .font-size-65,
  #dm .dmBody [id="1785491973"] .m-font-size-52,
  #dm .dmBody [id="1785491973"] .size-65,
  #dm .dmBody [id="1785491973"] .m-size-52 {
    font-size: clamp(26px, 7.2vw, 34px) !important;
    line-height: 1.28 !important;
    text-align: center !important;
  }

  /* Footer business hours */
  #dm [id="1230808287"],
  #dm .u_1230808287 {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  #dm [id="1230808287"] p {
    text-align: center !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
  }

  #dm [id="1230808287"] .she-hours-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
  }

  #dm [id="1230808287"] .she-hours-day,
  #dm [id="1230808287"] .she-hours-time {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.45 !important;
  }

  #dm [id="1230808287"] .she-hours-day {
    font-weight: 700 !important;
  }

  #dm [id="1622783729"],
  #dm [id="1502969029"] {
    text-align: center !important;
  }

  /* Legal links above copyright text and clear of Thryv Contact tab */
  #dm [id="1640212074"],
  #dm .u_1640212074,
  #dm #fcontainer,
  #dm .dmFooter,
  #dm [id="1236746004"] {
    padding-bottom: 96px !important;
  }

  #dm [id="1835447268"] .she-legal-links {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px 12px !important;
    margin: 0 0 4px !important;
    width: 100% !important;
    order: 1 !important;
    position: relative !important;
    z-index: 1 !important;
  }

  #dm [id="1835447268"] .she-legal-links a {
    display: inline-block !important;
    white-space: nowrap !important;
    margin: 0 !important;
    float: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  #dm [id="1835447268"] .she-legal-sep {
    color: #fff !important;
    opacity: 0.75;
  }

  /* Thryv floating Contact tab — keep above page content but below nothing critical */
  #livesite_engage_button,
  #livesite_active_engage {
    bottom: 12px !important;
  }

  img {
    max-width: 100% !important;
    height: auto !important;
  }

  #dm .dmBody div.u_1177791812 {
    min-height: 220px !important;
    padding: 16px !important;
    background-size: contain !important;
  }

  #dm .dmBody div.u_1940050142 {
    padding: 0 !important;
  }
}

@media (min-width: 768px) {
  .she-mobile-nav-toggle {
    display: none !important;
  }
}
