/**
 * Azure Premium estate-completion layer.
 *
 * This is the durable fallback for published or newly-created content that
 * has not yet received an exact page adapter. It deliberately leaves every
 * page's copy, links, media, DOM order and interaction scripts in place. The
 * rules only establish the shared premium canvas, readable text hierarchy,
 * component separation and the recorded gum/hygiene desktop grid repair.
 *
 * Exact compatibility adapters still win for approved handcrafted pages.
 * Three porcelain guide adapters and one legacy implant page are included
 * explicitly because their old white paint survived their earlier allowlist.
 */

/* Pages that require the estate fallback rather than an exact adapter. */

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184,
  body.az-premium-site.az-premium-sandbox-visuals.postid-7082
) :is(
  .elementor-location-single.elementor-13711
    .elementor-widget-theme-post-content > .elementor-widget-container,
  main#content > .page-content
) {
  background:
    radial-gradient(56rem 34rem at 82% 0%, rgba(197, 103, 198, 0.16), transparent 70%),
    var(--az-bg-canvas) !important;
  background-color: var(--az-bg-canvas) !important;
  color: var(--az-text-primary) !important;
}

/* Native WordPress and legacy Elementor text receives a safe dark hierarchy. */

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184,
  body.az-premium-site.az-premium-sandbox-visuals.postid-7082
) :is(
  .elementor-location-single.elementor-13711 .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--az-text-primary) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184,
  body.az-premium-site.az-premium-sandbox-visuals.postid-7082
) :is(
  .elementor-location-single.elementor-13711 .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(p, li, dd, figcaption, blockquote) {
  color: var(--az-text-secondary) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184,
  body.az-premium-site.az-premium-sandbox-visuals.postid-7082
) :is(
  .elementor-location-single.elementor-13711 .elementor-widget-theme-post-content,
  main#content > .page-content
) a:not([class*="btn"]):not(.elementor-button) {
  color: var(--az-brand-accent-hover) !important;
  text-decoration-color: currentColor !important;
  text-underline-offset: 0.18em;
}

/* Give unstructured native articles a defined surface without changing width. */

body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat)
  .elementor-location-single.elementor-13711
  .elementor-widget-theme-post-content > .elementor-widget-container:not(:has(> .elementor)) {
  background-color: var(--az-bg-section) !important;
  border-block: 1px solid var(--az-border-subtle);
  box-shadow: var(--az-shadow-sm);
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-7082
) main#content > :is(.page-header, .page-content)
  .elementor-widget-text-editor > .elementor-widget-container {
  background: linear-gradient(180deg, var(--az-bg-raised), var(--az-bg-surface)) !important;
  color: var(--az-text-primary) !important;
  border: 1px solid var(--az-border-subtle);
  border-radius: var(--az-radius-md);
  box-shadow: var(--az-shadow-sm);
  padding: clamp(24px, 4vw, 44px);
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-7082
) main#content > .page-header {
  background: linear-gradient(135deg, var(--az-bg-raised), var(--az-bg-surface));
  color: var(--az-text-primary);
  border-color: var(--az-border-subtle);
  box-shadow: var(--az-shadow-sm);
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-7082
) main#content > .page-header .entry-title {
  color: var(--az-text-primary) !important;
}

/* Shared custom-HTML page root and section surfaces. */

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(section[id^="az-"], section[class^="az-"], .ad-max) {
  background-color: transparent !important;
  color: var(--az-text-primary) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(section[id^="az-"], section[class^="az-"], .ad-max)
  :is(.section, .az-section, .ad-section) {
  background-color: var(--az-bg-section) !important;
  color: var(--az-text-primary) !important;
  border-color: var(--az-border-subtle) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(section[id^="az-"], section[class^="az-"], .ad-max)
  :is(
    .card,
    .az-card,
    .ad-card,
    .panel,
    .az-panel,
    .ad-panel,
    .mini,
    .az-mini,
    .ad-mini,
    .cause,
    .callout,
    .az-callout,
    .note,
    .az-note,
    .step,
    .az-step,
    .item,
    .quote,
    .feature,
    .az-feature,
    .tip,
    .answer,
    .sec,
    details
  ) {
  background: linear-gradient(180deg, var(--az-bg-raised), var(--az-bg-surface)) !important;
  background-color: var(--az-bg-surface) !important;
  color: var(--az-text-primary) !important;
  border-color: var(--az-border-subtle) !important;
  box-shadow: var(--az-shadow-sm) !important;
}

/*
 * A small group of handcrafted gum/hygiene articles used pale figure, media,
 * answer and tip shells. Keep their photography intact while removing the
 * white framing that made the shared light type disappear.
 */
:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(section[id^="az-"], section[class^="az-"])
  :is(.figure, .media, .tip, .answer) {
  background-color: var(--az-bg-surface) !important;
  color: var(--az-text-primary) !important;
  border-color: var(--az-border-subtle) !important;
  box-shadow: var(--az-shadow-sm) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(section[id^="az-"], section[class^="az-"])
  :is(.figure, .media, .tip, .answer) :is(h2, h3, h4, strong) {
  color: var(--az-text-primary) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(section[id^="az-"], section[class^="az-"])
  :is(.figure, .media, .tip, .answer) :is(p, li, figcaption) {
  color: var(--az-text-secondary) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(section[id^="az-"], section[class^="az-"], .ad-max)
  :is(
    .hero,
    .az-hero,
    .ad-hero,
    .band,
    .az-band,
    .cta-banner,
    .az-cta-banner,
    .bottom-cta,
    .az-bottom-cta
  ) {
  color: var(--az-text-primary) !important;
  border-color: var(--az-border-strong) !important;
  box-shadow: var(--az-shadow-md);
}

/*
 * The Formby implant article uses a pale split hero with its clinical image as
 * a real child element, not as a CSS background. Give that exact hero a dark
 * premium surface so the shared light type remains readable without touching
 * the photograph or its grid.
 */
:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) .ad-max .ad-hero {
  background:
    radial-gradient(38rem 24rem at 86% 8%, rgba(197, 103, 198, 0.24), transparent 70%),
    linear-gradient(135deg, var(--az-bg-raised), var(--az-bg-surface)) !important;
  background-color: var(--az-bg-surface) !important;
  color: var(--az-text-primary) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(section[id^="az-"], section[class^="az-"], .ad-max)
  :is(.hero, .az-hero, .ad-hero, .band, .az-band, .cta-banner, .az-cta-banner)
  :is(h1, h2, h3, h4, p, li, strong, .lead, .az-lead) {
  color: var(--az-text-primary) !important;
}

/* High-contrast type, accents and interactive controls inside fallback roots. */

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(section[id^="az-"], section[class^="az-"], .ad-max)
  :is(.eyebrow, .az-eyebrow, .k, .kicker, .az-kicker, .badge, .az-badge, .chip, .az-chip) {
  background-color: var(--az-brand-accent-soft) !important;
  color: var(--az-brand-accent-hover) !important;
  border-color: var(--az-border-strong) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(section[id^="az-"], section[class^="az-"], .ad-max)
  :is(.muted, .az-muted, .small, .az-small, .note, .az-note, figcaption) {
  color: var(--az-text-tertiary) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(section[id^="az-"], section[class^="az-"], .ad-max)
  :is(
    .btn1,
    .btn-primary,
    .az-btn-primary,
    .ad-btn-primary,
    .book,
    a[class*="primary"]
  ) {
  background-color: var(--az-brand-accent) !important;
  color: var(--az-bg-canvas) !important;
  border-color: transparent !important;
  border-radius: var(--az-radius-pill);
}

/* The Formby implant hub uses one shared button class with three variants. */
:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) .ad-max .ad-btn {
  color: var(--az-bg-canvas) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) .ad-max .ad-btn--ghost {
  background-color: var(--az-bg-reading) !important;
  color: var(--az-text-reading) !important;
  border-color: var(--az-border-reading) !important;
}

/* WhatsApp green also needs dark type to maintain a defined contrast. */
:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) .ad-max .ad-btn--wa {
  color: var(--az-bg-canvas) !important;
}

/* Legacy implant-retained-denture FAQ: replace white-on-white accordion paint. */
body.az-premium-site.az-premium-sandbox-visuals.postid-7082
  .elementor-7082
  .elementor-toggle :is(.elementor-tab-title, .elementor-tab-content) {
  background-color: var(--az-bg-surface) !important;
  color: var(--az-text-primary) !important;
  border-color: var(--az-border-subtle) !important;
}

body.az-premium-site.az-premium-sandbox-visuals.postid-7082
  .elementor-7082
  .elementor-toggle .elementor-tab-title :is(.elementor-toggle-icon, .elementor-toggle-title) {
  color: var(--az-text-primary) !important;
}

body.az-premium-site.az-premium-sandbox-visuals.postid-7082
  .elementor-7082
  .elementor-button {
  color: var(--az-bg-canvas) !important;
}

/* Braces calculator actions retained legacy blue/green/grey paint plus pink type. */
body.az-premium-site.az-premium-sandbox-visuals.page-id-10654
  .elementor-10654 .az-btn-primary {
  background-color: var(--az-brand-accent) !important;
  color: var(--az-bg-canvas) !important;
  border-color: transparent !important;
}

body.az-premium-site.az-premium-sandbox-visuals.page-id-10654
  .elementor-10654 .az-btn-secondary {
  background-color: #25d366 !important;
  color: var(--az-bg-canvas) !important;
  border-color: transparent !important;
}

body.az-premium-site.az-premium-sandbox-visuals.page-id-10654
  .elementor-10654 .az-btn-tertiary {
  background-color: var(--az-bg-reading) !important;
  color: var(--az-text-reading) !important;
  border-color: var(--az-border-reading) !important;
}

/* Smile estimator contact heading must not retain black type on the dark canvas. */
body.az-premium-site.az-premium-sandbox-visuals.page-id-8548
  .elementor-element-29030dc h4 {
  color: var(--az-text-primary) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184
) :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(section[id^="az-"], section[class^="az-"], .ad-max)
  :is(.btn2, .btn-secondary, .az-btn-secondary, .btn-outline, .az-btn-ghost) {
  background-color: var(--az-bg-reading) !important;
  color: var(--az-text-reading) !important;
  border-color: var(--az-border-reading) !important;
  border-radius: var(--az-radius-pill);
}

/* Tables and form controls never inherit low-contrast legacy colours. */

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184,
  body.az-premium-site.az-premium-sandbox-visuals.postid-7082
) :is(
  .elementor-location-single.elementor-13711 .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(table, thead, tbody, tr, th, td) {
  border-color: var(--az-border-strong) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184,
  body.az-premium-site.az-premium-sandbox-visuals.postid-7082
) :is(
  .elementor-location-single.elementor-13711 .elementor-widget-theme-post-content,
  main#content > .page-content
) th {
  background-color: var(--az-bg-raised) !important;
  color: var(--az-text-primary) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184,
  body.az-premium-site.az-premium-sandbox-visuals.postid-7082
) :is(
  .elementor-location-single.elementor-13711 .elementor-widget-theme-post-content,
  main#content > .page-content
) td {
  background-color: var(--az-bg-surface) !important;
  color: var(--az-text-secondary) !important;
}

:is(
  body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
  body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
  body.az-premium-site.az-premium-sandbox-visuals.postid-12184,
  body.az-premium-site.az-premium-sandbox-visuals.postid-7082
) :is(
  .elementor-location-single.elementor-13711 .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(input, select, textarea) {
  background-color: var(--az-bg-reading) !important;
  color: var(--az-text-reading) !important;
  border-color: var(--az-border-reading) !important;
}

/* Preserve a real desktop treatment/sidebar composition for this content set. */

@media (min-width: 1025px) {
  body.az-premium-site.az-premium-sandbox-visuals
    :is([id*="gum"], [id*="hygien"])
    :is(.main, .az-main) > :is(.grid, .az-grid) {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.82fr) !important;
    align-items: start;
  }

  body.az-premium-site.az-premium-sandbox-visuals
    :is([id*="gum"], [id*="hygien"])
    :is(.main, .az-main) > :is(.grid, .az-grid) > * {
    min-width: 0;
  }
}

@media (max-width: 1024px) {
  body.az-premium-site.az-premium-sandbox-visuals
    :is([id*="gum"], [id*="hygien"])
    :is(.main, .az-main) > :is(.grid, .az-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  :is(
    body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
    body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
    body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
    body.az-premium-site.az-premium-sandbox-visuals.postid-12184
  ) :is(section[id^="az-"], section[class^="az-"], .ad-max)
    :is(.grid, .az-grid, .grid2, .grid3) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 767px) {
  :is(
    body.az-premium-site.az-premium-sandbox-visuals:not(.az-premium-compat),
    body.az-premium-site.az-premium-sandbox-visuals.postid-12177,
    body.az-premium-site.az-premium-sandbox-visuals.postid-12181,
    body.az-premium-site.az-premium-sandbox-visuals.postid-12184,
    body.az-premium-site.az-premium-sandbox-visuals.postid-7082
  ) :is(table, .az-table) {
    display: block;
    max-width: 100% !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
}

/* Retire page-owned bars; the universal CTA remains the sole mobile owner. */

body.az-premium-site.az-premium-sandbox-visuals :is(
  .elementor-widget-theme-post-content,
  main#content > .page-content
) :is(
  .mobilebar,
  .mobile-bar,
  .az-mobilebar,
  .az-mobile-bar,
  .sticky-mobile-cta,
  .ad-mobile-cta,
  .az-sticky,
  .ad-sticky,
  .mcta
) {
  display: none !important;
}

/*
 * Hub completion: restore real sticky sidebars that share the legacy
 * `.az-sticky` name. Only the direct child of the inspected article aside is
 * restored; page-owned fixed CTA bars remain retired above.
 */
body.az-premium-site.az-premium-sandbox-visuals.postid-12163
  #az-gum-disease .az-aside > .az-sticky,
body.az-premium-site.az-premium-sandbox-visuals.postid-12164
  #az-hygienist .az-aside > .az-sticky {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/*
 * Porcelain veneers treatment 2105 retained two page-owned white component
 * types beneath its already-converted cards. Repaint only the gallery shells
 * and related-guide cards; photographs, captions, links and grid flow remain
 * unchanged.
 */
body.az-premium-site.az-premium-compat.single-treatments.postid-2105
  .elementor.elementor-2105 [data-id="fe6f740"]
  .az-pvmain :is(.az-gallery figure, .az-links a) {
  background: linear-gradient(180deg, var(--az-bg-raised), var(--az-bg-surface)) !important;
  background-color: var(--az-bg-surface) !important;
  color: var(--az-text-primary) !important;
  border-color: var(--az-border-subtle) !important;
  box-shadow: var(--az-shadow-sm) !important;
}

body.az-premium-site.az-premium-compat.single-treatments.postid-2105
  .elementor.elementor-2105 [data-id="fe6f740"]
  .az-pvmain .az-gallery figcaption {
  color: var(--az-text-secondary) !important;
}

body.az-premium-site.az-premium-compat.single-treatments.postid-2105
  .elementor.elementor-2105 [data-id="fe6f740"]
  .az-pvmain .az-links a {
  color: var(--az-brand-accent-hover) !important;
  text-decoration-color: currentColor !important;
}

/*
 * Airflow treatment 6679 owns legacy white declarations for these hub
 * components. Keep a final, page-scoped guard so late inline paint cannot
 * cover the premium content or table text.
 */
body.az-premium-site.az-premium-compat.single-treatments.postid-6679
  .elementor.elementor-6679 [data-id="81768b4"]
  .az-airflow-hub :is(.az-card, .az-feature, .az-linkcard, table) {
  background: linear-gradient(180deg, var(--az-bg-raised), var(--az-bg-surface)) !important;
  background-color: var(--az-bg-surface) !important;
  color: var(--az-text-primary) !important;
  border-color: var(--az-border-subtle) !important;
  box-shadow: var(--az-shadow-sm) !important;
}

body.az-premium-site.az-premium-compat.single-treatments.postid-6679
  .elementor.elementor-6679 [data-id="81768b4"]
  .az-airflow-hub table :is(th, td) {
  background-color: transparent !important;
  border-color: var(--az-border-subtle) !important;
}

body.az-premium-site.az-premium-compat.single-treatments.postid-6679
  .elementor.elementor-6679 [data-id="81768b4"]
  .az-airflow-hub table th {
  color: var(--az-text-primary) !important;
}

body.az-premium-site.az-premium-compat.single-treatments.postid-6679
  .elementor.elementor-6679 [data-id="81768b4"]
  .az-airflow-hub table td {
  color: var(--az-text-secondary) !important;
}

/*
 * Final support-family completion.
 *
 * These handcrafted guide sets carry the compatibility body class, so they
 * intentionally bypass the broad fallback near the top of this file. Their
 * page-owned pale cards therefore need a root-scoped conversion of their own.
 * The selectors below cover the complete authored families without touching
 * unrelated WordPress articles, buttons, media, copy or document order.
 */

body.az-premium-site.az-premium-sandbox-visuals
  :is(
    #composite-bonding-vs-porcelain-veneers,
    #porcelain-veneers-cost-uk,
    #porcelain-veneers-procedure,
    #can-porcelain-veneers-stain,
    #porcelain-veneers-alternatives,
    #porcelain-veneers-pros-and-cons,
    #porcelain-veneers-nhs,
    #how-long-do-porcelain-veneers-last
  )
  :is(.az-fact, .az-media, .az-table, .az-links a) {
  background: linear-gradient(180deg, var(--az-bg-raised), var(--az-bg-surface)) !important;
  background-color: var(--az-bg-surface) !important;
  color: var(--az-text-primary) !important;
  border-color: var(--az-border-subtle) !important;
  box-shadow: var(--az-shadow-sm) !important;
}

body.az-premium-site.az-premium-sandbox-visuals
  :is(
    #composite-bonding-vs-porcelain-veneers,
    #porcelain-veneers-cost-uk,
    #porcelain-veneers-procedure,
    #can-porcelain-veneers-stain,
    #porcelain-veneers-alternatives,
    #porcelain-veneers-pros-and-cons,
    #porcelain-veneers-nhs,
    #how-long-do-porcelain-veneers-last
  )
  .az-fact :is(strong, h3, h4) {
  color: var(--az-text-primary) !important;
}

body.az-premium-site.az-premium-sandbox-visuals
  :is(
    #composite-bonding-vs-porcelain-veneers,
    #porcelain-veneers-cost-uk,
    #porcelain-veneers-procedure,
    #can-porcelain-veneers-stain,
    #porcelain-veneers-alternatives,
    #porcelain-veneers-pros-and-cons,
    #porcelain-veneers-nhs,
    #how-long-do-porcelain-veneers-last
  )
  :is(.az-fact span, .az-media figcaption, .az-table td) {
  color: var(--az-text-secondary) !important;
}

body.az-premium-site.az-premium-sandbox-visuals
  :is(
    #composite-bonding-vs-porcelain-veneers,
    #porcelain-veneers-cost-uk,
    #porcelain-veneers-procedure,
    #can-porcelain-veneers-stain,
    #porcelain-veneers-alternatives,
    #porcelain-veneers-pros-and-cons,
    #porcelain-veneers-nhs,
    #how-long-do-porcelain-veneers-last
  )
  .az-table :is(table, thead, tbody, tr, th, td) {
  background-color: transparent !important;
  border-color: var(--az-border-subtle) !important;
}

body.az-premium-site.az-premium-sandbox-visuals
  :is(
    #composite-bonding-vs-porcelain-veneers,
    #porcelain-veneers-cost-uk,
    #porcelain-veneers-procedure,
    #can-porcelain-veneers-stain,
    #porcelain-veneers-alternatives,
    #porcelain-veneers-pros-and-cons,
    #porcelain-veneers-nhs,
    #how-long-do-porcelain-veneers-last
  )
  :is(.az-table th, .az-links a) {
  color: var(--az-brand-accent-hover) !important;
}

body.az-premium-site.az-premium-sandbox-visuals
  :is(#az-airflow-hub, section[id^="az-airflow-"])
  :is(.az-card, .az-box, .az-mini, .az-linkcard, .az-media, .az-feature, table) {
  background: linear-gradient(180deg, var(--az-bg-raised), var(--az-bg-surface)) !important;
  background-color: var(--az-bg-surface) !important;
  color: var(--az-text-primary) !important;
  border-color: var(--az-border-subtle) !important;
  box-shadow: var(--az-shadow-sm) !important;
}

body.az-premium-site.az-premium-sandbox-visuals
  :is(#az-airflow-hub, section[id^="az-airflow-"])
  :is(.az-links a, .az-linkcard) {
  background: linear-gradient(180deg, var(--az-bg-raised), var(--az-bg-surface)) !important;
  background-color: var(--az-bg-surface) !important;
  color: var(--az-brand-accent-hover) !important;
  border-color: var(--az-border-subtle) !important;
}

body.az-premium-site.az-premium-sandbox-visuals
  :is(#az-airflow-hub, section[id^="az-airflow-"])
  :is(.az-card, .az-box, .az-mini, .az-linkcard, .az-media, .az-feature)
  :is(h2, h3, h4, h5, strong) {
  color: var(--az-text-primary) !important;
}

body.az-premium-site.az-premium-sandbox-visuals
  :is(#az-airflow-hub, section[id^="az-airflow-"])
  :is(.az-card, .az-box, .az-mini, .az-linkcard, .az-media, .az-feature)
  :is(p, li, figcaption) {
  color: var(--az-text-secondary) !important;
}

body.az-premium-site.az-premium-sandbox-visuals
  :is(#az-airflow-hub, section[id^="az-airflow-"])
  .az-linkcard a {
  color: var(--az-brand-accent-hover) !important;
}

body.az-premium-site.az-premium-sandbox-visuals
  :is(#az-airflow-hub, section[id^="az-airflow-"])
  table :is(th, td) {
  background-color: transparent !important;
  border-color: var(--az-border-subtle) !important;
}

body.az-premium-site.az-premium-sandbox-visuals
  :is(#az-airflow-hub, section[id^="az-airflow-"])
  table th {
  color: var(--az-text-primary) !important;
}

body.az-premium-site.az-premium-sandbox-visuals
  :is(#az-airflow-hub, section[id^="az-airflow-"])
  table td {
  color: var(--az-text-secondary) !important;
}

/*
 * The article sidebars need a full-height grid cell for position:sticky to
 * travel alongside the longer article. `align-items:start` collapsed each
 * aside to the height of its cards, which made the sticky element scroll away
 * like a static block. Restore the authored floating behaviour on desktop and
 * keep normal document flow on tablet/mobile.
 */
@media (min-width: 1025px) {
  :is(
    body.az-premium-site.az-premium-sandbox-visuals.postid-12163 #az-gum-disease,
    body.az-premium-site.az-premium-sandbox-visuals.postid-12164 #az-hygienist
  ) .az-main > .az-grid {
    align-items: stretch !important;
  }

  :is(
    body.az-premium-site.az-premium-sandbox-visuals.postid-12163 #az-gum-disease,
    body.az-premium-site.az-premium-sandbox-visuals.postid-12164 #az-hygienist
  ) .az-aside {
    align-self: stretch !important;
    height: auto !important;
  }

  :is(
    body.az-premium-site.az-premium-sandbox-visuals.postid-12163 #az-gum-disease,
    body.az-premium-site.az-premium-sandbox-visuals.postid-12164 #az-hygienist
  ) .az-aside > .az-sticky {
    position: sticky !important;
    top: 20px !important;
  }
}

@media (max-width: 1024px) {
  :is(
    body.az-premium-site.az-premium-sandbox-visuals.postid-12163 #az-gum-disease,
    body.az-premium-site.az-premium-sandbox-visuals.postid-12164 #az-hygienist
  ) .az-aside > .az-sticky {
    position: static !important;
    top: auto !important;
  }
}
