/* Shared action-button language for Lumoo public pages. */
:root {
  --lumoo-button-start: #ff857b;
  --lumoo-button-end: #f4516d;
  --lumoo-button-shadow: none;
  --lumoo-button-shadow-hover: none;
}

/* Circular icon actions */
:is(
  .search-box button,
  .region-picker-head button,
  .qr-modal-close
) {
  border: 3px solid #fff;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--lumoo-button-start), var(--lumoo-button-end));
  color: #fff;
  box-shadow: var(--lumoo-button-shadow);
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

:is(
  .search-box button,
  .region-picker-head button,
  .qr-modal-close
):is(:hover, :focus-visible) {
  background: linear-gradient(135deg, var(--lumoo-button-start), var(--lumoo-button-end));
  color: #fff;
  filter: brightness(1.025);
  box-shadow: var(--lumoo-button-shadow-hover);
  transform: translateY(-1px);
}

:is(
  .search-box button,
  .region-picker-head button,
  .qr-modal-close
):focus-visible {
  outline: 3px solid rgba(244, 81, 109, .22);
  outline-offset: 2px;
}

/* Long and square action buttons */
:is(
  .primary-button,
  .region-picker-actions button,
  .clinic-load-error button,
  .list-pager button,
  .price-search-form button,
  .price-pager button,
  .search-page-form button,
  .activity-empty a,
  .activity-pager a,
  .activity-pager .disabled,
  .lm-auth-submit
) {
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 14px;
  background: linear-gradient(105deg, var(--lumoo-button-start), var(--lumoo-button-end));
  color: #fff;
  box-shadow: var(--lumoo-button-shadow);
  font-weight: 750;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

:is(
  .primary-button,
  .region-picker-actions button,
  .clinic-load-error button,
  .list-pager button,
  .price-search-form button,
  .price-pager button,
  .search-page-form button,
  .activity-empty a,
  .activity-pager a,
  .lm-auth-submit
):not(:disabled):is(:hover, :focus-visible) {
  background: linear-gradient(105deg, var(--lumoo-button-start), var(--lumoo-button-end));
  color: #fff;
  filter: brightness(1.025);
  box-shadow: var(--lumoo-button-shadow-hover);
  transform: translateY(-1px);
}

:is(
  .primary-button,
  .region-picker-actions button,
  .clinic-load-error button,
  .list-pager button,
  .price-search-form button,
  .price-pager button,
  .search-page-form button,
  .activity-empty a,
  .activity-pager a,
  .lm-auth-submit
):focus-visible {
  outline: 3px solid rgba(244, 81, 109, .22);
  outline-offset: 2px;
}

:is(
  .primary-button,
  .region-picker-actions button,
  .list-pager button,
  .price-pager button,
  .lm-auth-submit
):disabled,
.activity-pager .disabled {
  opacity: .45;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
  filter: none;
}

@media (prefers-reduced-motion: reduce) {
  :is(
    .search-box button,
    .region-picker-head button,
    .qr-modal-close,
    .primary-button,
    .region-picker-actions button,
    .clinic-load-error button,
    .list-pager button,
    .price-search-form button,
    .price-pager button,
    .search-page-form button,
    .activity-empty a,
    .activity-pager a,
    .lm-auth-submit
  ) {
    transition: none;
  }
}


/* Buttons stay flat across the site. */
:is(
  button,
  [role="button"],
  a.primary-button,
  a[class*="button"],
  a[class*="-btn"],
  .activity-empty a,
  .activity-pager a
) {
  box-shadow: none !important;
}
