/* IntentsControl.css */

/* Override Power Pages #aa-contact styles with DOUBLE ID for maximum specificity */
#aa-contact#aa-contact [data-control-name] *,
#aa-contact#aa-contact [data-control-name],
#aa-contact [data-control-name] *,
#aa-contact [data-control-name],
.customControl,
[data-control-name],
div[class*="control-container"] {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
}

/* Force font-family for all PCF elements - DOUBLE ID */
#aa-contact#aa-contact [data-control-name] .ms-Stack,
#aa-contact#aa-contact [data-control-name] .ms-Text,
#aa-contact#aa-contact [data-control-name] .ms-Checkbox,
#aa-contact#aa-contact [data-control-name] span,
#aa-contact#aa-contact [data-control-name] div,
#aa-contact#aa-contact [data-control-name] label,
#aa-contact#aa-contact [data-control-name] p,
#aa-contact [data-control-name] .ms-Stack,
#aa-contact [data-control-name] .ms-Text,
#aa-contact [data-control-name] .ms-Checkbox,
#aa-contact [data-control-name] span,
#aa-contact [data-control-name] div,
#aa-contact [data-control-name] label,
#aa-contact [data-control-name] p,
.ms-Stack,
.ms-Text,
.ms-Checkbox {
  font-family: "AmericanSans Var", Helvetica, Arial, sans-serif !important;
}

/* Override #aa-contact span color for ALL control spans - DOUBLE ID */
#aa-contact#aa-contact [data-control-name] span,
#aa-contact#aa-contact [data-control-name] .ms-Text,
#aa-contact#aa-contact [data-control-name] .ms-Checkbox-text {
  color: #0860C4 !important;
}

#aa-contact .crmEntityFormView .ms-Checkbox-label,
#aa-contact .crmEntityFormView label.ms-Checkbox-label,
.crmEntityFormView .ms-Checkbox-label,
.crmEntityFormView label.ms-Checkbox-label {
  background-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  color: inherit !important;
}

#aa-contact [data-control-name] .ms-Checkbox-label,
.ms-Checkbox-label {
  background-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

#aa-contact [data-control-name] .ms-Checkbox-checkbox,
.ms-Checkbox-checkbox {
  width: 20px !important;
  height: 20px !important;
  border-radius: 2px !important;
  background-color: #ffffff !important;
  background: #ffffff !important;
  border: 1px solid #869199 !important;
  border-color: #869199 !important;
}

#aa-contact [data-control-name] .ms-Checkbox-checkmark,
.ms-Checkbox-checkmark {
  font-size: 16px !important;
  color: #ffffff !important;
}

#aa-contact#aa-contact [data-control-name] span.ms-Checkbox-text,
#aa-contact#aa-contact [data-control-name] .ms-Checkbox-text,
#aa-contact [data-control-name] span.ms-Checkbox-text,
#aa-contact [data-control-name] .ms-Checkbox-text,
.ms-Checkbox-text {
  background-color: #00000000 !important;
  padding: 0 !important;
  margin-left: 8px !important;
  color: #0860C4 !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
}

#aa-contact [data-control-name] .ms-Checkbox.is-checked .ms-Checkbox-checkbox,
.ms-Checkbox.is-checked .ms-Checkbox-checkbox {
  background: #0860C4 !important;
  background-color: #0860C4 !important;
  border-color: #0860C4 !important;
}

#aa-contact [data-control-name] .ms-Checkbox.is-disabled .ms-Checkbox-checkbox,
.ms-Checkbox.is-disabled .ms-Checkbox-checkbox {
  background-color: #f3f2f1 !important;
  border-color: #c8c6c4 !important;
}

/* Red dot indicator - Override #aa-contact color */
#aa-contact [data-control-name][data-control-name] .red-dot-indicator,
#aa-contact [data-control-name][data-control-name] span.red-dot-indicator,
#aa-contact [data-control-name] .red-dot-indicator,
#aa-contact [data-control-name] span.red-dot-indicator,
.red-dot-indicator {
  font-family: "AmericanSans Var", Helvetica, Arial, sans-serif !important;
  color: #C30019 !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  margin-left: 4px !important;
  margin-right: 4px !important;
  vertical-align: middle !important;
}

/* Link styles for Questions section - Override #aa-contact color */
#aa-contact [data-control-name][data-control-name] .intent-link,
#aa-contact [data-control-name][data-control-name] span.intent-link,
#aa-contact [data-control-name] .intent-link,
#aa-contact [data-control-name] span.intent-link,
.intent-link {
  color: #0860C4 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-family: "AmericanSans Var", Helvetica, Arial, sans-serif !important;
}

#aa-contact [data-control-name][data-control-name] .intent-link:hover,
#aa-contact [data-control-name][data-control-name] span.intent-link:hover,
#aa-contact [data-control-name] .intent-link:hover,
#aa-contact [data-control-name] span.intent-link:hover,
.intent-link:hover {
  color: #0860C4 !important;
  text-decoration: underline !important;
}

/* Topic group heading - Override #aa-contact color */
#aa-contact [data-control-name][data-control-name] .topic-group-heading,
#aa-contact [data-control-name][data-control-name] span.topic-group-heading,
#aa-contact [data-control-name] .topic-group-heading,
#aa-contact [data-control-name] span.topic-group-heading,
.topic-group-heading {
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #323130 !important;
  margin-bottom: 8px !important;
  display: block !important;
  font-family: "AmericanSans Var", Helvetica, Arial, sans-serif !important;
}

/* Tooltip icon - Override #aa-contact color */
#aa-contact [data-control-name][data-control-name] .tooltip-icon,
#aa-contact [data-control-name][data-control-name] span.tooltip-icon,
#aa-contact [data-control-name] .tooltip-icon,
#aa-contact [data-control-name] span.tooltip-icon,
.tooltip-icon {
  color: #0860C4 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  margin-left: 4px !important;
}

/* Topic grid container */
#aa-contact [data-control-name] .topic-grid-container,
.topic-grid-container {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 32px !important;
  margin-top: 12px !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

/* Topic column */
#aa-contact [data-control-name] .topic-column,
.topic-column {
  flex: 1 1 calc(33.333% - 24px) !important;
  min-width: 250px !important;
  max-width: 350px !important;
}

/* Child checkbox container - EXACTLY 4 per row */
#aa-contact [data-control-name] .child-checkboxes-container,
.child-checkboxes-container {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

#aa-contact [data-control-name] .child-checkbox-item,
.child-checkbox-item {
  flex: 0 0 calc(25% - 8px) !important;
  max-width: calc(25% - 8px) !important;
  min-width: calc(25% - 8px) !important;
  box-sizing: border-box !important;
}

/* Responsive: 2 per row on smaller screens */
@media (max-width: 768px) {
  #aa-contact [data-control-name] .child-checkbox-item,
  .child-checkbox-item {
    flex: 0 0 calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    min-width: calc(50% - 4px) !important;
  }
}

/* Keyboard focus styles - parent accordion items */
#aa-contact [data-control-name] div[role="button"]:focus,
div[role="button"]:focus {
  outline: 2px solid #0860C4 !important;
  outline-offset: -2px !important;
}

/* Remove outline when clicked with mouse */
#aa-contact [data-control-name] div[role="button"]:focus:not(:focus-visible),
div[role="button"]:focus:not(:focus-visible) {
  outline: none !important;
}

/* Intent links keyboard focus */
#aa-contact [data-control-name] .intent-link:focus,
.intent-link:focus {
  outline: 2px solid #0860C4 !important;
  outline-offset: 2px !important;
  border-radius: 2px !important;
}

/* Remove outline when clicked with mouse */
#aa-contact [data-control-name] .intent-link:focus:not(:focus-visible),
.intent-link:focus:not(:focus-visible) {
  outline: none !important;
}

/* Ensure intent links are properly styled as interactive elements */
#aa-contact [data-control-name] .intent-link,
.intent-link {
  display: inline-block !important;
}

/* Child checkbox focus styles */
#aa-contact [data-control-name] .ms-Checkbox:focus-within .ms-Checkbox-checkbox,
.ms-Checkbox:focus-within .ms-Checkbox-checkbox {
  outline: 2px solid #0860C4 !important;
  outline-offset: 2px !important;
}

/* Remove outline when clicked with mouse */
#aa-contact [data-control-name] .ms-Checkbox:focus-within:not(:focus-visible) .ms-Checkbox-checkbox,
.ms-Checkbox:focus-within:not(:focus-visible) .ms-Checkbox-checkbox {
  outline: none !important;
}

@media (prefers-contrast: high) {
  .ms-Stack {
    border-width: 2px !important;
  }
}
