/* Renascence mobile-friendly overrides. Do not publish a street/home address. */

img,
video,
iframe,
.entry-content img,
.custom-logo {
  max-width: 100%;
  height: auto;
}

/* Keep the 1200x1200 bird logo from blowing out the header */
.site-header img.custom-logo,
.site-branding img.custom-logo,
.brand img {
  width: auto !important;
  height: auto !important;
  max-height: 56px !important;
  max-width: 80px !important;
  object-fit: contain;
}

.site-header .site-branding,
.site-header .brand {
  align-items: center;
  max-width: calc(100% - 72px);
}

.site-header .site-title,
.site-header .site-title a {
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 650;
}


/* Kadence hides the mobile-header title at the md (tablet) breakpoint
   (.site-title.vs-md-false). With the logo constrained to 80px the name
   should stay visible next to the bird through 1024px. */
@media (max-width: 1024px) {
  #mobile-header .site-branding,
  #mobile-header .brand {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    max-width: calc(100% - 72px);
  }

  #mobile-header .site-title-wrap,
  #mobile-header .site-title,
  #mobile-header .site-title.vs-md-false {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    clip: auto !important;
    clip-path: none !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 650;
  }
}


.site-main-header-inner-wrap,
.site-header-row {
  min-height: 0 !important;
  padding-top: 8px;
  padding-bottom: 8px;
}

/* Hamburger: at least a 44x44 tap target */
button.menu-toggle-open,
.menu-toggle-open.drawer-toggle {
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 12px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  z-index: 30;
}

button.menu-toggle-close,
.drawer-sub-toggle,
#mobile-drawer .drawer-sub-toggle {
  min-width: 44px !important;
  min-height: 44px !important;
}

/* Drawer / dropdown usability */
#mobile-drawer .drawer-nav a,
#mobile-drawer .drawer-menu a,
#mobile-drawer ul.menu li a {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  font-size: 17px;
  line-height: 1.35;
}

#mobile-drawer .drawer-inner {
  max-width: 100%;
}

/* Content readability */
@media (max-width: 1024px) {
  .content-area .entry-content,
  .entry-content,
  .entry-content p {
    font-size: 17px;
    line-height: 1.65;
  }

  h1,
  .entry-hero h1,
  .wp-block-heading:first-child,
  .entry-title {
    font-size: clamp(1.55rem, 6vw, 2rem) !important;
    line-height: 1.25 !important;
  }

  .wp-block-button .wp-block-button__link {
    min-height: 48px;
    padding: 12px 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
}

@media (max-width: 781px) {
  .wp-block-buttons,
  .wp-block-buttons .wp-block-button,
  .wp-block-button,
  .wp-block-button .wp-block-button__link {
    width: 100%;
    max-width: 100%;
  }

  .content-container,
  .site-container,
  .content-wrap {
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* Contact Form 7: full-width fields, 16px+ to avoid iOS zoom, larger submit */
.wpcf7 form,
.wpcf7-form,
.wpcf7 p {
  max-width: 100%;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea {
  font-size: 16px !important;
  line-height: 1.4;
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 48px;
  padding: 12px 14px;
}

.wpcf7 textarea {
  min-height: 140px;
}

.wpcf7 input[type="submit"],
.wpcf7-submit {
  width: 100% !important;
  max-width: 100%;
  min-height: 48px !important;
  font-size: 16px !important;
  padding: 12px 16px !important;
}

/* Sticky mobile call + appointment bar */
.ren-mobile-cta {
  display: none;
}

@media (max-width: 781px) {
  body {
    padding-bottom: 76px;
  }

  .ren-mobile-cta {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100000;
    gap: 8px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, 0.97);
    border-top: 1px solid #e6ddd3;
    box-shadow: 0 -4px 16px rgba(40, 30, 20, 0.08);
  }

  .ren-mobile-cta__btn {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 650;
    text-align: center;
    text-decoration: none !important;
    box-sizing: border-box;
  }

  .ren-mobile-cta__call {
    background: #fff;
    color: #3d342c !important;
    border: 1px solid #b9a898;
  }

  .ren-mobile-cta__appt {
    background: #3d342c;
    color: #fff !important;
    border: 1px solid #3d342c;
  }
}
