/* ==========================================================================
   Botones
   --------------------------------------------------------------------------
   Dos niveles: primario (lima sólido con halo al pasar, una acción principal
   por zona) y secundario (superficie elevada). Sin mayúsculas forzadas.
   ========================================================================== */

/* Secundario */
html[data-theme] .page-layout :is(
  .btn, .action-btn, .tab-btn, .dp-tab, .home-btn:not(.primary), .gt-publish-link, .gt-publish-btn, .gt-my-link,
  .user-card-btn:not(.primary), .user-card-public-save, .archi-manage-btn:not(.primary), .archi-list-tools a,
  .archi-row-actions a, .archi-qty-btn, .archi-del, .archi-card-action, .archi-import-form button,
  .archi-zone-map-link, .progress-profile-link, .progress-action, .progress-action-card,
  .progress-priority-item button, .progress-priority-add button, .guide-list-tool,
  .guide-btn:not(.guide-btn-primary), .harvest-qty-btn, .harvest-user-form button,
  .profile-archi-link:not(.primary), .profile-add-link, .btn-add-trade, .btn-search, .btn-advanced,
  .btn-clear, .page-btn:not(.active), .wl-btn-detail:not(.added), .fw-add button
) {
  background: var(--c-inset) !important;
  border: 1px solid var(--c-line-strong) !important;
  border-radius: var(--r-ctl) !important;
  color: var(--c-text) !important;
  box-shadow: none !important;
  font-family: var(--font-ui) !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease),
    transform .2s var(--ease) !important;
}
html[data-theme] .page-layout :is(
  .btn, .action-btn, .tab-btn, .dp-tab, .home-btn:not(.primary), .gt-publish-link, .gt-publish-btn, .gt-my-link,
  .user-card-btn:not(.primary), .user-card-public-save, .archi-manage-btn:not(.primary), .archi-list-tools a,
  .archi-row-actions a, .archi-qty-btn, .archi-del, .archi-card-action, .archi-import-form button,
  .archi-zone-map-link, .progress-profile-link, .progress-action, .progress-action-card,
  .progress-priority-item button, .progress-priority-add button, .guide-list-tool,
  .guide-btn:not(.guide-btn-primary), .harvest-qty-btn, .harvest-user-form button,
  .profile-archi-link:not(.primary), .profile-add-link, .btn-add-trade, .btn-search, .btn-advanced,
  .btn-clear, .page-btn:not(.active), .wl-btn-detail:not(.added), .fw-add button
):hover:not(:disabled) {
  background: var(--c-inset-2) !important;
  border-color: var(--c-line-hover) !important;
  color: var(--c-text) !important;
}
html[data-theme] .page-layout .archi-del:hover:not(:disabled) {
  color: var(--c-red) !important;
  border-color: color-mix(in srgb, var(--c-red) 45%, transparent) !important;
}

/* Primario */
html[data-theme] :is(.btn-primary, .btn-nav.primary, .home-btn.primary, .archi-manage-btn.primary,
  .profile-archi-link.primary, .guide-btn-primary, .page-btn.active) {
  background: var(--c-accent) !important;
  border: 1px solid var(--c-accent) !important;
  border-radius: var(--r-ctl) !important;
  color: var(--c-on-accent) !important;
  font-family: var(--font-ui) !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: 0 0 0 0 transparent !important;
  transition: background .2s var(--ease), box-shadow .25s var(--ease) !important;
}
html[data-theme] :is(.btn-primary, .btn-nav.primary, .home-btn.primary, .archi-manage-btn.primary,
  .profile-archi-link.primary, .guide-btn-primary):hover {
  background: var(--c-accent-2) !important;
  border-color: var(--c-accent-2) !important;
  box-shadow: 0 0 22px var(--c-accent-glow) !important;
}

/* Pulsado y deshabilitado */
html[data-theme] .page-layout :is(button, a[class]):active:not(:disabled) { transform: translateY(1px); }
html[data-theme] .page-layout :is(.harvest-qty-btn, .archi-card-action, .guide-btn, .archi-qty-btn,
  .btn-search, .page-btn):disabled {
  opacity: .45 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* Sobre los banners con imagen: cristal claro (el fondo es siempre oscuro) */
html[data-theme] :is(.home-hero, .page-hero, .progress-hero, .map-hero)
  :is(.home-btn:not(.primary), .progress-profile-link, a.user-card-btn) {
  background: rgba(255, 250, 240, .14) !important;
  border: 1px solid rgba(255, 240, 200, .35) !important;
  color: #fff7e2 !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
html[data-theme] :is(.home-hero, .page-hero, .progress-hero, .map-hero)
  :is(.home-btn:not(.primary), .progress-profile-link, a.user-card-btn):hover {
  background: rgba(255, 250, 240, .24) !important;
  color: #fff !important;
}
