/* ==========================================================================
   AVCO Design System - Buttons
   Based on components.html design specs.
   Reusable across all AVCO pages.
   High specificity to override Vantage theme defaults.
   ========================================================================== */

/* === Primary Button ===
   Default: bg #314090, text white
   Hover:   bg #20274b (darker)
   Disabled: bg #4564cb, opacity 0.4
*/
body.avco-page .avco-container a.avco-btn-primary,
body.avco-page .avco-container button.avco-btn-primary,
body.avco-page .avco-container .avco-btn-primary {
  background: var(--avco-primary-800);
  color: var(--avco-white);
  font-size: var(--avco-text-base);
  font-weight: 600;
  line-height: 1.5;
  padding: var(--avco-space-3) var(--avco-space-6);
  min-width: 12.5rem;
  border: none;
  cursor: pointer;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background var(--avco-transition-fast);
  font-family: var(--avco-font-body);
  border-radius: 0;
  background-image: none;
  text-shadow: none;
  box-shadow: none;
  text-decoration: none;
  white-space: nowrap;
}

body.avco-page .avco-container a.avco-btn-primary:hover,
body.avco-page .avco-container a.avco-btn-primary:focus,
body.avco-page .avco-container a.avco-btn-primary:active,
body.avco-page .avco-container button.avco-btn-primary:hover,
body.avco-page .avco-container button.avco-btn-primary:focus,
body.avco-page .avco-container .avco-btn-primary:hover,
body.avco-page .avco-container .avco-btn-primary:focus {
  background: var(--avco-primary-950);
  color: var(--avco-white);
  text-decoration: none;
}

/* === Outline Button ===
   Default: bg white, border #314090, text #314090
   Hover:   bg #314090, text white
   Disabled: opacity 0.4
*/
body.avco-page .avco-container a.avco-btn-outline,
body.avco-page .avco-container button.avco-btn-outline,
body.avco-page .avco-container .avco-btn-outline {
  background: var(--avco-white);
  color: var(--avco-primary-800);
  font-size: var(--avco-text-base);
  font-weight: 600;
  line-height: 1.5;
  padding: var(--avco-space-3) var(--avco-space-6);
  min-width: 12.5rem;
  border: 0.0625rem solid var(--avco-primary-800);
  cursor: pointer;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background var(--avco-transition-fast), color var(--avco-transition-fast), border-color var(--avco-transition-fast);
  font-family: var(--avco-font-body);
  border-radius: 0;
  background-image: none;
  text-shadow: none;
  box-shadow: none;
  text-decoration: none;
  white-space: nowrap;
}

body.avco-page .avco-container a.avco-btn-outline:hover,
body.avco-page .avco-container a.avco-btn-outline:focus,
body.avco-page .avco-container a.avco-btn-outline:active,
body.avco-page .avco-container button.avco-btn-outline:hover,
body.avco-page .avco-container button.avco-btn-outline:focus,
body.avco-page .avco-container .avco-btn-outline:hover,
body.avco-page .avco-container .avco-btn-outline:focus {
  background: var(--avco-primary-800);
  color: var(--avco-white);
  border-color: var(--avco-primary-800);
  text-decoration: none;
}

/* === Secondary / White Button (on dark bg) ===
   Default: bg white, text #21274a
   Hover:   bg #e1e9f8 (primary-100), border white
   Disabled: opacity 0.4
*/
body.avco-page .avco-container a.avco-btn-white,
body.avco-page .avco-container button.avco-btn-white,
body.avco-page .avco-container .avco-btn-white {
  background: var(--avco-white);
  color: var(--avco-primary-950);
  font-size: var(--avco-text-base);
  font-weight: 600;
  line-height: 1.5;
  padding: var(--avco-space-3) var(--avco-space-6);
  min-width: 12.5rem;
  border: 0.0625rem solid transparent;
  cursor: pointer;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background var(--avco-transition-fast), border-color var(--avco-transition-fast);
  font-family: var(--avco-font-body);
  border-radius: 0;
  background-image: none;
  text-shadow: none;
  box-shadow: none;
  text-decoration: none;
  white-space: nowrap;
}

body.avco-page .avco-container a.avco-btn-white:hover,
body.avco-page .avco-container a.avco-btn-white:focus,
body.avco-page .avco-container a.avco-btn-white:active,
body.avco-page .avco-container button.avco-btn-white:hover,
body.avco-page .avco-container .avco-btn-white:hover {
  background: var(--avco-primary-100);
  border-color: var(--avco-white);
  text-decoration: none;
}

/* === Link Button ===
   Default: text #314090, no decoration
   Hover:   underline
   Disabled: opacity 0.4
*/
body.avco-page .avco-container a.avco-btn-link,
body.avco-page .avco-container button.avco-btn-link,
body.avco-page .avco-container .avco-btn-link {
  font-family: var(--avco-font-body);
  font-weight: 400;
  font-size: var(--avco-text-base);
  line-height: 1.5;
  color: var(--avco-primary-800);
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: none;
  padding: 0;
  min-width: unset;
  transition: text-decoration 0.15s ease;
}

body.avco-page .avco-container a.avco-btn-link:hover,
body.avco-page .avco-container button.avco-btn-link:hover,
body.avco-page .avco-container .avco-btn-link:hover {
  text-decoration: underline;
  text-decoration-skip-ink: none;
}

/* === Arrow Button === */
body.avco-page .avco-container a.avco-arrow-btn,
body.avco-page .avco-container button.avco-arrow-btn,
body.avco-page .avco-container .avco-arrow-btn {
  background: var(--avco-primary-800);
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background var(--avco-transition-fast);
  border: none;
  border-radius: 0;
  padding: 0;
  min-width: unset;
  background-image: none;
  text-shadow: none;
  box-shadow: none;
}

body.avco-page .avco-container a.avco-arrow-btn:hover,
body.avco-page .avco-container button.avco-arrow-btn:hover,
body.avco-page .avco-container .avco-arrow-btn:hover {
  background: var(--avco-primary-950);
}

body.avco-page .avco-container .avco-arrow-btn svg {
  width: 1.5rem;
  height: 1.5rem;
}

body.avco-page .avco-container a.avco-arrow-btn.avco-arrow-btn-light,
body.avco-page .avco-container button.avco-arrow-btn.avco-arrow-btn-light,
body.avco-page .avco-container .avco-arrow-btn.avco-arrow-btn-light {
  background: var(--avco-gray-50);
}

body.avco-page .avco-container a.avco-arrow-btn.avco-arrow-btn-light:hover,
body.avco-page .avco-container button.avco-arrow-btn.avco-arrow-btn-light:hover,
body.avco-page .avco-container .avco-arrow-btn.avco-arrow-btn-light:hover {
  background: var(--avco-gray-200);
}
