/* Shared action controls. Load after page and theme styles. */
.site-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.site-button {
  display: inline-flex;
  min-height: 43px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: 999px;
  font: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.site-button--primary {
  background: var(--brand, #111f61);
  color: var(--on-brand, #fff);
}

.site-button--primary:hover {
  background: var(--brand-hover, #263983);
  color: var(--on-brand, #fff);
}

.site-button--outline {
  border-color: var(--line, rgb(26 28 33 / 16%));
  background: transparent;
  color: var(--ink, #1a1c21);
}

.site-button--outline:hover {
  border-color: var(--brand, #111f61);
  background: color-mix(in oklch, var(--brand, #111f61) 5%, transparent);
  color: var(--ink, #1a1c21);
}

.site-button:focus-visible,
.ai-picker-menu a:focus-visible {
  outline: 2px solid var(--brand, #111f61);
  outline-offset: 3px;
}

.ai-picker {
  position: relative;
  width: max-content;
  max-width: 100%;
}

.ai-picker-trigger {
  list-style: none;
  user-select: none;
}

.ai-picker-trigger::-webkit-details-marker {
  display: none;
}

.ai-picker-trigger > img,
.ai-picker-menu img {
  width: 19px;
  height: 19px;
  flex: none;
  object-fit: contain;
}

.ai-picker-trigger svg {
  width: 11px;
  height: 7px;
  flex: none;
  margin-left: 3px;
  transition: transform 150ms ease;
}

.ai-picker[open] .ai-picker-trigger svg {
  transform: rotate(180deg);
}

.ai-picker-menu {
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  right: 0;
  min-width: 194px;
  padding: 6px;
  border: 1px solid var(--line, rgb(26 28 33 / 16%));
  border-radius: 12px;
  background: var(--paper-white, #fff);
  box-shadow: 0 16px 36px rgb(16 26 58 / 12%);
}

.ai-picker-menu a {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 11px;
  padding: 9px 11px;
  border-radius: 7px;
  color: var(--ink, #1a1c21);
  font-size: 14px;
  line-height: 1.4;
  text-decoration: none;
}

.ai-picker-menu a:hover {
  background: var(--paper-blue, #f1f4f9);
}

/* The cookie panel ships stronger legacy button rules on older pages. */
#qc-root .qc-btn.site-button {
  box-sizing: border-box;
  display: inline-flex;
  min-height: 43px;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
  text-align: center;
  cursor: pointer;
}

#qc-root .qc-btn.site-button--primary {
  border-color: var(--brand, #111f61);
  background: var(--brand, #111f61);
  color: var(--on-brand, #fff);
}

#qc-root .qc-btn.site-button--primary:hover {
  border-color: var(--brand-hover, #263983);
  background: var(--brand-hover, #263983);
}

#qc-root .qc-btn.site-button--outline {
  border-color: var(--line, rgb(26 28 33 / 16%));
  background: transparent;
  color: var(--ink, #1a1c21);
}

#qc-root .qc-btn.site-button--outline:hover {
  border-color: var(--brand, #111f61);
}

@media (max-width: 991px) {
  .site-header .nav-actions .site-button {
    display: none;
  }

  .site-header .nav-mobile-actions .site-button {
    min-height: 43px;
  }
}

@media (max-width: 479px) {
  .ai-picker-menu {
    right: auto;
    left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-button,
  .ai-picker-trigger svg {
    transition: none;
  }
}
