/*
 * Harmonisation globale des boutons (front + Gutenberg).
 * Chargé après les autres styles pour corriger les écarts visuels.
 */

:root {
  --sofripa-btn-radius: 0.9rem;
  --sofripa-btn-min-height: 2.7rem;
  --sofripa-btn-padding-y: 0.74rem;
  --sofripa-btn-padding-x: 1.34rem;
  --sofripa-btn-focus-ring: 0 0 0 3px rgba(114, 175, 238, 0.35);
  --sofripa-btn-shadow-solid: 0 14px 28px -20px rgba(0, 44, 142, 0.62);
  --sofripa-btn-shadow-solid-hover: 0 18px 30px -20px rgba(0, 44, 142, 0.68);
  --sofripa-btn-shadow-outline: 0 10px 20px -20px rgba(0, 44, 142, 0.4);
}

body.wp-theme-sofripa main :is(
  .wp-block-button__link,
  .wp-element-button,
  .btn,
  .btn-primary,
  .btn-outline,
  .btn-ghost,
  .sofripa-hero-btn,
  .pub-toolbar-btn,
  .pub-btn,
  .filter-chip,
  a.inline-flex.justify-center.rounded-md,
  button.inline-flex.justify-center.rounded-md
):not(.sofripa-main-nav__link):not(.sofripa-mobile-link):not(.sofripa-menu-button) {
  border-radius: var(--sofripa-btn-radius) !important;
  font-weight: 600;
  line-height: 1.15;
}

body.wp-theme-sofripa main .wp-block-button__link {
  min-height: var(--sofripa-btn-min-height);
  padding: var(--sofripa-btn-padding-y) var(--sofripa-btn-padding-x);
}

body.wp-theme-sofripa main :is(
  .wp-block-button__link,
  .wp-element-button,
  .btn,
  .btn-primary,
  .btn-outline,
  .btn-ghost,
  .sofripa-hero-btn,
  .pub-toolbar-btn,
  .pub-btn,
  .filter-chip
):focus-visible {
  outline: none;
  box-shadow: var(--sofripa-btn-focus-ring);
}

body.wp-theme-sofripa main .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  box-shadow: var(--sofripa-btn-shadow-solid);
}

body.wp-theme-sofripa main .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  box-shadow: var(--sofripa-btn-shadow-solid-hover);
}

body.wp-theme-sofripa main .wp-block-button.is-style-outline .wp-block-button__link {
  color: #0f2458 !important;
  background: #ffffff !important;
  border-color: rgba(0, 44, 142, 0.22) !important;
  border-width: 1.5px;
  box-shadow: var(--sofripa-btn-shadow-outline);
}

body.wp-theme-sofripa main .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: rgba(0, 44, 142, 0.04) !important;
  border-color: rgba(0, 44, 142, 0.35) !important;
}

body.wp-theme-sofripa main :is(
  .bg-primary,
  .text-primary-foreground
) .wp-block-button.is-style-outline .wp-block-button__link {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.09) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
}

body.wp-theme-sofripa main :is(
  .bg-primary,
  .text-primary-foreground
) .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.72) !important;
}

body.wp-theme-sofripa main .wp-block-button__link[aria-disabled="true"],
body.wp-theme-sofripa main .wp-block-button__link.is-disabled {
  opacity: 0.52;
  filter: grayscale(0.08);
  pointer-events: none;
}

.editor-styles-wrapper .wp-block-buttons {
  gap: 0.78rem !important;
}

.editor-styles-wrapper .wp-block-button__link {
  border-radius: var(--sofripa-btn-radius) !important;
  min-height: var(--sofripa-btn-min-height);
  padding: var(--sofripa-btn-padding-y) var(--sofripa-btn-padding-x);
  font-weight: 600;
  line-height: 1.15;
}

.editor-styles-wrapper .wp-block-button.is-style-outline .wp-block-button__link {
  color: #0f2458 !important;
  background: #ffffff !important;
  border-color: rgba(0, 44, 142, 0.24) !important;
  border-width: 1.5px;
}
