/* =============================================================
   Button & Action Link Styles (button.css)
   Clean formatting, alignment, and unified chevron icon effects
   ============================================================= */

/* Main Action Buttons (WPBakery & Sway Theme) */
.tt_button,
a.tt_button,
button.tt_button,
.button-action-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 16px 30px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

/* Primary Button Styling */
.tt_button.btn_primary_color,
.tt_button.tt_primary_button,
.btn_primary_color.button-action-link {
  background-color: #377ef9 !important;
  color: #ffffff !important;
  border: 1px solid #377ef9 !important;
  box-shadow: 0 4px 15px rgba(55, 126, 249, 0.25) !important;
}

.tt_button.btn_primary_color:hover,
.tt_button.tt_primary_button:hover,
.btn_primary_color.button-action-link:hover {
  background-color: #246bf0 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(55, 126, 249, 0.35) !important;
}

/* Secondary / Outline Button Styling */
.tt_button.btn_secondary_color,
.tt_button.tt_secondary_button {
  background-color: transparent !important;
  color: #377ef9 !important;
  border: 2px solid #377ef9 !important;
}

.tt_button.btn_secondary_color:hover,
.tt_button.tt_secondary_button:hover {
  background-color: #377ef9 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

/* Text label styling */
.tt_button .prim_text {
  display: inline-block !important;
  font-weight: 600 !important;
  color: inherit !important;
  line-height: 1 !important;
}

/* Unified Chevron Icon (When .iconita or .fa-chevron-right is present) */
.tt_button .iconita,
.button-action-link .iconita,
.tt_button .fa-chevron-right,
.button-action-link .fa-chevron-right {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Font Awesome 6 Free' !important;
  font-weight: 900 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  margin-left: 10px !important;
  margin-right: 0 !important;
  color: inherit !important;
  transition: transform 0.2s ease !important;
  vertical-align: middle !important;
}

.tt_button .iconita::before,
.button-action-link .iconita::before,
.tt_button .fa-chevron-right::before,
.button-action-link .fa-chevron-right::before {
  content: '\f054' !important;
  font-family: 'Font Awesome 6 Free' !important;
  font-weight: 900 !important;
}

/* Explicitly disable ::after if any icon child element exists */
.tt_button:has(.iconita)::after,
.tt_button:has(i)::after,
.tt_button:has(svg)::after,
.tt_button:has(.fas)::after,
.tt_button:has(.fa)::after,
.button-action-link:has(.iconita)::after,
.button-action-link:has(i)::after,
.button-action-link:has(svg)::after,
.button-action-link:has(.fas)::after,
.button-action-link:has(.fa)::after {
  display: none !important;
  content: none !important;
}

/* Unified Chevron Icon (When no icon child element exists) */
.tt_button:not(:has(.iconita)):not(:has(i)):not(:has(svg)):not(:has(.fas)):not(:has(.fa))::after,
.button-action-link:not(:has(.iconita)):not(:has(i)):not(:has(svg)):not(:has(.fas)):not(:has(.fa))::after {
  content: '\f054' !important;
  font-family: 'Font Awesome 6 Free' !important;
  font-weight: 900 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  margin-left: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.2s ease !important;
  vertical-align: middle !important;
}

/* Left aligned icon variant */
.tt_button.icon_left .iconita {
  margin-left: 0 !important;
  margin-right: 10px !important;
}

/* Hover Slide Animation */
.tt_button:hover .iconita,
.button-action-link:hover .iconita,
.tt_button:hover .fa-chevron-right,
.button-action-link:hover .fa-chevron-right,
.tt_button:hover::after,
.button-action-link:hover::after {
  transform: translateX(4px) !important;
}

.tt_button.icon_left:hover .iconita {
  transform: translateX(-4px) !important;
}

/* Inline text links (e.g. photobox cards "Learn More") */
.phb-simple-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #377ef9 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.phb-simple-link::after {
  content: '\f054' !important;
  font-family: 'Font Awesome 6 Free' !important;
  font-weight: 900 !important;
  font-size: 11px !important;
  display: inline-block !important;
  transition: transform 0.2s ease !important;
}

.phb-simple-link:hover {
  color: #246bf0 !important;
}

.phb-simple-link:hover::after {
  transform: translateX(4px) !important;
}

/* Alignments */
.tt_button.btn-align-left {
  margin-right: auto !important;
  margin-left: 0 !important;
}

.tt_button.button-center {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Card Inline Action Links across all pages */
.key-icon-box a,
.key-icon-box .ib-link a,
.service-heading + p a,
.kd-simple-link,
.card-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #377ef9 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.key-icon-box a:hover,
.key-icon-box .ib-link a:hover,
.service-heading + p a:hover,
.kd-simple-link:hover,
.card-link:hover {
  color: #246bf0 !important;
}

.key-icon-box a .fas,
.key-icon-box a .fa,
.key-icon-box a .fa-arrow-right,
.key-icon-box a .fa-chevron-right,
.key-icon-box a .iconita,
.service-heading + p a .fas,
.service-heading + p a .fa,
.service-heading + p a .fa-arrow-right,
.service-heading + p a .fa-chevron-right,
.kd-simple-link .fas,
.kd-simple-link .fa {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 12px !important;
  line-height: 1 !important;
  margin-left: 4px !important;
  transition: transform 0.2s ease !important;
}

.key-icon-box a:hover .fas,
.key-icon-box a:hover .fa,
.key-icon-box a:hover .fa-arrow-right,
.key-icon-box a:hover .fa-chevron-right,
.key-icon-box a:hover .iconita,
.service-heading + p a:hover .fas,
.service-heading + p a:hover .fa,
.service-heading + p a:hover .fa-arrow-right,
.service-heading + p a:hover .fa-chevron-right,
.kd-simple-link:hover .fas,
.kd-simple-link:hover .fa {
  transform: translateX(4px) !important;
}

