/**
 * SDR Calculator — dental page (`[sdr_dental]`).
 *
 * A public surface inside someone else's theme: it wears the calculator's own shell and
 * custom properties (sdr-calculator.css, `.sdr-calculator`), never a value of its own —
 * every colour, radius and gap below is one of the calculator's `--sdr-*` properties.
 */

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-intro,
:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-help {
  color: var(--sdr-text-secondary);
  font-size: 0.875em;
  margin: 0 0 var(--sdr-gap-md);
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-search {
  width: 100%;
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-notice {
  background: var(--sdr-warning-surface);
  border: 1px solid var(--sdr-border);
  border-radius: var(--sdr-radius-md);
  color: var(--sdr-text-primary);
  padding: var(--sdr-gap-md);
  margin-bottom: var(--sdr-gap-md);
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-card {
  background: var(--sdr-bg-raised);
  border: 1px solid var(--sdr-border);
  border-radius: var(--sdr-radius-lg);
  padding: var(--sdr-gap-md);
  margin-bottom: var(--sdr-gap-md);
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sdr-gap-sm);
  margin-bottom: var(--sdr-gap-sm);
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-card-title {
  color: var(--sdr-accent);
  font-weight: 600;
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-column {
  color: var(--sdr-text-secondary);
  font-weight: 400;
  margin-left: var(--sdr-gap-sm);
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-lines {
  margin: 0;
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--sdr-gap-xs) var(--sdr-gap-md);
  padding: var(--sdr-gap-xs) 0;
  border-bottom: 1px solid var(--sdr-border-subtle);
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-label {
  color: var(--sdr-text-secondary);
  margin: 0;
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-value {
  display: flex;
  align-items: center;
  gap: var(--sdr-gap-sm);
  margin: 0;
  font-family: var(--sdr-font-mono);
  color: var(--sdr-text-primary);
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-unit {
  color: var(--sdr-text-tertiary);
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-hint {
  grid-column: 1 / -1;
  color: var(--sdr-text-tertiary);
  font-size: 0.8em;
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-reach {
  color: var(--sdr-warning);
  margin: var(--sdr-gap-sm) 0 0;
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-notes ul {
  margin: 0 0 var(--sdr-gap-md);
  padding-left: var(--sdr-gap-lg);
  color: var(--sdr-text-secondary);
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-editor {
  margin-top: var(--sdr-gap-sm);
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-editor summary {
  cursor: pointer;
  color: var(--sdr-text-secondary);
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-edit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 8em 4.5em auto;
  align-items: center;
  gap: var(--sdr-gap-sm);
  margin-top: var(--sdr-gap-xs);
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-input {
  background: var(--sdr-bg-input);
  border: 1px solid var(--sdr-border);
  border-radius: var(--sdr-radius-sm);
  color: var(--sdr-text-primary);
  font-family: var(--sdr-font-mono);
  padding: var(--sdr-gap-xs) var(--sdr-gap-sm);
}

:is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-pin.is-pinned {
  background: var(--sdr-locked-surface);
  color: var(--sdr-locked);
}

/* The copy fallback's textarea lives on <body>, outside the shell. */
.sdr-dental-offscreen {
  position: fixed;
  top: 0;
  left: -9999px;
  opacity: 0;
}

@media (max-width: 800px) {
  /* The Generic side step reads « 0.9 mm (45% of Ø, 55% overlap) »: at phone width it
     cannot share a row with its label, so the label goes above it. */
  :is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-line {
    grid-template-columns: minmax(0, 1fr);
  }
  :is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-value {
    flex-wrap: wrap;
    min-width: 0;
  }
  :is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-number {
    overflow-wrap: anywhere;
  }
  :is(.sdr-calculator.sdr-dental, .sdr-calculator .sdr-dental--embedded) .sdr-dental-edit {
    grid-template-columns: minmax(0, 1fr) 6em auto auto;
  }
}

/* ── One search over every tool (spec c98b97d230fd) ────────────────────────────────────
   The dental result lives inside the calculator page, after the industrial one. A dental
   bur picked in the page's one search adds `sdr-dental-active` to the calculator root: the
   industrial setup, its results, its tool banner and its PDF / Excel buttons give way to
   this block. Its own search, filters, tool list, title and unit toggle are not shown — the
   page has one search and one unit choice. */
.sdr-calculator:not(.sdr-dental-active) > .sdr-dental--embedded,
.sdr-calculator.sdr-dental-active > .sdr-main,
.sdr-calculator.sdr-dental-active #sdr-tool-banner,
.sdr-calculator.sdr-dental-active #sdr-btn-export-pdf,
.sdr-calculator.sdr-dental-active #sdr-btn-excel,
.sdr-calculator .sdr-dental--embedded .sdr-dental-picker,
.sdr-calculator .sdr-dental--embedded .sdr-logo,
.sdr-calculator .sdr-dental--embedded [data-sdr-dental-units] {
  display: none;
}
