/* ARMA Dental | Shared additions to the user's DentalHolding theme.
   All page-specific rules are scoped. No existing stylesheet is overwritten. */
.arma-page {
  --arma-header-height: 74px;
  --arma-hero: #0b3733;
  --arma-accent: #ef152a;
  --arma-soft: #eef6f3;
  --arma-line: #dce8e2;
  padding-top: var(--arma-header-height);
  overflow-wrap: break-word;
}
.arma-page [hidden] { display: none !important; }
.arma-page main, .arma-page section, .arma-page nav, .arma-page [id] { scroll-margin-top: calc(var(--arma-header-height) + 84px); }
.arma-page h1, .arma-page h2, .arma-page h3 { font-family: var(--bs-font-sans-serif); }
.arma-page h2 { line-height: 1.25; letter-spacing: -.025em; }
.arma-page h1 { font-size: clamp(2rem, 3.5vw, 3.2rem); line-height: 1.12; letter-spacing: -.035em; font-weight: 600; }
.arma-page a { text-underline-offset: .18em; }
.arma-page :focus-visible { outline: 3px solid #009c9c; outline-offset: 4px; }
.arma-page .arma-skip-link { position: fixed; z-index: 2000; top: -100px; left: 16px; padding: .8rem 1rem; background: #fff; color: #082e2b; border: 2px solid #007c83; border-radius: .5rem; }
.arma-page .arma-skip-link:focus { top: 10px; }
.arma-page .btn { white-space: normal; }
.arma-page .btn-primary, .arma-page .btn-outline-primary { font-weight: 500; }

/* Fixed header: no auto-hide, no height changes when scrolling. */
.arma-page header.arma-fixed-header,
.arma-page header.arma-fixed-header.sticky-fixed,
.arma-page header.arma-fixed-header.headroom--unpinned {
  position: fixed !important; inset: 0 0 auto 0 !important;
  z-index: 1040; transform: none !important;
  background: var(--bs-body-bg); border-bottom: 1px solid var(--bs-border-color);
  box-shadow: 0 2px 12px rgba(0,0,0,.035); opacity: 1 !important; visibility: visible !important;
}
.arma-page .arma-fixed-header .navbar,
.arma-page .arma-fixed-header.sticky-fixed .navbar {
  min-height: var(--arma-header-height); padding: 10px 0 !important;
  position: relative !important; top: 0 !important; transform: none !important;
  background: var(--bs-body-bg) !important; transition: none !important;
}
.arma-page .arma-fixed-header .navbar-fixed-bg { display: none !important; }
.arma-page .arma-fixed-header .navbar-brand { width: 185px; height: 44px; flex: 0 0 185px; margin-right: 2rem; padding: 0; position: relative; }
.arma-page .arma-fixed-header .navbar-brand img { position: absolute; inset: 0; width: 100%; height: 44px; object-fit: contain; transform: none; }
.arma-page .arma-fixed-header .navbar-brand-sticky { display: block !important; opacity: 1 !important; }
.arma-page .arma-fixed-header .navbar-brand-transparent { display: none !important; }
.arma-page .arma-brand-fallback { display: none; color: #ec0019; font-size: 1.5rem; font-weight: 800; letter-spacing: -.065em; line-height: 44px; }
.arma-page .arma-logo-missing img { visibility: hidden; }
.arma-page .arma-logo-missing .arma-brand-fallback { display: block; }
.arma-page .arma-fixed-header .navbar-nav > .nav-item > .nav-link,
.arma-page .arma-fixed-header .navbar-nav > .nav-item > .link-light { color: var(--bs-body-color) !important; font-size: .9rem; font-weight: 500; padding: .7rem .85rem; }
.arma-page .arma-fixed-header .navbar-nav > .nav-item > .nav-link:hover,
.arma-page .arma-fixed-header .navbar-nav > .nav-item > .nav-link[aria-expanded=true] { color: var(--bs-primary) !important; }
.arma-page .arma-fixed-header .dropdown-menu { background: var(--bs-body-bg); color: var(--bs-body-color); border: 1px solid var(--bs-border-color); box-shadow: 0 14px 30px rgba(0,0,0,.12); border-radius: .6rem; }
.arma-page .arma-fixed-header .dropdown-menu-fw { width: 100%; left: 0; right: 0; top: 100%; }
.arma-page .arma-fixed-header .dropdown-item { white-space: normal; color: var(--bs-body-color); font-size: .83rem; line-height: 1.5; }
.arma-page .arma-fixed-header .dropdown-header { color: var(--bs-body-color); }
.arma-page .arma-fixed-header .dropdown-item:hover,
.arma-page .arma-fixed-header .dropdown-item:focus { background: var(--bs-tertiary-bg); color: var(--bs-primary); }
.arma-page .arma-fixed-header .dropdown-scroll-lg { max-height: calc(100dvh - 110px); overflow-y: auto; overscroll-behavior: contain; padding: 20px 12px; }
.arma-page .arma-fixed-header .dropdown-menu .dropdown-center > .dropdown-menu { position: static; box-shadow: none; margin: .5rem; width: auto; min-width: 0; }
.arma-page .arma-fixed-header .dropdown-menu .nav-link { color: var(--bs-primary) !important; }
.arma-page .arma-fixed-header .navbar-toggler { border: 1px solid var(--bs-border-color); padding: 9px; border-radius: .4rem; }
.arma-page .arma-fixed-header .navbar-toggler-icon { background: none; width: 24px; height: 24px; display: grid; place-items: center; }
.arma-page .arma-fixed-header .navbar-toggler-icon i { display: block; width: 22px; height: 2px; background: var(--bs-body-color); position: relative; }
.arma-page .arma-fixed-header .navbar-toggler-icon i::before,
.arma-page .arma-fixed-header .navbar-toggler-icon i::after { content: ''; display: block; position: absolute; width: 22px; height: 2px; background: var(--bs-body-color); left: 0; }
.arma-page .arma-fixed-header .navbar-toggler-icon i::before { top: -7px; }
.arma-page .arma-fixed-header .navbar-toggler-icon i::after { top: 7px; }

/* The image/copy split and containers follow the supplied ZUMAX pages. */
.arma-page .arma-hero { background: var(--arma-hero); min-height: 0; padding: 18px 0 48px; color: #fff; }
.arma-page .arma-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; font-size: .73rem; color: #b4d0c6; margin: 0 0 25px; }
.arma-page .arma-breadcrumb a { color: #d8e8df; }
.arma-page .arma-hero h1 { color: #fff; }
.arma-page .arma-hero .product-image-wrap { display: flex; align-items: center; justify-content: center; }
.arma-page .arma-hero-figure { max-width: 510px; width: 100%; }
.arma-page .arma-hero .product-image { width: 100%; height: auto; aspect-ratio: 1; max-height: 540px; object-fit: contain; box-shadow: 0 18px 44px rgba(0,0,0,.12); }
.arma-page .arma-hero .kicker { display: block; color: #94e5a6; font-weight: 600; font-size: .77rem; letter-spacing: .12em; line-height: 1.6; }
.arma-page .arma-hero .hero-lead { color: #d0e4d9; font-size: clamp(1rem,1.4vw,1.14rem); line-height: 1.75; font-weight: 400; }
.arma-page .arma-hero .btn-white { background: #fff; color: #183a31; border-color: #fff; font-size: .85rem; font-weight: 600; padding: .9rem 1.2rem; }
.arma-page .arma-hero .btn-white:hover { background: #dcf1e4; border-color: #dcf1e4; }
.arma-page .arma-hero .btn-outline-light { background: transparent; color: #fff; border: 1px solid #9cb7ac; font-size: .85rem; font-weight: 500; padding: .9rem 1.2rem; }
.arma-page .arma-hero .btn-outline-light:hover { background: #fff; color: #183a31; }
.arma-page .arma-hero-caption { color: #acc9bc; font-size: .75rem; line-height: 1.6; }
.arma-page .arma-section-nav { position: sticky; top: var(--arma-header-height); z-index: 1010; background: var(--bs-body-bg); border-bottom: 1px solid var(--bs-border-color); }
.arma-page .arma-section-nav > .container { display: flex; align-items: center; gap: 2rem; min-height: 68px; }
.arma-page .arma-nav-brand { font-weight: 700; flex-shrink: 0; color: var(--bs-body-color); letter-spacing: -.03em; text-decoration: none; font-size: 1.1rem; }
.arma-page .arma-nav-brand span { font-weight: 400; }
.arma-page .arma-nav-links { display: flex; gap: 1.7rem; align-items: stretch; overflow-x: auto; min-width: 0; scrollbar-width: thin; margin-left: auto; }
.arma-page .arma-nav-links a { padding: 21px 0 18px; font-size: .84rem; white-space: nowrap; color: var(--bs-body-color); text-decoration: none; border-bottom: 3px solid transparent; }
.arma-page .arma-nav-links a[aria-current=page] { border-bottom-color: var(--arma-accent); font-weight: 600; }
.arma-page .arma-nav-links a:hover { color: var(--bs-primary); }
.arma-page .arma-section-nav-bottom { position: static; border-top: 1px solid var(--bs-border-color); }
.arma-page .arma-eyebrow { display: block; color: #417163; font-size: .72rem; letter-spacing: .09em; font-weight: 600; line-height: 1.6; text-transform: uppercase; }
.arma-page .arma-section-heading { max-width: 850px; margin-bottom: 1.75rem; }
.arma-page .arma-section-heading h2 { margin-top: .65rem; }
.arma-page .arma-sidebar .btn { font-size: .77rem; text-align: left; padding: .6rem .9rem; }
.arma-page .arma-sidebar-panel, .arma-page .arma-spec, .arma-page .arma-training, .arma-page .arma-toc { background: var(--arma-soft); }
.arma-page .arma-filters { display: flex; flex-wrap: wrap; gap: .5rem; }
.arma-page .arma-filters .btn { font-size: .76rem; }
.arma-page .arma-product-card .card, .arma-page .arma-teaser { background: var(--bs-tertiary-bg); box-shadow: 0 0 0 1px var(--bs-border-color); }
.arma-page .arma-product-card .card { transition: box-shadow .18s, transform .18s; }
.arma-page .arma-product-card .card:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(0,0,0,.09); }
.arma-page .arma-product-card h3 a { color: var(--bs-heading-color); text-decoration: none; }
.arma-page .arma-card-img { aspect-ratio: 1; object-fit: contain; display: block; background: #fff; }
.arma-page .arma-product-card p { font-size: .91rem; }
.arma-page .arma-product-card .btn { font-size: .79rem; }
.arma-page .arma-text-link { font-size: .82rem; color: var(--bs-primary); font-weight: 600; text-decoration: underline; }
.arma-page .arma-teaser .btn { align-self: flex-start; }
.arma-page .arma-teaser h3 { font-size: 1.35rem; line-height: 1.3; }
.arma-page .arma-teaser p { font-size: .9rem; }
.arma-page table caption { font-size: .75rem; padding-top: .75rem; color: var(--bs-secondary-color); }
.arma-page .arma-spec table { font-size: .81rem; --bs-table-bg: transparent; }
.arma-page .arma-spec th { width: 38%; font-weight: 600; }
.arma-page .arma-list { padding-left: 1.35rem; }
.arma-page .arma-list li { padding-left: .25rem; margin-bottom: .8rem; }
.arma-page .arma-list li::marker { color: var(--bs-primary); }
.arma-page .arma-note { padding: 1.4rem 1.6rem; border-left: 3px solid var(--arma-accent); background: var(--bs-tertiary-bg); border-radius: 0 .65rem .65rem 0; font-size: .88rem; line-height: 1.75; }
.arma-page .arma-step { background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); padding: 1.6rem; border-radius: 1rem; }
.arma-page .arma-step-number { display: block; color: var(--bs-primary); font-size: 2rem; font-weight: 600; margin-bottom: 1.25rem; }
.arma-page .arma-step p { font-size: .87rem; line-height: 1.7; }
.arma-page .arma-program { display: grid; gap: 1.1rem; }
.arma-page .arma-program-item { display: flex; gap: 1.3rem; border-bottom: 1px solid var(--bs-border-color); padding: 0 0 1.4rem; }
.arma-page .arma-program-item > span { flex: 0 0 40px; color: var(--bs-primary); font-size: 1.5rem; font-weight: 600; }
.arma-page .arma-program-item p { font-size: .94rem; }
.arma-page .arma-toc { position: sticky; top: calc(var(--arma-header-height) + 94px); }
.arma-page .arma-toc ol { padding-left: 1.25rem; }
.arma-page .arma-toc li { margin: .9rem 0; font-size: .88rem; }
.arma-page .arma-article { max-width: 860px; }
.arma-page .arma-article-section { margin-bottom: 2.5rem; padding-bottom: 1rem; }
.arma-page .arma-article-section h2 { margin-top: .6rem; font-size: 1.8rem; }
.arma-page .arma-article-section p { font-size: 1.02rem; line-height: 1.9; }
.arma-page .arma-form-link { text-align: left; }

/* Form controls and status messages, including dark mode. */
.arma-page .cardx { background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); }
.arma-page .form-control, .arma-page .form-select { background-color: var(--bs-body-bg); color: var(--bs-body-color); border-color: var(--bs-border-color); min-height: 48px; font-size: .9rem; }
.arma-page .form-control::placeholder { color: var(--bs-secondary-color); opacity: 1; }
.arma-page .form-control[readonly] { background: var(--bs-tertiary-bg); color: var(--bs-body-color); }
.arma-page .form-label { font-weight: 600; font-size: .83rem; }
.arma-page .form-label .small { font-weight: 400; font-size: .78rem; }
.arma-page .form-text { font-size: .76rem; }
.arma-page .form-check-label { line-height: 1.65; }
.arma-page .arma-form-context { background: var(--arma-soft); padding: 1rem 1.2rem; border-radius: .65rem; font-size: .87rem; }
.arma-page .arma-offer { background: var(--arma-hero); color: #e0eee5; }
.arma-page .arma-offer h3, .arma-page .arma-offer strong { color: #fff; }
.arma-page .arma-offer a { color: #d4f6df; }
.arma-page .arma-offer p { font-size: .92rem; line-height: 1.8; }
.arma-page .arma-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.arma-page [data-arma-status] { font-size: .9rem; line-height: 1.7; }
.arma-page .arma-faq { max-width: 1000px; }
.arma-page .arma-faq details { border: 1px solid var(--bs-border-color); box-shadow: none; border-radius: .8rem; }
.arma-page .arma-faq summary { cursor: pointer; font-size: .97rem; }
.arma-page .arma-faq details p { font-size: .94rem; line-height: 1.8; }
.arma-page .arma-legal-note { color: var(--bs-secondary-color); font-size: .74rem; line-height: 1.8; max-width: 1050px; margin: auto; }
.arma-page .arma-dialog { border: 1px solid var(--bs-border-color); border-radius: 1rem; padding: 2rem; max-width: min(92vw,560px); color: var(--bs-body-color); background: var(--bs-body-bg); }
.arma-page .arma-dialog::backdrop { background: rgba(0,0,0,.55); }
.arma-page .arma-dialog h2 { font-size: 1.7rem; }
.arma-page .arma-back-top { position: fixed; bottom: 24px; right: 24px; width: 44px; height: 44px; border-radius: 50%; background: var(--bs-primary); color: white; z-index: 1020; display: grid; place-items: center; font-size: 1.5rem; box-shadow: 0 3px 12px rgba(0,0,0,.15); text-decoration: none; }
.arma-page .footer .arma-social { color: #fff; margin-right: 12px; font-size: .76rem; text-decoration: underline; display: inline-block; }
.arma-page .footer .arma-footer-legal { font-size: .75rem; }
.arma-page .footer .dropdown-menu { background: #142824; color: #fff; }
.arma-page .footer .dropdown-item { color: #fff; }
.arma-page .footer .dropdown-item.active, .arma-page .footer .dropdown-item:hover { background: #286350; }
.arma-page .footer [data-bs-theme-value] { font-size: .85rem; }
.arma-page .footer #assan-theme { min-width: 85px; }
.arma-page.arma-package-index { padding-top: 0; }
.arma-page .arma-package-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
.arma-page .arma-package-grid section { border: 1px solid var(--bs-border-color); border-radius: 1rem; padding: 1.5rem; }
.arma-page .arma-package-grid h2 { font-size: 1.4rem; }
.arma-page .arma-package-grid ul { padding-left: 1rem; }
.arma-page .arma-package-grid li { margin: 1rem 0; }
.arma-page .arma-package-grid small { display: block; font-size: .7rem; color: var(--bs-secondary-color); }

[data-bs-theme=dark] .arma-page { --arma-soft: #122c27; --arma-line: #315346; }
[data-bs-theme=dark] .arma-page .arma-eyebrow { color: #a0d3b5; }
[data-bs-theme=dark] .arma-page .arma-note { background: #171f25; }
[data-bs-theme=dark] .arma-page .arma-step { background: #151c23; }
[data-bs-theme=dark] .arma-page .arma-product-card .card, [data-bs-theme=dark] .arma-page .arma-teaser { background: #151c23; }
[data-bs-theme=dark] .arma-page .arma-fixed-header .text-secondary { color: #c5d4cf !important; }

@media (min-width: 992px) {
  .arma-page .arma-related .arma-product-card { width: 33.333333%; }
  .arma-page .arma-fixed-header .navbar-collapse { justify-content: flex-end; }
}
@media (max-width: 1199.98px) and (min-width: 992px) {
  .arma-page .arma-fixed-header .navbar-brand { flex-basis: 160px; width: 160px; margin-right: 1rem; }
  .arma-page .arma-fixed-header .navbar-nav > .nav-item > .nav-link { font-size: .77rem; padding-right: .6rem; padding-left: .6rem; }
  .arma-page .arma-fixed-header .btn-success { font-size: .75rem; padding: .6rem .9rem; }
}
@media (max-width: 991.98px) {
  .arma-page .arma-fixed-header .navbar-collapse { position: fixed; left: 0; right: 0; top: var(--arma-header-height); max-height: calc(100dvh - var(--arma-header-height)); overflow-y: auto; overscroll-behavior: contain; padding: 12px 20px 25px; background: var(--bs-body-bg); border-bottom: 1px solid var(--bs-border-color); box-shadow: 0 10px 20px rgba(0,0,0,.1); }
  .arma-page .arma-fixed-header .navbar-collapse:not(.show) { display: none; }
  .arma-page .arma-fixed-header .dropdown-menu-fw { position: static; }
  .arma-page .arma-fixed-header .dropdown-scroll-lg { max-height: none; overflow: visible; }
  .arma-page .arma-fixed-header .navbar-nav > .nav-item > .nav-link { padding: .85rem .5rem; }
  .arma-page .arma-hero-figure { max-width: 490px; }
  .arma-page .arma-hero .product-copy { text-align: left; max-width: 680px; margin-left: auto; margin-right: auto; }
  .arma-page .arma-hero { padding-bottom: 38px; }
  .arma-page .arma-section-nav > .container { gap: 1rem; }
  .arma-page .arma-nav-links { gap: 1.3rem; }
  .arma-page .arma-sidebar { order: 2; }
  .arma-page .arma-sidebar > .d-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .arma-page .arma-toc { position: static; }
}
@media (max-width: 575.98px) {
  .arma-page { --arma-header-height: 68px; }
  .arma-page .arma-fixed-header .navbar-brand { flex-basis: 152px; width: 152px; margin-right: .5rem; height: 40px; }
  .arma-page .arma-fixed-header .navbar-brand img { height: 40px; }
  .arma-page .arma-brand-fallback { font-size: 1.27rem; line-height: 40px; }
  .arma-page .arma-fixed-header .navbar .btn-success { font-size: .7rem; padding: .52rem .6rem; }
  .arma-page .arma-fixed-header .navbar-toggler { padding: 7px; }
  .arma-page .arma-fixed-header .nav-item.me-3 { margin-right: .5rem !important; }
  .arma-page .arma-hero { padding-top: 12px; }
  .arma-page .arma-breadcrumb { margin-bottom: 16px; font-size: .67rem; gap: .45rem; }
  .arma-page .arma-hero h1 { font-size: 2rem; }
  .arma-page .arma-hero .kicker { font-size: .67rem; }
  .arma-page .arma-nav-brand { font-size: .86rem; max-width: 70px; line-height: 1.2; }
  .arma-page .arma-nav-brand span { display: block; }
  .arma-page .arma-nav-links a { font-size: .75rem; padding: 19px 0 16px; }
  .arma-page .arma-section-nav > .container { min-height: 62px; }
  .arma-page .arma-package-grid { grid-template-columns: minmax(0,1fr); }
  .arma-page .arma-step { padding: 1.2rem; }
  .arma-page .arma-note { padding: 1.2rem; }
  .arma-page .arma-article-section h2 { font-size: 1.5rem; }
  .arma-page .arma-back-top { right: 12px; bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .arma-page *, .arma-page *::before, .arma-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  .arma-page { padding-top: 0; }
  .arma-page header, .arma-page .arma-section-nav, .arma-page .footer, .arma-page #formindex, .arma-page .arma-back-top { display: none !important; }
  .arma-page .arma-hero { background: white; color: black; }
  .arma-page .arma-hero h1, .arma-page .arma-hero p { color: black; }
}
.arma-page .arma-theme-menu { --bs-dropdown-min-width: 9rem; }
/* Neutralize the source theme's 4.75rem navigation item height. */
.arma-page .arma-fixed-header .navbar,
.arma-page .arma-fixed-header.sticky-fixed .navbar {
  height: calc(var(--arma-header-height) - 1px);
  min-height: calc(var(--arma-header-height) - 1px);
}
.arma-page .arma-fixed-header .navbar-nav > .nav-item > .nav-link { height: auto; min-height: 44px; }
.arma-page .arma-fixed-header .navbar-no-collapse-items .nav-item { height: auto; }
.arma-page .arma-fixed-header .dropdown-toggle::after {
  content: '' !important; display: inline-block !important;
  width: .42em; height: .42em; border: 0; border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-left: .5rem;
  position: static; font-family: inherit; vertical-align: .15em;
}
.arma-page .arma-fixed-header .dropdown-toggle::before { display: none !important; }
@media (max-width: 575.98px) { .arma-page .row { --bs-gutter-x: 1.5rem !important; } }
