/* Base button styles for all buttons - exclude btn-link */
.region-content .button,
.region-content .btn:not(.btn-primary):not(.btn-outline-primary):not(.nav-link):not(.btn-link),
.field .btn:not(.btn-primary):not(.btn-outline-primary):not(.nav-link):not(.btn-link),
.paragraph .btn:not(.btn-primary):not(.btn-outline-primary):not(.nav-link):not(.btn-link),
article .btn:not(.btn-primary):not(.btn-outline-primary):not(.nav-link):not(.btn-link),
.node .btn:not(.btn-primary):not(.btn-outline-primary):not(.nav-link):not(.btn-link),
.block .btn:not(.admin-link):not(.btn-primary):not(.btn-outline-primary):not(.nav-link):not(.btn-link) {
  background-color: var(--white);
  background-image: none;
  border-radius: 4px;
  color: var(--textColor);
  font-family: var(--font-family-ui);
  font-size: var(--font-size-button);
  font-weight: var(--font-weight-normal);
  line-height: 1;
  margin: 0;
  padding: var(--space-lg) var(--space-2xl);
  border: 1px solid var(--greyLighter);
}

/* Nav pills / tab buttons - inactive state */
.nav-pills .nav-link,
.nav.nav-pills .nav-link,
button[data-bs-toggle="tab"],
.tabs-wrapper .nav-link {
  background-color: var(--white) !important;
  border: 1px solid var(--greyLighter) !important;
  color: var(--textColor) !important;
  font-family: var(--font-family-ui) !important;
  font-size: var(--font-size-button) !important;
  font-weight: var(--font-weight-normal) !important;
  padding: var(--space-lg) var(--space-2xl) !important;
  border-radius: 4px !important;
  margin: 0 !important;
}

/* Nav pills / tab buttons - active state */
.nav-pills .nav-link.active,
.nav.nav-pills .nav-link.active,
button[data-bs-toggle="tab"].active,
button[data-bs-toggle="tab"][aria-selected="true"],
.tabs-wrapper .nav-link.active {
  background-color: var(--orange) !important;
  border: 1px solid var(--orange) !important;
  color: var(--white) !important;
}

/* Nav pills hover states */
.nav-pills .nav-link:hover,
.nav.nav-pills .nav-link:hover,
button[data-bs-toggle="tab"]:hover,
.tabs-wrapper .nav-link:hover {
  background-color: var(--greyLighter) !important;
  border: 1px solid var(--greyLighter) !important;
  color: var(--textColor) !important;
}

.nav-pills .nav-link.active:hover,
.nav.nav-pills .nav-link.active:hover,
button[data-bs-toggle="tab"].active:hover,
.tabs-wrapper .nav-link.active:hover {
  background-color: var(--orangeEarthy) !important;
  border: 1px solid var(--orangeEarthy) !important;
  color: var(--white) !important;
}

/* Button links should look like links, not buttons */
.btn.btn-link,
.region-content .btn.btn-link,
.field .btn.btn-link,
.paragraph .btn.btn-link,
article .btn.btn-link,
.node .btn.btn-link,
.block .btn.btn-link {
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  color: var(--orange) !important;
  font-family: var(--font-family-body) !important;
  font-size: inherit !important;
  font-weight: var(--font-weight-normal) !important;
  line-height: inherit !important;
  margin: var(--space-sm) 0 !important;
  padding: 0 !important;
  text-decoration: underline !important;
  box-shadow: none !important;
  display: block !important;
}

/* Button link hover states */
.btn.btn-link:hover,
.region-content .btn.btn-link:hover,
.field .btn.btn-link:hover,
.paragraph .btn.btn-link:hover,
article .btn.btn-link:hover,
.node .btn.btn-link:hover,
.block .btn.btn-link:hover {
  background-color: transparent !important;
  border: none !important;
  color: var(--orangeEarthy) !important;
  text-decoration: underline !important;
}

/* All buttons get base typography and spacing */
.region-content .btn,
.field .btn,
.paragraph .btn,
article .btn,
.node .btn,
.block .btn:not(.admin-link) {
  font-family: var(--font-family-ui);
  font-size: var(--font-size-button);
  font-weight: var(--font-weight-normal);
  line-height: 1;
  margin: 0;
  padding: var(--space-lg) var(--space-2xl);
  border-radius: 4px;
  background-image: none;
}

/* Primary buttons in content areas - including plain .btn in paragraph-text-buttons */
.region-content .btn.btn-primary,
.region-content .btn-primary,
.field .btn.btn-primary,
.paragraph .btn.btn-primary,
article .btn.btn-primary,
.node .btn.btn-primary,
.block .btn.btn-primary:not(.admin-link),
/* Text-buttons paragraph buttons should be orange even without btn-primary class - exclude btn-link */
.paragraph-text-buttons .btn:not(.btn-link),
.text-buttons-wrapper .btn:not(.btn-link),
/* Also target form buttons in content */
.region-content button.btn-primary,
.region-content input[type="submit"].btn-primary {
  background-color: var(--orange) !important;
  border: 1px solid var(--orange) !important;
  color: var(--white) !important;
  box-shadow: none !important;
}

/* Primary button hover states in content areas and text-buttons */
.region-content .btn.btn-primary:hover,
.region-content .btn.btn-primary:focus,
.region-content .btn.btn-primary:active,
.paragraph-text-buttons .btn:hover,
.paragraph-text-buttons .btn:focus,
.paragraph-text-buttons .btn:active,
.text-buttons-wrapper .btn:hover,
.text-buttons-wrapper .btn:focus,
.text-buttons-wrapper .btn:active,
.field .btn.btn-primary:hover,
.field .btn.btn-primary:focus,
.paragraph .btn.btn-primary:hover,
.paragraph .btn.btn-primary:focus,
article .btn.btn-primary:hover,
article .btn.btn-primary:focus,
.node .btn.btn-primary:hover,
.node .btn.btn-primary:focus,
.block .btn.btn-primary:hover:not(.admin-link),
.block .btn.btn-primary:focus:not(.admin-link),
.region-content button.btn-primary:hover,
.region-content button.btn-primary:focus,
.region-content input[type="submit"].btn-primary:hover,
.region-content input[type="submit"].btn-primary:focus {
  background-color: var(--orangeLighter);
  border-color: var(--orangeLighter);
  color: var(--white);
  box-shadow: none;
}

/* Specific styling for small paragraph primary buttons */
p.small a.btn.btn-primary {
  background-color: var(--orange) !important;
  border-color: var(--orange) !important;
  color: var(--white) !important;
}
p.small a.btn.btn-primary:hover,
p.small a.btn.btn-primary:focus {
  background-color: var(--orangeLighter) !important;
  border-color: var(--orangeLighter) !important;
  color: var(--white) !important;
}

/* Outline primary buttons in content areas */
.region-content .btn.btn-outline-primary,
.region-content .btn-outline-primary,
.field .btn.btn-outline-primary,
.paragraph .btn.btn-outline-primary,
article .btn.btn-outline-primary,
.node .btn.btn-outline-primary,
.block .btn.btn-outline-primary:not(.admin-link) {
  color: var(--orange);
  background-color: var(--white);
  border: 1px solid var(--orange);
}

.region-content .btn.btn-outline-primary:hover,
.region-content .btn.btn-outline-primary:focus,
.field .btn.btn-outline-primary:hover,
.field .btn.btn-outline-primary:focus,
.paragraph .btn.btn-outline-primary:hover,
.paragraph .btn.btn-outline-primary:focus,
article .btn.btn-outline-primary:hover,
article .btn.btn-outline-primary:focus,
.node .btn.btn-outline-primary:hover,
.node .btn.btn-outline-primary:focus,
.block .btn.btn-outline-primary:hover:not(.admin-link),
.block .btn.btn-outline-primary:focus:not(.admin-link) {
  background-color: var(--orange);
  border-color: var(--orange);
  color: var(--white);
}

.btn.btn-white {
  background-color: var(--white);
  color: var(--orange);
}
.btn.btn-icon {
  align-items: center;
  color: var(--greyDarker);
  display: inline-flex;
}
.btn.btn-icon svg {
  height: 2rem;
  margin-right: 0.5rem;
  width: 2rem;
}
.btn.btn-icon .bi {
  color: var(--orange);
  font-size: 1.8rem;
  margin-right: 0.5rem;
}
.btn.btn-sm {
  font-size: var(--font-size-sm);
  padding: var(--space-sm) var(--space-md);
}
.btn.btn-lg {
  font-size: var(--font-size-button);
  padding: var(--space-lg) var(--space-3xl);
}
.btn.btn-light {
  background-color: transparent;
  color: var(--greyDarker);
  line-height: 1.2;
  text-align: left;
  text-decoration: underline;
}
.btn.btn-link {
  background-color: transparent;
  color: var(--greyDarker);
  line-height: 1.2;
  margin: 0;
  padding: 0.5rem 0;
  text-align: left;
  text-decoration: underline;
}
.btn.btn-info {
  background-color: var(--greyLighter);
  border-radius: 0;
  color: var(--textColor);
  display: block;
  line-height: 1.2;
  padding: 0.75rem 1rem;
  text-decoration: underline;
}
.btn.btn-danger {
  background-color: var(--red);
  border: 1px solid var(--red);
  color: var(--white);
}

/* Provide breathing room between adjacent buttons */
.region-content .btn + .btn,
.region-content .button + .button,
.field .btn + .btn,
.paragraph .btn + .btn,
article .btn + .btn,
.node .btn + .btn,
.block .btn + .btn:not(.admin-link) {
  margin-left: var(--space-lg);
}

/* If buttons wrap to a new line (small screens), add top margin instead */
@media screen and (max-width: 575.98px) {
  .region-content .btn + .btn,
  .region-content .button + .button,
  .field .btn + .btn,
  .paragraph .btn + .btn,
  article .btn + .btn,
  .node .btn + .btn,
  .block .btn + .btn:not(.admin-link) {
    margin-left: 0;
    margin-top: var(--space-sm);
  }
}

/* Spacing for multiple actions in form action bars */
.form-actions > * + * {
  margin-left: var(--space-lg) !important;
}

/* Large desktop */
@media screen and (min-width: 1200px) {
}
/* Extra large desktop */
@media screen and (min-width: 1920px) {
}

/* Content area button hover states only */
@media (pointer: fine) {
  .region-content .btn:hover,
  .region-content .btn:focus,
  .region-content .button:hover,
  .region-content .button:focus,
  .field .btn:hover,
  .field .btn:focus,
  .paragraph .btn:hover,
  .paragraph .btn:focus,
  article .btn:hover,
  article .btn:focus,
  .node .btn:hover,
  .node .btn:focus,
  .block .btn:hover:not(.admin-link),
  .block .btn:focus:not(.admin-link) {
    background-color: var(--orangeLighter) !important;
    color: var(--white) !important;
  }
  
  .region-content .btn.btn-link:hover,
  .region-content .btn.btn-link:focus,
  .field .btn.btn-link:hover,
  .field .btn.btn-link:focus,
  .paragraph .btn.btn-link:hover,
  .paragraph .btn.btn-link:focus,
  article .btn.btn-link:hover,
  article .btn.btn-link:focus,
  .node .btn.btn-link:hover,
  .node .btn.btn-link:focus {
    background-color: transparent !important;
    color: var(--orangeLighter) !important;
  }
  
  .btn.btn-icon:hover .bi,
  .btn.btn-icon:focus .bi {
    color: var(--white);
  }
}
