@media (max-width:767px) {
  body.mosaic-landing-page {
    padding-bottom: 60px;
  }
}

.lp-header {
  background: #fff;
  padding: 12px 20px;
  position: sticky;
  top: 0;
  z-index: 1000;

  .lp-header__inner {
    max-width: 1200px;
  }

  .lp-header__logo img {
    max-height: 100px;
    width: auto;
    display: block;
  }

  .lp-header__site-name {
    font-size: 1.25rem;
    color: #1a1a1a;
  }

  .lp-header__btn {
    padding: 10px 18px;
    border-radius: 4px;
    font-size: 0.9375rem;
    background-color: var(--header-btn-color, #48a9a6);
    transition: background-color 0.2s ease;

    &:hover,
    &:focus {
      background-color: var(--btn-hover-color, #3a8a87) !important;
    }

    @media (max-width: 480px) {
      display: none;
    }
  }

  .lp-header__phone-link {
    font-size: 1.125rem;
    color: var(--phone-link-color, #5BA4A4);
    transition: color 0.2s ease;

    &:hover,
    &:focus {
      color: var(--phone-link-hover-color, #3a8a87);
    }
  }
}

.lp-sticky-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9999;
  display: none;
  height: 60px;

  @media (max-width:767px) {
    display: flex;
  }

  &.lp-sticky-cta--hidden {
    display: none !important;
  }

  .lp-sticky-cta__link--call {
    font-size: 1rem;
    background: var(--call-now-btn-color, #48a9a6);

    &:hover,
    &:focus {
      background: var(--call-now-btn-hover-color, #3a8a87);
    }
  }

  .lp-sticky-cta__link--book {
    font-size: 1rem;
    background: var(--sticky-book-btn-color, #2d7d7b);

    &:hover,
    &:focus {
      background: var(--sticky-book-btn-hover-color, #246462);
    }
  }
}

.lp-footer {
  background: var(--footer-bg-color, #ffffff);
  color: var(--footer-text-color, #333333);
  padding: 40px 20px;
  font-size: 0.875rem;
  border-top: 1px solid rgba(0, 0, 0, 0.1);

  a,
  a:hover,
  a:focus,
  a:visited {
    color: var(--footer-text-color, #333333) !important;
    text-decoration: none;
  }
  a:hover {
    text-decoration: underline;
  }

  .lp-footer__inner {
    max-width: 1200px;
  }

  .lp-footer__info span[aria-hidden],
  .lp-footer__links span[aria-hidden] {
    opacity: 0.4;
  }
}

/* Utilities */
.flex         { display: flex; }
.inline-block { display: inline-block; }
.block        { display: block; }
.flex-column  { flex-direction: column; }
.flex-wrap    { flex-wrap: wrap; }
.flex-1       { flex: 1; }
.align-center { align-items: center; }
.justify-center  { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-1  { gap: 0.25rem; }
.gap-2  { gap: 0.5rem; }
.gap-3  { gap: 1rem; }
.gap-4  { gap: 1.5rem; }
.h-full { height: 100%; }
.w-full { width: 100%; }
.text-center { text-align: center; }
.text-white  { color: #fff !important; }
.font-bold   { font-weight: 700; }
.no-underline { text-decoration: none; }
.nowrap { white-space: nowrap; }
.m-0    { margin: 0; }
.mx-auto { margin-left: auto; margin-right: auto; }


body.mosaic-landing-page h1,
body.mosaic-landing-page .elementor-widget-heading h1.elementor-heading-title {
  font-size: 42px !important;
  line-height: 1.2;
}
body.mosaic-landing-page h2,
body.mosaic-landing-page .elementor-widget-heading h2.elementor-heading-title {
  font-size: 36px !important;
  line-height: 1.25;
}
body.mosaic-landing-page h3,
body.mosaic-landing-page .elementor-widget-heading h3.elementor-heading-title {
  font-size: 28px !important;
  line-height: 1.3;
}

.page-template-template-general-dentistry,
.page-template-template-near-me{
  .elementor-button{
    font-weight: 700 !important;
    padding: 15px 30px !important;
    &:hover,
    &:focus{
      background-color: #8224e3 !important;
      color: #ffffff !important;
    }
    @media(max-width: 768px){
      padding: 12px 24px !important;
      width: 100%;
    }
  }

  p{
    margin-bottom: 0;
  }
}