/* Revision 10: final polish (specialty). Loaded after revision-5.css.
   Owns: /orthodontics/, /pediatric-dentistry/, /why-elite/, /technology/ and
   the "Your specialists" component (template-parts/components/specialists.php)
   on the treatment pages. */


/* --------------------------------------------------------------------------
   1. Doctor cards on the two specialty pages. Each doctor has the single
      doctor card (the orthodontists stacked, Dr. Saggar alone), and there is
      no specialty tag, so the name leads the card.
   -------------------------------------------------------------------------- */
:is(.page-template-page-templatestemplate-orthodontics-php, .page-template-page-templatestemplate-pediatric-php) .spec-docs .sdoc__name { margin-top: 0; }

@media (max-width: 47.99rem) {
  /* Phone: the name sits in the middle of the portrait's height. */
  :is(.page-template-page-templatestemplate-orthodontics-php, .page-template-page-templatestemplate-pediatric-php) .spec-docs .sdoc__name { grid-row: 1 / 3; align-self: center; }
}


/* --------------------------------------------------------------------------
   2. "Your specialists" on the treatment pages. Two doctors each get the
      single-doctor card (spx--n1 spx--pair), stacked on the left, with the
      same portrait as the pediatric dentist's card. On a wide desktop the
      booking panel sits beside the first, the Google card beside the second
      and the review runs across under both. No role tag.
   -------------------------------------------------------------------------- */
.spx .spx__body > .spx__name:first-child { margin-top: 0; }

/* The two portraits are the same height whatever the length of each biography. */
@media (min-width: 48rem) and (max-width: 79.99rem) {
  .spx.spx--pair .spx__photo { min-height: 25rem; }
}
@media (min-width: 80rem) {
  .spx.spx--pair .spx__photo { min-height: 27rem; }
  .spx.spx--pair .spx__book { grid-row: 1; grid-column: -2 / -1; }
  .spx.spx--pair .spx__proof { display: contents; }
  .spx.spx--pair .spx__proof > .gbadge--card { grid-row: 2; grid-column: -2 / -1; justify-content: center; padding: 1.75rem; }
  .spx.spx--pair .spx__proof > .quote { grid-row: 3; grid-column: 1 / -1; }
}

@media (max-width: 47.99rem) {
  /* Phone: the name in the middle of the portrait's height. */
  .spx .spx__card .spx__name { grid-area: auto; grid-column: 2; grid-row: 1 / 3; align-self: center; margin-top: 0 !important; }
}


/* --------------------------------------------------------------------------
   3. Why Elite: the hero photograph (a portrait-format picture of the team
      at the sign) keeps the sign and the face in the arch.
   -------------------------------------------------------------------------- */
.premium-inner.page-template-page-templatestemplate-why-elite-php .why-hero__art img { object-position: 50% 16%; }
@media (max-width: 47.99rem) {
  /* A phone's frame is landscape: her face, with the lower line of the sign above it. */
  .premium-inner.page-template-page-templatestemplate-why-elite-php .why-hero__art img { object-position: 50% 64%; }
}


/* --------------------------------------------------------------------------
   4. Technology: the closing section, both care lanes beside the Google
      trust card.
   -------------------------------------------------------------------------- */
.page-template-page-templatestemplate-technology-php .tech-close__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin-top: clamp(2rem, 4vw, 3rem); align-items: stretch; }
.page-template-page-templatestemplate-technology-php .tech-lane {
  display: flex; flex-direction: column; align-items: flex-start; gap: 0.7rem; min-width: 0; padding: clamp(1.5rem, 2.4vw, 2rem);
  border: 1px solid var(--line-soft, #e5e1ea); border-radius: 1.5rem; background: #fff; box-shadow: 0 30px 60px -48px rgba(26, 18, 54, 0.5);
}
.page-template-page-templatestemplate-technology-php .tech-lane > * { margin: 0; }
.page-template-page-templatestemplate-technology-php .tech-lane--ortho { --lane: var(--ortho); }
.page-template-page-templatestemplate-technology-php .tech-lane--ped { --lane: var(--ped); }
.page-template-page-templatestemplate-technology-php .tech-lane__icon {
  display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: 0.4rem; border-radius: 0.95rem;
  background: var(--ortho-tint, #eee9f7); color: var(--ortho);
}
.page-template-page-templatestemplate-technology-php .tech-lane--ped .tech-lane__icon { background: var(--ped-tint, #e5f5f6); color: var(--ped); }
.page-template-page-templatestemplate-technology-php .tech-lane h3 { max-width: 20ch; font-size: clamp(1.3rem, 1.1rem + 0.55vw, 1.6rem); line-height: 1.15; letter-spacing: -0.025em; text-wrap: balance; }
.page-template-page-templatestemplate-technology-php .tech-lane__text { max-width: 44ch; color: var(--body); font-size: 0.98rem; line-height: 1.6; }
.page-template-page-templatestemplate-technology-php .tech-lane__actions { display: grid; gap: 0.65rem; width: 100%; margin-top: auto !important; padding-top: 0.9rem; }
.page-template-page-templatestemplate-technology-php .tech-lane__actions .btn--stacked { width: 100%; }
.page-template-page-templatestemplate-technology-php .tech-lane__actions .go-link { display: flex; width: 100%; }
.page-template-page-templatestemplate-technology-php .tech-lane--ped .go-link .go-link__ic { background: var(--ped-tint, #e5f5f6); color: var(--ped); }
.page-template-page-templatestemplate-technology-php .tech-close__trust { max-width: none; }

@media (min-width: 48rem) and (max-width: 63.99rem) {
  .page-template-page-templatestemplate-technology-php .tech-close__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* The trust card runs across under the two lanes, its parts in a row. */
  .page-template-page-templatestemplate-technology-php .tech-close__trust { grid-column: 1 / -1; display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; column-gap: 2rem; }
  .page-template-page-templatestemplate-technology-php .tech-close__trust .gbadge__top { grid-column: 1; grid-row: 1; }
  .page-template-page-templatestemplate-technology-php .tech-close__trust .gbadge__score { grid-column: 1; grid-row: 2; }
  .page-template-page-templatestemplate-technology-php .tech-close__trust .gbadge__count { grid-column: 1; grid-row: 3; }
  .page-template-page-templatestemplate-technology-php .tech-close__trust .gbadge__biz { grid-column: 2 / -1; grid-row: 1 / 3; padding: 0 0 0 2rem; border-top: 0; border-left: 1px solid var(--line-soft, #e5e1ea); }
  .page-template-page-templatestemplate-technology-php .tech-close__trust .gbadge__cta { grid-column: 2 / -1; grid-row: 3; padding-left: 2rem; }
}
@media (min-width: 64rem) {
  .page-template-page-templatestemplate-technology-php .tech-close__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(0, 0.78fr); }
  .page-template-page-templatestemplate-technology-php .tech-close__trust { justify-content: center; padding: 1.75rem; }
}
@media (max-width: 47.99rem) {
  .page-template-page-templatestemplate-technology-php .tech-close__grid { gap: 0.85rem; margin-top: 1.5rem; }
  .page-template-page-templatestemplate-technology-php .tech-lane { padding: 1.25rem; border-radius: 1.25rem; }
  .page-template-page-templatestemplate-technology-php .tech-lane__icon { width: 2.6rem; height: 2.6rem; border-radius: 0.8rem; }
  .page-template-page-templatestemplate-technology-php .tech-close__trust { padding: 1.25rem; }
}

/* ------------------------------------------------ Final QA (revision 10) */
/* W2: the family in the hero stays in frame. */
.page-template-page-templatestemplate-why-elite-php .why-hero__art img { object-position: 66% 50%; }

/* W5: on phones the three quotes stack, nothing scrolls sideways. */
@media (max-width: 47.99rem) {
  .page-template-page-templatestemplate-why-elite-php .why-proof__quotes { display: grid; gap: 0.85rem; margin-inline: 0; padding: 0; overflow: visible; scroll-snap-type: none; }
  .page-template-page-templatestemplate-why-elite-php .why-proof__quotes > .quote { flex: none; }
}

/* W14: the Google card runs across under the two lanes on desktop as on tablets. */
@media (min-width: 64rem) {
  .page-template-page-templatestemplate-technology-php .tech-close__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-template-page-templatestemplate-technology-php .tech-close__trust { grid-column: 1 / -1; display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; justify-content: stretch; column-gap: 2rem; padding: 1.5rem 1.75rem; }
  .page-template-page-templatestemplate-technology-php .tech-close__trust .gbadge__top { grid-column: 1; grid-row: 1; }
  .page-template-page-templatestemplate-technology-php .tech-close__trust .gbadge__score { grid-column: 1; grid-row: 2; }
  .page-template-page-templatestemplate-technology-php .tech-close__trust .gbadge__count { grid-column: 1; grid-row: 3; }
  .page-template-page-templatestemplate-technology-php .tech-close__trust .gbadge__biz { grid-column: 2 / -1; grid-row: 1 / 3; padding: 0 0 0 2rem; border-top: 0; border-left: 1px solid var(--line-soft, #e5e1ea); }
  .page-template-page-templatestemplate-technology-php .tech-close__trust .gbadge__cta { grid-column: 2 / -1; grid-row: 3; padding-left: 2rem; }
}
