/* Shared action treatment; layout widths and navigation states remain local. */
.article-toc .article-toc-back { align-items: center; width: 100%; }
.article-toc .article-toc-back > .arrow { color: inherit; align-self: center; }
:root { --action-radius: 8px; --action-height: 48px; }
:root #request-form .submit-button,
:root body :is(.button, .text-link, .privacy-actions button, .map-permission button):not(.inline-link) {
  min-height: var(--action-height);
  padding: 12px 18px;
  gap: 10px;
  border: 1px solid var(--accent);
  border-radius: var(--action-radius);
  background: transparent;
  color: var(--accent);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  justify-content: center;
  transition: background-color .18s, color .18s, border-color .18s;
}
:root #request-form .submit-button:is(:hover, :focus-visible, :active),
:root body :is(.button, .text-link, .privacy-actions button, .map-permission button):not(.inline-link):is(:hover, :focus-visible, :active) {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  transform: none;
}
:root body .hero .hero-actions .button,
:root body .catalog > .heading-row .button,
:root body #directions .directions-all,
:root body #blog > .heading-row .button,
:root body .cases .case-caption .button { background: var(--accent); color: #fff; }
:root body .brands .brands-copy .button.white,
:root body .brands .brands-copy .button.white:is(:hover, :focus-visible, :active),
:root body .closing-group .final-cta .button,
:root body .closing-group .final-cta .button:is(:hover, :focus-visible, :active) {
  background: #fff;
  border-color: #fff;
  color: #bd3e18;
}
:root body .brands .brands-copy .button.white:hover,
:root body .closing-group .final-cta .button:hover { box-shadow: 0 3px 10px #00000024; }
:root body .brands .brands-copy .button.white:focus-visible,
:root body .closing-group .final-cta .button:focus-visible { outline-color: #fff; }
:root body :is(.button, .text-link):not(.inline-link) .arrow {
  width: 20px; height: 20px; flex: 0 0 20px; background-color: currentColor;
}
:root body :is(.button, .text-link):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
:root body :is(.button, .text-link):disabled { opacity: .5; cursor: not-allowed; background: transparent; color: var(--accent); }
:root body .header .header-request { min-height: 44px; height: 44px; padding: 10px 16px; font-size: 14px; }
/* Main-page calls to action stay readable at narrow viewport widths. */
:root body .hero .hero-actions .button,
:root body .cell .cell-copy .button,
:root body .cell .button.cell-mobile-cta,
:root body .operations .button.operation-catalog,
:root body .operations .button.operation-mobile-cta {
  min-height: 56px;
  height: auto;
  max-width: 100%;
  padding: 15px 24px;
  font-size: 18px;
  line-height: 1.35;
  white-space: normal;
  text-align: center;
}
@media (min-width: 1500px) and (max-width: 1799px) {
  :root body .header .header-request { padding-inline: 10px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  :root body :is(.button, .text-link, .privacy-actions button, .map-permission button):not(.inline-link) { transition: none; }
}

/* Filled actions get a subtle highlight; outline and white actions keep their states. */
@media (hover: hover) and (pointer: fine) {
  :root body .hero .hero-actions .button:hover:not(:disabled),
  :root body .catalog > .heading-row .button:hover:not(:disabled),
  :root body #directions .directions-all:hover:not(:disabled),
  :root body #blog > .heading-row .button:hover:not(:disabled),
  :root body .cases .case-caption .button:hover:not(:disabled),
  :root body .header .nav-button.accent:hover,
  :root body .header .nav-button.mobile-catalog:hover,
  :root body .header .header-contacts .header-phone:hover,
  :root body .privacy-notice .privacy-actions button[data-privacy-choice="selected"]:not(:disabled):hover {
    background-color: color-mix(in srgb, var(--accent) 90%, white);
    border-color: color-mix(in srgb, var(--accent) 90%, white);
    color: #fff;
  }
}
