/* Free Trial Component Styles */
.free-trial-cta {
  background: var(--color-primary-light);
  text-align: center;
  padding: var(--section-spacing-xl) var(--section-spacing-sm);
  min-height: 450px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.free-trial-header {
  margin-bottom: var(--section-spacing-sm);
}

.free-trial-title {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  margin-bottom: var(--section-spacing-xs);
  color: var(--color-text);
  line-height: 1.2;
}

.free-trial-subtitle {
  font-size: var(--text-lg);
  margin-bottom: var(--section-spacing-sm);
  line-height: 1.5;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.free-trial-action {
  display: flex;
  justify-content: center;
  align-items: center;
}

.free-trial-button {
  min-height: 50px;
}

.free-trial-button:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
  background: var(--color-primary);
  color: var(--color-text-reversed);
  text-decoration: none;
}

.free-trial-button:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.free-trial-button-text {
  display: inline-block;
}

/* Variant styles */
.free-trial-cta--secondary {
  background: var(--color-secondary);
}

.free-trial-cta--secondary .free-trial-button {
  background: var(--color-primary);
  color: var(--color-text-reversed);
}

/* Size variants */
.free-trial-cta--small {
  padding: var(--size-8) var(--size-4);
  min-height: 200px;
}

.free-trial-cta--small .free-trial-title {
  font-size: var(--text-2xl);
}

.free-trial-cta--small .free-trial-subtitle {
  font-size: var(--text-base);
}

.free-trial-cta--large {
  padding: var(--size-32) var(--size-4);
  min-height: 400px;
}

.free-trial-cta--large .free-trial-title {
  font-size: var(--text-4xl);
}

.free-trial-cta--large .free-trial-subtitle {
  font-size: var(--text-xl);
}

.free-trial-cta--large .free-trial-button {
  min-height: 80px;
  font-size: var(--text-xl);
  padding: var(--size-4) var(--size-8);
}

/* Responsive Design */
@media (min-width: 768px) {
  .free-trial-cta {
    width: 100%;
  }

  .free-trial-subtitle {
    font-size: clamp(var(--text-lg), 2vw, var(--text-xl));
  }

  .free-trial-button {
    min-height: 60px;
    width: 400px;
    margin: 0 auto;
  }
}

@media (min-width: 1024px) {
  .free-trial-title {
    font-size: var(--text-4xl);
  }

  .free-trial-button {
    width: 500px;
  }
}

@media (min-width: 1440px) {
  .free-trial-button {
    width: 600px;
  }
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
  .free-trial-button {
    transition: none;
  }

  .free-trial-button:hover {
    transform: none;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .free-trial-cta {
    background: var(--color-bg);
    border: 2px solid var(--color-border);
  }

  .free-trial-button {
    border: 2px solid var(--color-primary);
  }
}

/* Focus styles for keyboard navigation */
.free-trial-button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Visibility classes for responsive display */
.free-trial-cta--mobile-only {
  display: block;
}

.free-trial-cta--desktop-only {
  display: none;
}

.free-trial-cta--mobile-tablet {
  display: block;
}

.free-trial-cta--tablet-desktop {
  display: none;
}

/* Mobile only: hide on tablet and up */
@media (min-width: 768px) {
  .free-trial-cta--mobile-only {
    display: none;
  }
  
  .free-trial-cta--mobile-tablet {
    display: flex;
    justify-content: center;
    min-height: 500px;
  }
  
  .free-trial-cta--tablet-desktop {
    display: block;
  }
}

/* Desktop only: hide on mobile and tablet */
@media (min-width: 1024px) {
  .free-trial-cta--mobile-only {
    display: none;
  }
  
  .free-trial-cta--mobile-tablet {
    display: none;
  }
  
  .free-trial-cta--desktop-only {
    display: block;
  }
  
  .free-trial-cta--tablet-desktop {
    display: block;
  }
} 