/* ==========================================================
   SANOME COMPONENT: PUBLIC BUTTONS (V1)
   Owner único canônico para estilos compartilháveis de botões públicos
   ========================================================== */

/* Base Primitive */
.sn-btn,
.btn,
.sn-fin-btn,
.sn-hub-btn,
.sn-guide-primary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sn-token-space-sm, 7px);
  font-family: var(--sn-token-font-family, 'Montserrat', sans-serif);
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
  transition: var(--sn-token-transition-fast, all 0.16s ease);
}

/* Primary Variant */
.sn-btn-primary,
.sn-guide-primary-btn {
  background-color: var(--sn-token-btn-bg-primary, #1f2a24);
  color: var(--sn-token-btn-text-primary, #ffffff);
  border: 1px solid var(--sn-token-btn-bg-primary, #1f2a24);
  border-radius: var(--sn-token-radius-md, 8px);
  padding: 10px 18px;
  font-size: var(--sn-token-font-size-base, 14px);
}

.sn-btn-primary:hover,
.sn-guide-primary-btn:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}

/* Secondary / Outline Variant */
.sn-btn-secondary,
.sn-btn-outline,
.sn-fin-btn.secondary {
  background-color: var(--sn-token-btn-bg-secondary, #ffffff);
  color: var(--sn-token-color-text-dark, #1f2a24);
  border: 1px solid var(--sn-token-btn-border-secondary, #1f2a24);
  border-radius: var(--sn-token-radius-md, 8px);
  padding: 10px 18px;
  font-size: var(--sn-token-font-size-base, 14px);
}

.sn-btn-secondary:hover,
.sn-btn-outline:hover,
.sn-fin-btn.secondary:hover {
  background-color: rgba(31, 42, 36, 0.05);
}

/* WhatsApp CTA Variant */
.sn-whatsapp-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 10px 16px;
  border-radius: var(--sn-token-radius-md, 8px);
  font-family: var(--sn-token-font-family, 'Montserrat', sans-serif);
  font-size: var(--sn-token-font-size-sm, 12px);
  font-weight: 600;
  text-decoration: none;
  transition: var(--sn-token-transition-fast, all 0.16s ease);
}

/* Hub Button */
.sn-hub-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-radius: var(--sn-token-radius-lg, 16px);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #ffffff;
  font-size: var(--sn-token-font-size-sm, 12px);
  font-weight: 600;
  text-decoration: none;
  transition: var(--sn-token-transition-fast, all 0.16s ease);
}

.sn-hub-btn:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.32);
  transform: translateY(-2px);
}

/* Disabled State */
.sn-btn:disabled,
.btn:disabled,
.sn-btn[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
