/* Interaction theme
   Keep purple available for illustrations and status accents, while every action,
   hover, focus and selected navigation state follows the AppVista red-orange brand. */

:where(.ui-button, .button):not(.ui-button--danger, .button--danger, .button--success) {
  border-color: transparent;
  background: var(--gradient-action);
  color: #fff;
  box-shadow: 0 6px 16px rgb(242 56 93 / 18%);
}

:where(.ui-button, .button):not(.ui-button--danger, .button--danger, .button--success):hover {
  background: var(--gradient-action-hover);
  box-shadow: 0 9px 22px rgb(242 56 93 / 24%);
}

:where(.ui-button--secondary, .button--secondary, .ui-button--quiet) {
  border-color: var(--color-action-border);
  background: #fff;
  color: var(--color-action-strong);
  box-shadow: none;
}

:where(.ui-button--secondary, .button--secondary, .ui-button--quiet):hover {
  border-color: var(--color-action);
  background: var(--color-action-soft);
  color: var(--color-action-strong);
}

:where(button, a, input, textarea, select, summary):focus-visible {
  outline-color: var(--focus-ring);
}

.ui-icon-button:hover,
.ui-icon-button:focus-visible {
  border-color: var(--color-action-border);
  background: var(--color-action-soft);
  color: var(--color-action-strong);
}

.ui-card--interactive:hover,
.ui-card--interactive:focus-within {
  border-color: var(--color-action-border);
}

.ui-control:focus,
.ui-field :is(input, textarea, select):focus,
.field :is(input, textarea, select):focus {
  border-color: var(--color-action);
  box-shadow: 0 0 0 3px rgb(242 56 93 / 13%);
}

.ui-autocomplete__option:is(:hover, [aria-selected="true"]) {
  background: var(--color-action-soft);
  color: var(--color-action-strong);
}

.ui-dropzone:is(:hover, :focus-within, [data-drag-active="true"]) {
  border-color: var(--color-action);
  background: var(--color-action-soft);
}

.ui-tab[aria-selected="true"],
.ui-tab[aria-current="page"] {
  color: var(--color-action-strong);
}

.ui-tab[aria-selected="true"]::after,
.ui-tab[aria-current="page"]::after {
  background: var(--gradient-action);
}

.ui-pagination :is(a, button)[aria-current="page"] {
  border-color: var(--color-action);
  background: var(--color-action-soft);
  color: var(--color-action-strong);
}

/* Shared header, account navigation and footer. */
.header-actions .header-login {
  border-color: #f35c55;
  background: #fff;
  color: var(--color-action-strong);
  box-shadow: 0 3px 10px rgb(242 56 93 / 8%);
}

.header-actions .header-login:hover,
.header-actions .header-login:focus-visible {
  border-color: transparent;
  background: var(--gradient-action);
  color: #fff;
  box-shadow: 0 7px 18px rgb(242 56 93 / 22%);
}

.site-search-result:hover,
.site-search-result.is-active,
.site-search-result[aria-selected="true"],
.site-nav .site-mega-menu__group a:hover,
.site-nav .site-mega-menu__group a:focus-visible,
.site-nav .site-mega-menu--categories .site-category-links > a:hover,
.site-nav .site-mega-menu--categories .site-category-links > a:focus-visible,
.site-nav .site-mega-menu--collections .site-collections-links > a:hover,
.site-nav .site-mega-menu--collections .site-collections-links > a:focus-visible,
.site-nav .site-mega-menu--trends .site-trends-links > a:hover,
.site-nav .site-mega-menu--trends .site-trends-links > a:focus-visible,
.site-nav .site-mega-menu--new .site-new-links > a:hover,
.site-nav .site-mega-menu--new .site-new-links > a:focus-visible {
  background: var(--color-action-soft);
  color: var(--color-action-strong);
}

.site-search-result:hover .site-search-result__arrow,
.site-search-result.is-active .site-search-result__arrow,
.profile-popover-nav a:hover,
.profile-popover-nav a:focus-visible,
.footer-links :is(a, button):hover,
.footer-links :is(a, button):focus-visible,
.footer-legal-links a:hover,
.footer-legal-links button:hover {
  color: var(--color-action-strong);
}

.profile-popover-user:hover,
.profile-popover-user:focus-visible,
.profile-popover-nav a:hover,
.profile-popover-nav a:focus-visible,
.profile-popover-nav a[aria-current="page"] {
  background: linear-gradient(90deg, var(--color-action-soft), #fff5ec);
}

.profile-popover-nav a[aria-current="page"],
.mobile-navigation__primary a:hover,
.mobile-navigation__primary a:focus-visible,
.menu-toggle:hover,
.menu-toggle:focus-visible,
.mobile-navigation__close:hover,
.mobile-navigation__close:focus-visible,
.header-notifications:hover,
.header-notifications[aria-current="page"] {
  color: var(--color-action-strong);
}

.mobile-navigation__primary a:hover,
.mobile-navigation__primary a:focus-visible,
.menu-toggle:hover,
.menu-toggle:focus-visible,
.mobile-navigation__close:hover,
.mobile-navigation__close:focus-visible,
.header-notifications:hover,
.header-notifications[aria-current="page"] {
  border-color: var(--color-action-border);
  background: var(--color-action-soft);
}

.footer-search button,
.cookie-action--primary {
  border-color: transparent;
  background: var(--gradient-action);
  color: #fff;
}

.footer-search button:hover,
.cookie-action--primary:hover {
  background: var(--gradient-action-hover);
}

.cookie-choice:hover,
.cookie-action--secondary:hover,
.cookie-settings-button:hover {
  border-color: var(--color-action-border);
  background: var(--color-action-soft);
  color: var(--color-action-strong);
}

.cookie-choice input:focus-visible + i,
.header-profile:focus-visible {
  outline-color: rgb(242 56 93 / 24%);
}

/* Account and dashboard: these selectors deliberately override legacy page CSS. */
.account-nav a:hover,
.account-nav a[aria-current="page"] {
  background: linear-gradient(90deg, var(--color-action-soft), #fff5ec);
  color: var(--color-action-strong);
}

.account-nav .account-admin-link {
  border-color: var(--color-action-border);
  background: #fff8f6;
  color: var(--color-action-strong);
}

.dashboard-period button {
  background: var(--gradient-action);
  color: #fff;
  box-shadow: 0 4px 11px rgb(242 56 93 / 16%);
}

.dashboard-period button:hover {
  background: var(--gradient-action-hover);
}

.dashboard-period select:focus-visible {
  outline-color: var(--focus-ring);
}

/* Tabs, filters and action controls used by account/admin/editor pages. */
.admin-tabs a:hover,
.admin-tabs a[aria-current="page"],
.admin-tabs a[aria-current="page"] > span,
.admin-status-tabs a:hover,
.edit-tabs button:hover,
.edit-tabs button[aria-selected="true"] {
  color: var(--color-action-strong);
}

.admin-tabs a[aria-current="page"]::after,
.edit-tabs button[aria-selected="true"]::after {
  background: var(--gradient-action);
}

.admin-list-search button,
.admin-logo-guide form button,
.admin-logo-card > form button,
.admin-report-card button,
.contact-submit button,
.app-visit-button,
.app-primary-link,
.app-reviews-toolbar button,
.app-review-dialog__actions button:last-child,
.app-review-dialog__guest a,
.app-report-menu button,
.alternatives-search button,
.alternatives-empty a,
.software-directory-hero button,
.all-alternatives-cta > a,
.category-filter-submit,
.category-empty a,
.about-primary-button,
.about-manifesto__primary,
.help-hero button,
.help-contact > a,
.makers-cta > a,
.favorites-empty > a,
.notifications-empty > a,
.preferences-actions button,
.security-primary-button,
.profile-specialty-custom button,
.profile-privacy-save,
.profile-password-submit,
.edit-save,
.visual-upload-button,
.apps-collection-banner > a,
.checkout-page form > button,
.personal-page button:not(.danger),
.app-alternative-suggestion__panel button,
.submission-guide-modal__footer button,
.submission-guide-modal footer button {
  border-color: transparent;
  background: var(--gradient-action);
  color: #fff;
  box-shadow: 0 6px 16px rgb(242 56 93 / 18%);
}

.admin-list-search button:hover,
.admin-logo-guide form button:hover,
.admin-logo-card > form button:hover,
.admin-report-card button:hover,
.contact-submit button:hover,
.app-visit-button:hover,
.app-primary-link:hover,
.app-reviews-toolbar button:hover,
.app-review-dialog__actions button:last-child:hover,
.app-review-dialog__guest a:hover,
.app-report-menu button:hover,
.alternatives-search button:hover,
.alternatives-empty a:hover,
.software-directory-hero button:hover,
.all-alternatives-cta > a:hover,
.category-filter-submit:hover,
.category-empty a:hover,
.about-primary-button:hover,
.about-manifesto__primary:hover,
.help-hero button:hover,
.help-contact > a:hover,
.makers-cta > a:hover,
.favorites-empty > a:hover,
.notifications-empty > a:hover,
.preferences-actions button:hover,
.security-primary-button:hover,
.profile-specialty-custom button:hover,
.profile-privacy-save:hover,
.profile-password-submit:hover,
.edit-save:hover,
.visual-upload-card:hover .visual-upload-button,
.apps-collection-banner > a:hover,
.checkout-page form > button:hover,
.personal-page button:not(.danger):hover,
.app-alternative-suggestion__panel button:hover,
.submission-guide-modal__footer button:hover,
.submission-guide-modal footer button:hover {
  background: var(--gradient-action-hover);
}

.admin-row-button--edit,
.admin-row-button--claim,
.admin-table-claim button,
.admin-user-assign-open,
.admin-review-action--approve,
.admin-home-slot footer .button,
.button--claim,
.admin-claim-link button,
.button--verify,
.admin-status-button[aria-pressed="true"],
.profile-save-top,
.seo-actions button,
.legal-contact-button,
.app-favorite-button,
.app-review-write button,
.all-alternative-action a,
.categories-search-cta > a,
.collections-recent > header > a,
.notifications-heading button,
.notification-item-action button,
.security-secondary-button,
.apps-create-button,
.edit-repeater-heading button,
.trends-maker-card > a,
.home-outline-button {
  border-color: var(--color-action-border);
  background: var(--color-action-soft);
  color: var(--color-action-strong);
}

.admin-row-button--edit:hover,
.admin-row-button--claim:hover,
.admin-table-claim button:hover,
.admin-user-assign-open:hover,
.admin-review-action--approve:hover,
.admin-home-slot footer .button:hover,
.button--claim:hover,
.admin-claim-link button:hover,
.button--verify:hover,
.admin-status-button:hover:not(:disabled),
.profile-save-top:hover,
.seo-actions button:hover,
.legal-contact-button:hover,
.app-favorite-button:hover,
.app-review-write button:hover,
.all-alternative-action a:hover,
.categories-search-cta > a:hover,
.collections-recent > header > a:hover,
.notifications-heading button:hover,
.notification-item-action button:hover,
.security-secondary-button:hover,
.apps-create-button:hover,
.edit-repeater-heading button:hover,
.trends-maker-card > a:hover,
.home-outline-button:hover {
  border-color: var(--color-action);
  background: var(--color-action-soft-hover);
  color: var(--color-action-strong);
}

.admin-pagination a[aria-current="page"],
.apps-pagination a[aria-current="page"],
.makers-pagination a[aria-current="page"],
.app-reviews-pagination a[aria-current="page"],
.category-pagination a[aria-current="page"],
.billing-pagination nav a[aria-current="page"],
.notifications-pagination a[aria-current="page"],
.latest-pagination a[aria-current="page"] {
  border-color: var(--color-action);
  background: var(--color-action-soft);
  color: var(--color-action-strong);
}

/* Recurrent legacy hover/focus states. */
.category-subcategories > a:hover,
.category-subcategories > a[aria-current="true"],
.category-subcategories summary:hover,
.category-app-card:hover,
.home-app-meta .home-app-favorite:hover,
.makers-search button:hover,
.makers-pagination a:hover,
.profile-specialties-control > [data-specialties-toggle]:hover,
.app-alternative-chip button:hover,
.app-alternative-chip button:focus-visible,
.legal-summary-card a:hover,
.privacy-summary a:hover,
.cgu-summary-link:hover,
.cgu-summary-link:focus-visible,
.all-alternatives-search button:hover,
.category-app-meta button:hover,
.category-app-meta > a:hover,
.category-app-meta button[aria-pressed="true"],
.dashboard-actions a:hover,
.dashboard-project:hover,
.apps-row-actions a:hover,
.apps-row-actions .apps-action-menu .apps-more-button:not(:disabled):hover,
.apps-row-actions .apps-action-menu .apps-more-button[aria-expanded="true"],
.apps-row-actions .apps-action-popover button:hover,
.apps-row-actions .apps-action-popover > a:hover,
.seo-header > a:hover,
.seo-keyword-row:hover,
.seo-card-link:hover,
.seo-recommendation > a:hover,
.billing-actions > a:hover,
.billing-actions summary:hover,
.security-password-control button:hover,
.login-social-button:hover,
.login-social-button:focus-visible,
.login-password-toggle:hover,
.discover-progress button:hover,
.discover-choice:hover,
.home-feature-pause:hover,
.mobile-navigation__home .home-filter-reset:hover {
  border-color: var(--color-action-border);
  background: var(--color-action-soft);
  color: var(--color-action-strong);
}

.categories-search-field input:focus,
.categories-language-filter select:focus,
.app-alternative-selector__country select:focus,
.app-alternative-selector__combobox input:focus,
.app-alternative-suggestion__panel input:focus,
.admin-user-assign-search input:focus {
  border-color: var(--color-action);
  box-shadow: 0 0 0 3px rgb(242 56 93 / 12%);
}

.apps-tabs button:hover,
.apps-tabs button[aria-selected="true"],
.billing-tabs button[aria-selected="true"],
.notifications-toolbar nav a[aria-current="page"],
.trends-period-nav a:hover,
.trends-period-nav a[aria-current="page"],
.trends-categories li a:hover span,
.trends-category-all:hover,
.trend-action a,
.trend-action button,
.latest-category-filter button,
.latest-favorite-form button,
.dashboard-text-link,
.dashboard-advice a,
.dashboard-rail-heading > a,
.dashboard-rail-footer-link,
.dashboard-rail-empty a,
.apps-breadcrumb a:hover,
.help-breadcrumb a:hover,
.legal-breadcrumb a:hover,
.collections-breadcrumb a:hover,
.collections-recent-body h3 a:hover,
.collections-recent-card footer > a:hover,
.makers-search button:hover,
.maker-external:hover,
.home-latest-grid > a:hover strong {
  color: var(--color-action-strong);
}

.apps-tabs button[aria-selected="true"]::after,
.billing-tabs button[aria-selected="true"]::after,
.notifications-toolbar nav a[aria-current="page"]::after {
  background: var(--gradient-action);
}

.software-directory-categories a[aria-current="page"],
.latest-favorite-form button[aria-pressed="true"],
.latest-filter-submit:hover {
  border-color: transparent;
  background: var(--gradient-action);
  color: #fff;
}

.trends-period-nav a:hover,
.trends-period-nav a[aria-current="page"],
.trend-action a:hover,
.trend-action button:hover {
  border-color: var(--color-action-border);
  background: var(--color-action-soft);
}

.profile-directory-switch input:checked + span,
.profile-name-privacy input {
  accent-color: var(--color-action);
}

.profile-directory-switch input:checked + span {
  background: var(--gradient-action);
}

.discover-primary:focus-visible,
.discover-choice:focus-visible,
.discover-progress button:focus-visible,
.discover-secondary:focus-visible,
.app-gallery-lightbox__close:focus-visible,
.app-gallery-lightbox__nav:focus-visible,
.app-gallery-lightbox__thumbs button:focus-visible {
  outline-color: rgb(242 56 93 / 25%);
}
