/* Alpha-Gal Living v1.1.2: visible interaction feedback for mouse and keyboard users. */

button:not(:disabled),
a[href],
summary,
[role="button"],
[tabindex="0"] {
  cursor: pointer;
}

button:not(:disabled),
a[href],
summary,
[role="button"],
[tabindex="0"],
.recipe-card,
.profile-banner.clickable {
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    box-shadow 160ms ease,
    filter 160ms ease,
    transform 160ms ease;
}

button:focus-visible,
a[href]:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[tabindex="0"]:focus-visible {
  outline: 3px solid rgba(231, 125, 94, 0.48) !important;
  outline-offset: 3px !important;
}

button:not(:disabled):active,
[role="button"]:active,
.recipe-card:active,
.profile-banner.clickable:active {
  transform: translateY(0) scale(0.98);
}

@media (hover: hover) and (pointer: fine) {
  button:not(:disabled):hover {
    border-color: rgba(50, 103, 90, 0.5);
    box-shadow: 0 7px 18px rgba(31, 63, 54, 0.16);
    filter: brightness(0.98) saturate(1.04);
    transform: translateY(-2px);
  }

  .desktop-sidebar nav button:hover:not(.active) {
    background: #e9f2ed;
    color: #234f45;
    box-shadow: inset 3px 0 0 #32675a;
    filter: none;
    transform: translateX(3px);
  }

  .desktop-sidebar nav button.active:hover {
    background: #d3e6dc;
    color: #1f493f;
    box-shadow: 0 5px 14px rgba(31, 63, 54, 0.12);
  }

  .bottom-nav button:hover,
  .icon-button:hover,
  .section-heading button:hover,
  .safety-card > button:hover {
    color: #234f45;
    background: #e3efe9;
  }

  .quick-plan button:hover,
  .agl-launch-grid button:hover,
  .agl-food-tabs button:hover:not(.active),
  .mp-main-tabs button:hover:not(.active),
  .mp-view-tabs button:hover:not(.active),
  .mp-slot-buttons button:hover:not(.active) {
    background: #dcece4;
    border-color: #6f9c8f;
    color: #234f45;
  }

  .agl-food-primary:hover,
  .agl-food-inline button:hover,
  .mp-btn:hover,
  .agl-email-submit:hover {
    background: #234f45;
    color: #fff;
  }

  .recipe-card:hover,
  .profile-banner.clickable:hover,
  [role="button"]:hover {
    border-color: rgba(50, 103, 90, 0.42);
    box-shadow: 0 14px 32px rgba(31, 63, 54, 0.16);
    transform: translateY(-3px);
  }

  a[href]:hover {
    color: #234f45;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  button,
  a,
  summary,
  [role="button"],
  [tabindex="0"],
  .recipe-card,
  .profile-banner.clickable {
    transition-duration: 0.01ms !important;
  }
}

/* v1.2.1: unmistakable desktop pointer feedback, including hybrid PCs. */
.desktop-sidebar nav button:hover:not(.active) {
  background: #dcece4 !important;
  color: #173f35 !important;
  box-shadow: inset 5px 0 0 #e77d5e, 0 6px 16px rgba(31, 63, 54, 0.14) !important;
  transform: translateX(5px) !important;
}

.desktop-sidebar nav button.active:hover {
  background: #c8e0d5 !important;
  color: #173f35 !important;
  box-shadow: inset 5px 0 0 #32675a, 0 7px 18px rgba(31, 63, 54, 0.16) !important;
  transform: translateX(3px) !important;
}

.bottom-nav button:hover,
.section-heading button:hover,
.filter-row button:hover,
.meal-heading button:hover,
.week-strip button:hover,
.upcoming-list > button:hover,
.trigger-row:hover,
.grocery-button:hover,
.profile-identity button:hover,
.serving-stepper button:hover,
.logged-meal > button:hover,
.agl-launch-grid button:hover,
.agl-tab:hover,
.agl-tool-actions button:hover,
.agl-public-dock button:hover {
  background-color: #dcece4 !important;
  color: #173f35 !important;
  border-color: #6c9e8f !important;
  box-shadow: 0 0 0 3px rgba(50, 103, 90, 0.18), 0 8px 20px rgba(31, 63, 54, 0.16) !important;
  filter: none !important;
  transform: translateY(-3px) !important;
}

.primary-button:hover,
.agl-btn:hover,
.agl-food-primary:hover,
.agl-email-submit:hover,
.agl-public-primary:hover {
  background-color: #173f35 !important;
  color: #fff !important;
  box-shadow: 0 0 0 3px rgba(231, 125, 94, 0.3), 0 9px 22px rgba(31, 63, 54, 0.22) !important;
  transform: translateY(-3px) !important;
}

.recipe-card:hover,
.calorie-card:hover,
.quick-plan:hover,
.meal-group:hover,
.profile-section:hover,
.agl-public-card:hover {
  border-color: rgba(50, 103, 90, 0.58) !important;
  box-shadow: 0 0 0 3px rgba(50, 103, 90, 0.12), 0 16px 34px rgba(31, 63, 54, 0.18) !important;
  transform: translateY(-4px) !important;
}

a[href]:hover {
  color: #174d3f !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 4px !important;
}

button:not(:disabled):hover,
a[href]:hover,
[role="button"]:hover,
summary:hover {
  cursor: pointer !important;
}
