/**
 * DONATE PAGE STYLES
 * ===================
 * Donate-specific styles. Shared layout comes from page-layout.css.
 *
 * BEM NAMING:
 * - Blocks: .donate-btn
 * - Modifiers: .donate-btn--primary, .donate-btn--secondary
 */

/* ==========================================================================
   COMPONENTS - Donate Page
   ========================================================================== */

/* --------------------------------------------
   Content - narrower max-width than default
   -------------------------------------------- */

.donate-page .page-section {
  max-width: 32rem;
}

/* --------------------------------------------
   Message
   -------------------------------------------- */

.donate-message {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.7;
  color: var(--color-text-secondary);
  max-width: 28rem;
  margin: 0 0 var(--margin-xl);
}

/* --------------------------------------------
   Donation Buttons
   -------------------------------------------- */

.donate-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-md);
  justify-content: center;
}

.donate-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  border-radius: var(--radius-full);
  border: none;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform var(--transition-base),
    box-shadow var(--transition-slow),
    background var(--transition-base);
  min-width: 10rem;
  -webkit-user-select: none;
  user-select: none;
  overflow: hidden;
}

/* Frosted glass highlight */
.donate-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.1) 0%,
    transparent 50%,
    rgba(0, 0, 0, 0.05) 100%
  );
  pointer-events: none;
}

/* Give Once - Blue neumorphic */
.donate-btn--primary {
  background: var(--color-blue-primary);
  color: var(--color-white);
  box-shadow:
    var(--neu-raised),
    var(--neu-edge-highlight),
    0 0 20px var(--glow-blue-sm);
}

.donate-btn--primary:hover {
  background: var(--color-blue-hover);
  box-shadow:
    var(--neu-raised-lg),
    var(--neu-edge-highlight),
    0 0 30px var(--glow-blue-lg);
  transform: translateY(-2px);
}

.donate-btn--primary:active {
  box-shadow: var(--neu-pressed);
  transform: translateY(0) scale(0.97);
}

/* Give Monthly - Red neumorphic */
.donate-btn--secondary {
  background: var(--color-red-primary);
  color: var(--color-white);
  box-shadow:
    var(--neu-raised),
    var(--neu-edge-highlight),
    0 0 20px var(--glow-red-sm);
}

.donate-btn--secondary:hover {
  background: var(--color-red-hover);
  box-shadow:
    var(--neu-raised-lg),
    var(--neu-edge-highlight),
    0 0 30px var(--glow-red-lg);
  transform: translateY(-2px);
}

.donate-btn--secondary:active {
  box-shadow: var(--neu-pressed);
  transform: translateY(0) scale(0.97);
}

/* Focus states for accessibility */
.donate-btn:focus-visible {
  outline: 2px solid var(--color-purple-primary);
  outline-offset: 3px;
}

/* ==========================================================================
   OVERRIDES - Media Queries & Accessibility
   ========================================================================== */

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .donate-btn {
    transition: none;
  }
}

/* Mobile adjustments */
@media (max-width: 40rem) {
  .donate-message {
    font-size: var(--text-sm);
  }

  .donate-actions {
    flex-direction: column;
    width: 100%;
    padding: 0;
  }

  .donate-btn {
    width: 100%;
    padding: 0.875rem 1.5rem;
  }
}
