/* Compartido por la web, administración y controles creados en los diálogos. */
:root body :is(.btn,.btn-link,.admin-action-icon,.member-action-icon,.admin-modal-close,.admin-signout,.nav-toggle,.theme-toggle,.editorial-close,.lightbox-arrow,:where(.event-admin-actions) button,:where(.publication-stats) button,.header-account,.nav-admin-access) {
  --button-face: var(--color-surface);
  --button-edge: color-mix(in srgb, var(--color-border) 80%, #000);
  --button-ink: var(--color-text);
  --button-depth: 4px;
  background-color: var(--button-face);
  background-image: linear-gradient(180deg, #ffffff18, #ffffff00 75%, #00000008);
  color: var(--button-ink);
  border: 1px solid color-mix(in srgb, var(--button-edge), var(--button-face) 30%);
  border-radius: 10px;
  box-shadow: 0 var(--button-depth) 0 var(--button-edge), 0 7px 12px #00000014, inset 0 1px 0 #ffffff38;
  transition: transform .1s ease, box-shadow .1s ease, filter .15s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
:root body .btn-primary {
  --button-face: var(--color-primary);
  --button-edge: color-mix(in srgb, var(--color-primary-dark) 80%, #000);
  --button-ink: var(--color-primary-contrast);
}
:root body .btn-danger {
  --button-face: var(--color-danger);
  --button-edge: color-mix(in srgb, var(--color-danger) 65%, #000);
  --button-ink: var(--color-bg);
}
:root body :is(.admin-action-danger,.member-action-danger) { --button-ink: var(--color-danger); }
:root body :is(.admin-modal-close,.lightbox-arrow,.admin-action-icon,.member-action-icon,.event-admin-actions button) { --button-depth: 3px; }
:root body .btn-link { display: inline-flex; align-items: center; justify-content: center; border-radius: 7px; text-decoration: none; }
:root body .site-header :is(.nav-toggle,.theme-toggle,.header-account,.nav-admin-access),
:root body .editorial-close {
  --button-face: #134a6c;
  --button-edge: #05263b;
  --button-ink: #fff;
}
:root body .site-header .header-account { --button-face: #0789c4; --button-edge: #04557e; }
:root body .proxy-banner .btn { --button-face: #fff; --button-edge: #b7c5d0; --button-ink: #8b1727; }
:root body.site-body .btn.ride-signup-callout {
  --button-face: #f4cd54;
  --button-edge: #aa761b;
  --button-ink: #092d45;
  background-color: var(--button-face);
  background-image: linear-gradient(180deg, #ffe78f, #f4cd54 75%, #e9b936);
  border-color: #ffe798;
  color: var(--button-ink);
  box-shadow: 0 var(--button-depth) 0 var(--button-edge), 0 7px 12px #00000014, inset 0 1px 0 #ffffff60;
}
@media (hover: hover) and (pointer: fine) {
  :root body :is(.btn,.btn-link,.admin-action-icon,.member-action-icon,.admin-modal-close,.admin-signout,.nav-toggle,.theme-toggle,.editorial-close,.lightbox-arrow,:where(.event-admin-actions) button,:where(.publication-stats) button,.header-account,.nav-admin-access):hover:not(:disabled):not([aria-disabled="true"]) { filter: brightness(1.08); }
}
:root body :is(.btn,.btn-link,.admin-action-icon,.member-action-icon,.admin-modal-close,.admin-signout,.nav-toggle,.theme-toggle,.editorial-close,.lightbox-arrow,:where(.event-admin-actions) button,:where(.publication-stats) button,.header-account,.nav-admin-access):active:not(:disabled):not([aria-disabled="true"]) {
  transform: translateY(calc(var(--button-depth) - 1px));
  box-shadow: 0 1px 0 var(--button-edge), inset 0 2px 4px #00000026;
  filter: brightness(.98);
}
:root body :is(.btn,.btn-link,.admin-action-icon,.member-action-icon,.admin-modal-close,.admin-signout,.nav-toggle,.theme-toggle,.editorial-close,.lightbox-arrow,:where(.event-admin-actions) button,:where(.publication-stats) button,.header-account,.nav-admin-access):is(:disabled,[aria-disabled="true"]) {
  box-shadow: none;
  transform: none;
  filter: none;
  cursor: not-allowed;
}
input[type="file"]::file-selector-button {
  border: 1px solid var(--color-border);
  border-radius: 7px;
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: 0 3px 0 color-mix(in srgb, var(--color-border) 80%, #000), inset 0 1px 0 #ffffff38;
  padding: .45rem .7rem;
  margin: 0 .6rem 4px 0;
  font: inherit;
  cursor: pointer;
}
input[type="file"]:disabled::file-selector-button { box-shadow: none; cursor: not-allowed; }
input[type="file"]:not(:disabled)::file-selector-button:active { transform: translateY(2px); box-shadow: inset 0 2px 3px #00000020; }
@media (prefers-reduced-motion: reduce) {
  :root body :is(.btn,.btn-link,.admin-action-icon,.member-action-icon,.admin-modal-close,.admin-signout,.nav-toggle,.theme-toggle,.editorial-close,.lightbox-arrow,:where(.event-admin-actions) button,:where(.publication-stats) button,.header-account,.nav-admin-access) { transition: none; }
}
:root body .publication-stats button[aria-pressed="true"] { border-color: var(--color-primary); }
