/* Inventory-wide production-parity release corrections. */

/* New Patients: preserve the source's column-major testimonial order without
   translated cards colliding, and remove the mobile dead zone below the list. */
@media (min-width: 1025px) {
  .npdc-new-patients__cards {
    grid-auto-flow: column;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(4, auto);
  }

  .npdc-new-patients__cards blockquote:nth-child(n) {
    transform: none;
  }
}

/* Gravity Forms 4 ships legacy markup on this installation. Match the source
   hidden-label, full-width field treatment rather than its default label grid. */
.npdc-appointments .npdc-dark-form-page__lead {
  width: 67%;
  max-width: none;
  margin-top: 20px !important;
  line-height: 1.6;
}

.npdc-appointments__card {
  width: 78%;
  min-height: 574px;
  margin-top: 40px;
}

.npdc-appointments {
  min-height: 1188.19px;
}

.npdc-appointments__card .gfield_label {
  display: none !important;
}

.npdc-appointments__card .gform_wrapper,
.npdc-appointments__card .gform_fields,
.npdc-appointments__card .gfield,
.npdc-appointments__card .ginput_container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.npdc-appointments__card .gform_fields {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
}

.npdc-appointments__card .gform_wrapper input:not([type="checkbox"]):not([type="radio"]),
.npdc-appointments__card .gform_wrapper textarea {
  width: 100% !important;
}

.npdc-appointments__card .gform_wrapper textarea {
  height: 115px !important;
  min-height: 115px !important;
}

/* Registration: the source uses the same Gravity Forms runtime at a narrower,
   deliberately inset width with the theme's native heading margins intact. */
.npdc-registration {
  min-height: 2483.64px;
  padding: 389px 20px 170px;
}

.npdc-registration__card {
  width: min(1180px, 100%);
  min-height: 0;
  padding: 0;
}

.npdc-registration__card .gform_title {
  margin: 8px 0 16px;
  font-size: 68px;
  line-height: 1.1;
}

.npdc-registration__card .gsection_title {
  margin: 8px 0 16px;
}

/* Team page: source mobile portraits are intentionally cropped to two
   distinct heights rather than rendered at each file's natural aspect ratio. */
@media (max-width: 767px) {
  .npdc-new-patients__testimonials {
    min-height: 1544px;
  }

  .npdc-appointments {
    min-height: 1300.88px;
  }

  .npdc-appointments .npdc-dark-form-page__lead {
    width: 67%;
  }

  .npdc-appointments__card {
    width: 100%;
    margin-top: 40px;
  }

  .npdc-registration {
    min-height: 3649.39px;
    padding: 488px 20px 170px;
  }

  .npdc-registration__card {
    width: 250px;
    min-height: 0;
    padding: 0;
  }

  .npdc-registration__card .gform_wrapper {
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-registration__card .gform_title {
    font-size: 42px;
    line-height: 46.2px;
  }

  .npdc-team__hero {
    min-height: 461.41px;
  }

  .npdc-team-member:nth-of-type(2) .npdc-team-member__grid > img,
  .npdc-team-member:nth-of-type(4) .npdc-team-member__grid > img,
  .npdc-team-member:nth-of-type(5) .npdc-team-member__grid > img {
    width: 350px;
    height: 350px;
    object-fit: cover;
  }

  .npdc-team-member:nth-of-type(3) .npdc-team-member__grid > img,
  .npdc-team-member:nth-of-type(6) .npdc-team-member__grid > img {
    width: 350px;
    height: 291px;
    object-fit: cover;
  }
}

/* Dental-services hub: use the same type rhythm and section geometry as the
   current source at both release-gate viewports. */
@media (min-width: 768px) {
  .npdc-services-hub {
    font-size: 18px;
    line-height: 1.6;
  }

  .npdc-services-hub__body {
    min-height: 3764.28px;
  }

  .npdc-services-hub__faq {
    min-height: 884.38px;
  }

  .npdc-services-hub__cta {
    min-height: 734.78px;
  }

  .npdc-production-parity-page--terms-of-service .npdc-legal__section {
    padding-top: 113.28px;
    padding-bottom: 113.28px;
  }
}

.npdc-production-hero--services {
  background-image: url("/wp-content/uploads/2025/11/shutterstock_2207894257-scaled.jpg.webp");
}

.npdc-services-feature > span::before {
  color: #0ecae9;
  content: "›";
}

@media (max-width: 767px) {
  .npdc-services-hub > .npdc-production-hero {
    min-height: 577.41px;
  }

  .npdc-services-hub__body {
    min-height: 5339.34px;
  }

  .npdc-services-hub__faq {
    min-height: 838.09px;
  }

  .npdc-services-hub__cta {
    min-height: 526.22px;
  }

  .npdc-production-parity-page--privacy-policy .npdc-legal__section {
    padding-bottom: 26.68px;
  }

  .npdc-production-parity-page--terms-of-service .npdc-legal__section {
    padding-bottom: 24.53px;
  }

  .npdc-production-parity-page--hipaa-notice .npdc-legal__section {
    padding-bottom: 43.18px;
  }
}

/* Native archive/search/404 templates mirror Hello Elementor's source index
   widths, heading metrics, article rhythm, and responsive image policy. */
.npdc-source-index,
.npdc-source-not-found {
  box-sizing: border-box;
  width: min(1140px, 100%);
  margin-inline: auto;
  padding: 0;
  color: #7a7a7a;
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-index > *,
.npdc-source-not-found > * {
  max-width: none !important;
}

.npdc-source-index > .wp-block-query-title,
.npdc-source-not-found h1 {
  margin: 8px 0 16px;
  font-size: 90px;
  line-height: 99px;
}

.npdc-source-results {
  margin-top: 0 !important;
}

.npdc-source-result {
  margin-bottom: 8px;
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-result .wp-block-post-title {
  min-height: 74.8px;
  margin: 0 0 16px;
  font-size: 68px;
  line-height: 74.8px;
}

.npdc-source-result .wp-block-post-title a {
  font-size: 16px;
  line-height: 22.4px;
}

.npdc-source-result .wp-block-post-featured-image {
  margin: 0 0 20px;
}

.npdc-source-result .wp-block-post-featured-image img {
  width: 100%;
  height: auto;
  max-height: 500px;
  object-fit: cover;
}

.npdc-source-result:first-child .wp-block-post-featured-image img {
  width: 800px;
  max-height: none;
}

.npdc-source-result .wp-block-post-excerpt {
  margin-bottom: 16px;
}

.npdc-source-not-found p,
.npdc-source-search .wp-block-query-no-results p {
  margin: 0;
}

@media (max-width: 767px) {
  .npdc-source-index,
  .npdc-source-not-found {
    width: 100%;
    padding: 0 10px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-index > .wp-block-query-title,
  .npdc-source-not-found h1 {
    margin: 8px 0 16px;
    font-size: 60px;
    line-height: 66px;
  }

  .npdc-source-result {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-result .wp-block-post-title {
    min-height: 46.2px;
    margin: 0 0 16px;
    font-size: 42px;
    line-height: 46.2px;
  }

  .npdc-source-result .wp-block-post-title a {
    font-size: 14px;
    line-height: 19.6px;
  }

  .npdc-source-result .wp-block-post-featured-image img,
  .npdc-source-result:first-child .wp-block-post-featured-image img {
    width: 100%;
    height: auto;
    max-height: 300px;
    object-fit: cover;
  }
}

/* Blog pagination has page-dependent card rows. Fixed page-one dimensions
   must not stretch the shorter later pages. */
.paged-2.npdc-blog-page .rom-blog-card {
  height: 713.234px;
  min-height: 713.234px;
}

.paged-3.npdc-blog-page .rom-blog-card {
  height: 648.031px;
  min-height: 648.031px;
}

@media (max-width: 820px) {
  .paged-2.npdc-blog-page .rom-blog-grid {
    height: 6799.844px;
  }

  .paged-3.npdc-blog-page .rom-blog-grid {
    height: 1873.781px;
  }

  .paged-2.npdc-blog-page .rom-blog-card,
  .paged-3.npdc-blog-page .rom-blog-card {
    height: 100%;
    min-height: 0;
  }
}

/* Single-post body illustrations retain their source intrinsic dimensions. */
.single-post .npdc-article__image img {
  box-shadow: none;
}

.single-post .npdc-article__body img[src*="/FAV.png"] {
  width: 400px;
  max-width: 100%;
  height: auto;
}

/* Shared service layout: each source FAQ and CTA has content-dependent height.
   Carry that contract per page instead of stretching every page to one sample. */
.npdc-service-page .npdc-page-hero,
.npdc-service-page .npdc-page-hero__inner {
  height: 510.8px;
  min-height: 510.8px;
}

.npdc-service-page .npdc-page-hero + .npdc-service-content-section {
  margin-top: 0;
}

.npdc-service-page--emax-crowns .npdc-service-content-section { min-height: 2898.95px; }
.npdc-service-page--cosmetic-dentistry .npdc-service-content-section { min-height: 7958.91px; }
.npdc-service-page--dental-bridges .npdc-service-content-section { min-height: 3465.11px; }
.npdc-service-page--dental-fillings .npdc-service-content-section { min-height: 6470.13px; }
.npdc-service-page--dental-veneers .npdc-service-content-section { min-height: 8272.97px; }
.npdc-service-page--dentures .npdc-service-content-section { min-height: 8030.22px; }
.npdc-service-page--gum-treatment .npdc-service-content-section { min-height: 10160.7px; }
.npdc-service-page--implant-supported-dentures .npdc-service-content-section { min-height: 5339.94px; }
.npdc-service-page--periodontal-maintenance .npdc-service-content-section { min-height: 11079.2px; }
.npdc-service-page--root-canals .npdc-service-content-section { min-height: 10514.83px; }
.npdc-service-page--tooth-extractions .npdc-service-content-section { min-height: 8892.27px; }

.npdc-service-page--emax-crowns { --npdc-faq-height: 1021.97px; --npdc-cta-height: 743.58px; }
.npdc-service-page--cosmetic-dentistry { --npdc-faq-height: 1297.16px; --npdc-cta-height: 792.38px; }
.npdc-service-page--dental-bridges { --npdc-faq-height: 1021.97px; --npdc-cta-height: 763.58px; }
.npdc-service-page--dental-fillings { --npdc-faq-height: 1228.36px; --npdc-cta-height: 792.38px; }
.npdc-service-page--dental-veneers { --npdc-faq-height: 1434.75px; --npdc-cta-height: 792.38px; }
.npdc-service-page--dentures { --npdc-faq-height: 1365.95px; --npdc-cta-height: 792.38px; }
.npdc-service-page--gum-treatment { --npdc-faq-height: 1503.55px; --npdc-cta-height: 792.38px; }
.npdc-service-page--implant-supported-dentures { --npdc-faq-height: 1303.16px; --npdc-cta-height: 849.97px; }
.npdc-service-page--periodontal-maintenance { --npdc-faq-height: 1572.34px; --npdc-cta-height: 849.97px; }
.npdc-service-page--root-canals { --npdc-faq-height: 1503.55px; --npdc-cta-height: 792.38px; }
.npdc-service-page--tooth-extractions { --npdc-faq-height: 1572.34px; --npdc-cta-height: 792.38px; }

.npdc-service-page .npdc-service-faq-section,
.npdc-service-page .npdc-section--mist.npdc-service-faq-section {
  height: var(--npdc-faq-height);
  min-height: var(--npdc-faq-height);
}

.npdc-service-page .npdc-section--cta {
  height: var(--npdc-cta-height);
  min-height: var(--npdc-cta-height);
}

.npdc-service-page .npdc-section--cta > .npdc-section__inner,
.npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow {
  height: calc(var(--npdc-cta-height) - 200px);
  min-height: calc(var(--npdc-cta-height) - 200px);
}

@media (max-width: 820px) {
  .npdc-service-page--emax-crowns { --npdc-hero-height: 461.41px; --npdc-content-height: 4695.17px; --npdc-faq-height: 850.88px; --npdc-cta-height: 506.22px; }
  .npdc-service-page--cosmetic-dentistry { --npdc-hero-height: 519.41px; --npdc-content-height: 9825.19px; --npdc-faq-height: 1167.72px; --npdc-cta-height: 571.03px; }
  .npdc-service-page--dental-bridges { --npdc-hero-height: 461.41px; --npdc-content-height: 5250.48px; --npdc-faq-height: 828.47px; --npdc-cta-height: 526.22px; }
  .npdc-service-page--dental-fillings { --npdc-hero-height: 461.41px; --npdc-content-height: 7896.14px; --npdc-faq-height: 1015.69px; --npdc-cta-height: 571.03px; }
  .npdc-service-page--dental-veneers { --npdc-hero-height: 461.41px; --npdc-content-height: 10355.05px; --npdc-faq-height: 1247.72px; --npdc-cta-height: 571.03px; }
  .npdc-service-page--dentures { --npdc-hero-height: 461.41px; --npdc-content-height: 9484.13px; --npdc-faq-height: 1207.72px; --npdc-cta-height: 571.03px; }
  .npdc-service-page--gum-treatment { --npdc-hero-height: 461.41px; --npdc-content-height: 12541.83px; --npdc-faq-height: 1377.34px; --npdc-cta-height: 548.63px; }
  .npdc-service-page--implant-supported-dentures { --npdc-hero-height: 577.41px; --npdc-content-height: 7283.03px; --npdc-faq-height: 1214.53px; --npdc-cta-height: 604.63px; }
  .npdc-service-page--periodontal-maintenance { --npdc-hero-height: 519.41px; --npdc-content-height: 13468.13px; --npdc-faq-height: 1638.59px; --npdc-cta-height: 604.63px; }
  .npdc-service-page--root-canals { --npdc-hero-height: 461.41px; --npdc-content-height: 12811.14px; --npdc-faq-height: 1310.13px; --npdc-cta-height: 593.44px; }
  .npdc-service-page--tooth-extractions { --npdc-hero-height: 519.41px; --npdc-content-height: 10724.28px; --npdc-faq-height: 1439.75px; --npdc-cta-height: 571.03px; }

  .npdc-service-page .npdc-page-hero,
  .npdc-service-page .npdc-page-hero__inner {
    height: var(--npdc-hero-height);
    min-height: var(--npdc-hero-height);
  }

  .npdc-service-page .npdc-service-content-section {
    min-height: var(--npdc-content-height);
  }

  .npdc-service-page .npdc-section--cta > .npdc-section__inner,
  .npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow {
    height: calc(var(--npdc-cta-height) - 60px);
    min-height: calc(var(--npdc-cta-height) - 60px);
  }
}
