/* Button Component System */

/* Base Button */
.btn {
  border-radius: var(--border-radius-sm);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-large);
  padding: 16px 32px;
  border: none;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
  font-family: var(--font-primary);
  line-height: var(--line-height-normal);
}

/* Primary Button - Updated to use correct brand color */
.btn-primary {
  background-color: var(--primary-blue);
  color: var(--white);
  border: 1px solid var(--primary-blue);
}

.btn-primary:hover {
  background-color: var(--dark-navy);
  border-color: var(--dark-navy);
  color: var(--white);
}

/* Outline Primary Button */
.btn-outline-primary {
  background-color: transparent;
  color: var(--primary-blue);
  border: 2px solid var(--primary-blue);
  padding: 12px 24px;
  border-radius: var(--border-radius-sm);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-medium);
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
  cursor: pointer;
}

.btn-outline-primary:hover {
  background-color: var(--primary-blue);
  color: var(--white);
  border-color: var(--primary-blue);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(85, 152, 233, 0.25);
}

.btn-outline-primary:focus {
  background-color: var(--primary-blue);
  color: var(--white);
  border-color: var(--primary-blue);
  box-shadow: 0 0 0 0.2rem rgba(85, 152, 233, 0.25);
}

.btn-outline-primary:active {
  background-color: var(--dark-navy);
  border-color: var(--dark-navy);
  color: var(--white);
  transform: translateY(0);
}

/* Plan Button - From join-now.blade.php */
.plan_btn {
  display: inline-block;
  padding: 12px 24px;
  background-color: var(--primary-blue);
  color: var(--white);
  border-radius: var(--border-radius-sm);
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
  transition: all 0.3s ease;
}

.plan_btn:hover {
  background-color: var(--dark-navy);
}

/* Monthly/Annual Selection Buttons - Match backup file exactly */
a.monthly-btn,a.annually-btn {
  opacity: 1;
  border-radius: 8px;
  font-weight: 700;
  font-size: 20px;
  line-height: 150%;
  text-align: center;
}

a.monthly-btn{
  color: #000;
}

a.annually-btn{
  color: #fff;
  background: #000;
}

/* Next Button */
/* .next-btn {
  background-color: var(--black);
  padding: var(--spacing-xl);
  border-radius: var(--border-radius-md);
  min-width: 25%;
  text-align: center;
}

.nxt-b {
  color: var(--white);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-base);
  text-decoration: none;
} */

.nxt-b:hover {
  opacity: 0.9;
}

/* Tier Selection Containers - Match backup file exactly */
.each-btn.tier-4 a{
  border: 2px solid #000;
  padding: 30px;
  border-radius: 10px;
  height: 100%;
}

.each-btn2.tier-4 a {
  background: #000;
  padding: 30px;
  border-radius: 10px;
  height: 100%;
}

/* Browse Button */
.btn-browse {
  background-color: var(--primary-blue);
  color: var(--white);
  padding: 12px 24px;
  border: none;
  border-radius: var(--border-radius-sm);
  font-weight: var(--font-weight-semibold);
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-browse:hover {
  background-color: var(--dark-navy);
}

/* CTA Button */
.cta-btn {
  background-color: var(--primary-blue);
  color: var(--white);
  padding: 16px 32px;
  border-radius: var(--border-radius-sm);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-base);
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
}

.cta-btn:hover {
  background-color: var(--dark-navy);
  transform: translateY(-2px);
}

/* Skip Button */
.btn-skip {
  background-color: transparent;
  color: var(--black);
  border: 2px solid var(--gray-light);
  padding: 12px 24px;
  border-radius: var(--border-radius-sm);
  font-weight: var(--font-weight-medium);
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-skip:hover {
  border-color: var(--black);
  background-color: var(--form-bg);
}

/* Brand Primary Button - Blue gradient for approve actions */
.btn-brand-primary {
  background: linear-gradient(135deg, var(--primary-blue), var(--secondary-blue)) !important;
  border-color: var(--primary-blue) !important;
  color: var(--white) !important;
  font-weight: var(--font-weight-semibold) !important;
  padding: 8px 16px !important;
  border-radius: var(--border-radius-sm) !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 2px 8px rgba(85, 152, 233, 0.25) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.btn-brand-primary:hover {
  background: linear-gradient(135deg, #4A8BC2, var(--primary-blue)) !important;
  border-color: #4A8BC2 !important;
  color: var(--white) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(85, 152, 233, 0.4) !important;
}

.btn-brand-primary:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 6px rgba(85, 152, 233, 0.3) !important;
}

/* Small Brand Primary Button */
.btn-sm.btn-brand-primary {
  padding: 6px 12px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}

/* Small button adjustments for consistency */
.btn-sm {
  font-size: 13px !important;
  padding: 6px 12px !important;
  line-height: 1.3 !important;
}

/* Button States */
.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.btn:focus {
  outline: 2px solid var(--primary-blue);
  outline-offset: 2px;
}

/* Responsive Button Styles */
@media (max-width: 768px) {
  .next-btn {
    width: 50% !important;
  }
}

@media (max-width: 480px) {
  .next-btn {
    width: 80% !important;
  }
  
  .btn {
    font-size: var(--font-size-medium);
    padding: 12px 24px;
  }
}
