﻿/**
 * -------------------------------------------------------------------------------
 * AdventureNET — Devino Gazda Page CSS
 * -------------------------------------------------------------------------------
 * 
 * Efect unic: "Host Journey"
 * - Hero floating stats
 * - Benefits 3D cards
 * - Steps timeline animated
 * - Calculator live
 * - FAQ smooth accordion
 * 
 * -------------------------------------------------------------------------------
 */

/* -----------------------------------------------------------------------------
   DESIGN TOKENS (PAGE-SPECIFIC)
   ----------------------------------------------------------------------------- */

.page-become-host {
  /* Host-specific colors */
  --host-primary: #10b981;
  --host-primary-dark: #059669;
  --host-primary-light: rgba(16, 185, 129, 0.15);
  --host-secondary: #3b82f6;
  --host-accent: #8b5cf6;
  --host-gold: #f59e0b;
  
  /* Gradients */
  --host-gradient: linear-gradient(135deg, #10b981 0%, #3b82f6 50%, #8b5cf6 100%);
  --host-gradient-gold: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
  
  /* Shadows */
  --host-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --host-shadow-green: 0 25px 50px -12px rgba(16, 185, 129, 0.35);
  
  /* Radius & Transition */
  --host-card-radius: 20px;
  --host-transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  --host-section-padding: clamp(4rem, 8vw, 6rem) 0;
}

/* -----------------------------------------------------------------------------
   ETAPE 6-7: HERO SECTION
   ----------------------------------------------------------------------------- */

.host-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: calc(80px + var(--space-8)) 0 var(--space-12);
  overflow: hidden;
}

/* Hero Background */
.host-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(135deg, 
    color-mix(in srgb, var(--host-primary) 10%, var(--color-bg)),
    var(--color-bg) 50%,
    color-mix(in srgb, var(--host-secondary) 10%, var(--color-bg))
  );
}

.hero-gradient-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.4;
  animation: float 20s ease-in-out infinite;
}

.hero-orb-1 {
  width: 600px;
  height: 600px;
  background: var(--host-primary);
  top: -200px;
  right: -200px;
  animation-delay: 0s;
}

.hero-orb-2 {
  width: 400px;
  height: 400px;
  background: var(--host-secondary);
  bottom: -150px;
  left: -150px;
  animation-delay: -7s;
}

.hero-orb-3 {
  width: 300px;
  height: 300px;
  background: var(--host-accent);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation-delay: -14s;
  opacity: 0.2;
}

.hero-grid-pattern {
  position: absolute;
  inset: 0;
  background-image: 
    linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.5;
}

@keyframes float {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-30px) scale(1.05); }
}

/* Hero Content Layout */
.host-hero-content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-12);
  align-items: center;
}

/* Hero Text */
.host-hero-text {
  max-width: 600px;
}

.host-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  background: var(--host-primary-light);
  border: 1px solid var(--host-primary);
  border-radius: var(--radius-full);
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  color: var(--host-primary);
  margin-bottom: var(--space-6);
  animation: pulse-glow 3s ease-in-out infinite;
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 20px rgba(16, 185, 129, 0.2); }
  50% { box-shadow: 0 0 30px rgba(16, 185, 129, 0.4); }
}

.host-hero-title {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: var(--font-bold);
  color: var(--color-text);
  line-height: 1.1;
  margin: 0 0 var(--space-6) 0;
}

.gradient-text-host {
  display: block;
  background: var(--host-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.host-hero-desc {
  font-size: var(--text-lg);
  color: var(--color-text-muted);
  line-height: 1.7;
  margin: 0 0 var(--space-8) 0;
}

/* Hero CTA Buttons */
.host-hero-cta {
  display: flex;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.btn-primary-host,
.btn-secondary-host {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-4) var(--space-6);
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  border-radius: var(--radius-lg);
  text-decoration: none;
  transition: all var(--host-transition);
}

.btn-primary-host {
  background: var(--host-primary);
  color: #fff;
  box-shadow: var(--host-shadow-green);
}

.btn-primary-host:hover {
  background: var(--host-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 30px 60px -12px rgba(16, 185, 129, 0.45);
}

.btn-secondary-host {
  background: var(--color-bg-elevated);
  color: var(--color-text);
  border: 1px solid var(--color-border);
}

.btn-secondary-host:hover {
  background: var(--color-bg-alt);
  border-color: var(--host-primary);
  color: var(--host-primary);
}

/* Hero Stats Cards */
.host-hero-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-4);
}

.host-stat-card {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-5);
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--host-card-radius);
  transition: all var(--host-transition);
}

.host-stat-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--host-shadow);
  border-color: var(--host-primary);
}

.stat-icon {
  width: 56px;
  height: 56px;
  background: var(--color-bg-alt);
  border-radius: var(--radius-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.stat-content {
  display: flex;
  flex-direction: column;
}

.stat-value {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  color: var(--color-text);
  line-height: 1;
}

.stat-suffix {
  font-size: var(--text-sm);
  font-weight: var(--font-normal);
  color: var(--color-text-muted);
  margin-left: 2px;
}

.stat-label {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin-top: var(--space-1);
}

/* Scroll Indicator */
.host-scroll-indicator {
  position: absolute;
  bottom: var(--space-8);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  animation: bounce 2s ease-in-out infinite;
}

@keyframes bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(10px); }
}

/* -----------------------------------------------------------------------------
   ETAPE 8-9: BENEFITS SECTION
   ----------------------------------------------------------------------------- */

.host-benefits {
  position: relative;
  padding: var(--host-section-padding);
  background: linear-gradient(180deg, 
    var(--color-bg) 0%,
    color-mix(in srgb, var(--host-primary) 5%, var(--color-bg)) 50%,
    var(--color-bg) 100%
  );
  overflow: hidden;
}

/* Benefits Background */
.benefits-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.benefits-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  opacity: 0.3;
}

.benefits-orb-1 {
  width: 500px;
  height: 500px;
  background: var(--host-primary);
  top: -200px;
  left: -200px;
}

.benefits-orb-2 {
  width: 400px;
  height: 400px;
  background: var(--host-accent);
  bottom: -150px;
  right: -150px;
}

.benefits-pattern {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.03) 1px, transparent 0);
  background-size: 40px 40px;
}

/* Section Header */
.benefits-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto var(--space-12);
  position: relative;
  z-index: 1;
}

.section-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  background: var(--host-primary-light);
  border: 1px solid color-mix(in srgb, var(--host-primary) 30%, transparent);
  border-radius: var(--radius-full);
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  color: var(--host-primary);
  margin-bottom: var(--space-4);
}

.section-title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: var(--font-bold);
  color: var(--color-text);
  line-height: 1.2;
  margin: 0 0 var(--space-4) 0;
}

/* Note: .gradient-text-host base styles defined earlier at line 163 */

.section-desc {
  font-size: var(--text-lg);
  color: var(--color-text-muted);
  line-height: 1.6;
  margin: 0;
}

/* Benefits Grid */
.benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
  position: relative;
  z-index: 1;
}

/* Benefit Card */
.benefit-card {
  position: relative;
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--host-card-radius);
  padding: var(--space-6);
  transition: all var(--host-transition);
  overflow: hidden;
}

.benefit-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 0%, rgba(16, 185, 129, 0.02) 100%);
  opacity: 0;
  transition: opacity var(--host-transition);
}

.benefit-card:hover {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--host-primary) 40%, var(--color-border));
  box-shadow: var(--host-shadow);
}

.benefit-card:hover::before {
  opacity: 1;
}

/* Benefit Glow */
.benefit-glow {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 100px;
  background: var(--host-primary);
  filter: blur(80px);
  opacity: 0;
  transition: opacity var(--host-transition);
  pointer-events: none;
}

.benefit-card:hover .benefit-glow {
  opacity: 0.15;
}

/* Featured Benefit Card */
.benefit-featured {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  background: var(--host-gradient);
  border: none;
  display: flex;
  flex-direction: column;
}

.benefit-featured .benefit-title,
.benefit-featured .benefit-desc {
  color: #fff;
}

.benefit-featured .benefit-desc {
  opacity: 0.9;
}

.benefit-featured:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px -12px rgba(16, 185, 129, 0.4);
}

/* Benefit Icon */
.benefit-icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-bg-alt);
  border-radius: var(--radius-xl);
  margin-bottom: var(--space-4);
  position: relative;
}

.benefit-icon-featured {
  background: rgba(255, 255, 255, 0.2);
  width: 80px;
  height: 80px;
}

.icon-ring {
  position: absolute;
  inset: -6px;
  border: 2px dashed rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  animation: spin-slow 20s linear infinite;
}

@keyframes spin-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.benefit-badge-popular {
  position: absolute;
  top: -8px;
  right: -8px;
  background: linear-gradient(135deg, #b45309 0%, #b91c1c 100%);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: var(--font-bold);
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Benefit Icon Variants */
.benefit-icon-secure {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.15) 0%, rgba(99, 102, 241, 0.15) 100%);
}

.benefit-icon-shield {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(29, 78, 216, 0.15) 100%);
}

.benefit-icon-support {
  background: linear-gradient(135deg, rgba(236, 72, 153, 0.15) 0%, rgba(190, 24, 93, 0.15) 100%);
}

.benefit-icon-dashboard {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.15) 0%, rgba(217, 119, 6, 0.15) 100%);
}

.benefit-icon-visibility {
  background: linear-gradient(135deg, rgba(6, 182, 212, 0.15) 0%, rgba(8, 145, 178, 0.15) 100%);
}

/* Benefit Content */
.benefit-title {
  font-size: var(--text-lg);
  font-weight: var(--font-bold);
  color: var(--color-text);
  margin: 0 0 var(--space-2) 0;
}

.benefit-desc {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.6;
  margin: 0;
}

/* Benefit Highlight (Featured) */
.benefit-highlight {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  margin-top: auto;
  padding-top: var(--space-6);
}

.highlight-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.2);
  border-radius: var(--radius-lg);
  flex-shrink: 0;
}

.highlight-content {
  display: flex;
  flex-direction: column;
}

.highlight-value {
  font-size: var(--text-xl);
  font-weight: var(--font-bold);
  color: #fff;
}

.highlight-label {
  font-size: var(--text-xs);
  color: rgba(255, 255, 255, 0.7);
}

/* Benefit Tag */
.benefit-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: var(--host-primary-light);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: var(--font-medium);
  color: var(--host-primary);
  margin-top: var(--space-4);
}

/* Benefits Responsive */
@media (max-width: 1024px) {
  .benefits-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .benefit-featured {
    grid-column: 1 / 3;
    grid-row: auto;
  }
}

@media (max-width: 640px) {
  .benefits-grid {
    grid-template-columns: 1fr;
  }
  
  .benefit-featured {
    grid-column: 1;
  }
  
  .benefits-header {
    text-align: left;
  }
}

/* -----------------------------------------------------------------------------
   ETAPE 10-11: STEPS SECTION
   ----------------------------------------------------------------------------- */

.host-steps {
  position: relative;
  padding: var(--host-section-padding);
  background: var(--color-bg);
  overflow: hidden;
}

/* Steps Background */
.steps-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.steps-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  opacity: 0.25;
}

.steps-orb-1 {
  width: 400px;
  height: 400px;
  background: var(--host-primary);
  top: 0;
  left: -150px;
}

.steps-orb-2 {
  width: 350px;
  height: 350px;
  background: var(--host-secondary);
  bottom: 0;
  right: -150px;
}

.steps-pattern {
  position: absolute;
  inset: 0;
  background-image: 
    linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size: 80px 80px;
}

/* Steps Header */
.steps-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto var(--space-12);
  position: relative;
  z-index: 1;
}

/* Timeline Container */
.timeline-container {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
  z-index: 1;
}

/* Timeline Track */
.timeline-track {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--color-border);
  transform: translateX(-50%);
  border-radius: 2px;
}

.timeline-progress {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  background: var(--host-gradient);
  border-radius: 2px;
  transition: height 0.6s ease-out;
}

/* Step Item */
.step-item {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: var(--space-6);
  align-items: center;
  margin-bottom: var(--space-8);
  position: relative;
}

.step-item:last-child {
  margin-bottom: 0;
}

/* Alternate sides */
.step-item .step-card {
  grid-column: 1;
}

.step-item .step-marker {
  grid-column: 2;
}

.step-item-right .step-card {
  grid-column: 3;
}

.step-item::before {
  content: '';
  grid-column: 3;
}

.step-item-right::before {
  grid-column: 1;
}

/* Step Marker */
.step-marker {
  position: relative;
  width: 60px;
  height: 60px;
  background: var(--color-bg-elevated);
  border: 3px solid var(--color-border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: all var(--host-transition);
}

.marker-ring {
  position: absolute;
  inset: -8px;
  border: 2px dashed color-mix(in srgb, var(--host-primary) 30%, transparent);
  border-radius: 50%;
  opacity: 0;
  animation: spin-slow 20s linear infinite;
  transition: opacity var(--host-transition);
}

.step-item:hover .marker-ring {
  opacity: 1;
}

.marker-number {
  font-size: var(--text-xl);
  font-weight: var(--font-bold);
  color: var(--color-text);
  transition: opacity var(--host-transition);
}

.marker-check {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity var(--host-transition);
}

.marker-check svg {
  color: #fff;
}

.marker-sparkle {
  position: absolute;
  top: -12px;
  right: -12px;
  font-size: 1.25rem;
  animation: bounce 2s ease-in-out infinite;
}

/* Step Marker Hover/Active States */
.step-item:hover .step-marker {
  border-color: var(--host-primary);
  transform: scale(1.1);
}

.step-marker-success {
  background: var(--host-gradient);
  border-color: var(--host-primary);
  box-shadow: 0 0 30px rgba(16, 185, 129, 0.4);
}

.step-marker-success .marker-number {
  color: #fff;
}

/* Step Card */
.step-card {
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--host-card-radius);
  padding: var(--space-6);
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  transition: all var(--host-transition);
}

.step-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--host-primary) 40%, var(--color-border));
  box-shadow: var(--host-shadow);
}

.step-card-success {
  background: linear-gradient(135deg, 
    color-mix(in srgb, var(--host-primary) 10%, var(--color-bg-elevated)),
    var(--color-bg-elevated)
  );
  border-color: var(--host-primary);
}

/* Step Icon */
.step-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-bg-alt);
  border-radius: var(--radius-xl);
  flex-shrink: 0;
}

.step-icon-user {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(5, 150, 105, 0.15) 100%);
}

.step-icon-home {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(29, 78, 216, 0.15) 100%);
}

.step-icon-calendar {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.15) 0%, rgba(99, 102, 241, 0.15) 100%);
}

.step-icon-success {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.2) 0%, rgba(5, 150, 105, 0.2) 100%);
}

/* Step Content */
.step-content {
  flex: 1;
}

.step-title {
  font-size: var(--text-lg);
  font-weight: var(--font-bold);
  color: var(--color-text);
  margin: 0 0 var(--space-2) 0;
}

.step-desc {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.6;
  margin: 0 0 var(--space-3) 0;
}

.step-time {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-1) var(--space-3);
  background: var(--color-bg-alt);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: var(--font-medium);
  color: var(--color-text-muted);
}

.step-time svg {
  opacity: 0.7;
}

.step-time-success {
  background: var(--host-primary-light);
  color: var(--host-primary);
}

.step-time-success svg {
  opacity: 1;
  color: var(--host-primary);
}

/* Steps CTA */
.steps-cta {
  text-align: center;
  margin-top: var(--space-12);
  position: relative;
  z-index: 1;
}

.btn-lg {
  padding: var(--space-4) var(--space-8);
  font-size: var(--text-lg);
}

.steps-cta-note {
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

/* Steps Responsive */
@media (max-width: 768px) {
  .timeline-track {
    left: 30px;
  }
  
  .step-item {
    grid-template-columns: 60px 1fr;
    gap: var(--space-4);
  }
  
  .step-item .step-marker {
    grid-column: 1;
    grid-row: 1;
  }
  
  .step-item .step-card,
  .step-item-right .step-card {
    grid-column: 2;
    grid-row: 1;
  }
  
  .step-item::before,
  .step-item-right::before {
    display: none;
  }
  
  .step-card {
    flex-direction: column;
    text-align: left;
  }
  
  .step-marker {
    width: 50px;
    height: 50px;
  }
  
  .marker-number {
    font-size: var(--text-lg);
  }
}

/* -----------------------------------------------------------------------------
   ETAPE 12-13: CALCULATOR SECTION
   ----------------------------------------------------------------------------- */

.host-calculator {
  position: relative;
  padding: var(--host-section-padding);
  background: linear-gradient(180deg, 
    var(--color-bg) 0%,
    color-mix(in srgb, var(--host-gold) 5%, var(--color-bg)) 50%,
    var(--color-bg) 100%
  );
  overflow: hidden;
}

/* Calculator Background */
.calculator-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.calculator-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  opacity: 0.3;
}

.calculator-orb-1 {
  width: 450px;
  height: 450px;
  background: var(--host-gold);
  top: -200px;
  right: -200px;
}

.calculator-orb-2 {
  width: 350px;
  height: 350px;
  background: var(--host-primary);
  bottom: -150px;
  left: -150px;
}

.calculator-pattern {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 2px 2px, rgba(255, 255, 255, 0.03) 1px, transparent 0);
  background-size: 32px 32px;
}

/* Calculator Layout */
.calculator-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-12);
  align-items: center;
  position: relative;
  z-index: 1;
}

/* Calculator Info */
.calculator-info {
  max-width: 500px;
}

.section-badge-gold {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.15) 0%, rgba(217, 119, 6, 0.15) 100%);
  border-color: var(--host-gold);
  color: var(--host-gold);
}

/* Calculator Features */
.calculator-features {
  list-style: none;
  padding: 0;
  margin: var(--space-8) 0 0 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.feature-item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text);
}

.feature-check {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--host-primary-light);
  border-radius: var(--radius-full);
  flex-shrink: 0;
}

.feature-check svg {
  color: var(--host-primary);
}

/* Calculator Card */
.calculator-card {
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--host-card-radius);
  padding: var(--space-6);
  box-shadow: var(--host-shadow);
}

.card-header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding-bottom: var(--space-5);
  border-bottom: 1px solid var(--color-border);
  margin-bottom: var(--space-5);
}

.card-header-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--host-primary-light);
  border-radius: var(--radius-lg);
}

.card-header span {
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
  color: var(--color-text);
}

/* Calculator Form */
.calculator-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.form-label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  color: var(--color-text-muted);
}

.form-label svg {
  opacity: 0.7;
}

.form-select,
.form-input {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  background: var(--color-bg-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  font-size: var(--text-base);
  color: var(--color-text);
  transition: all 0.2s ease;
  appearance: none;
}

.form-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 40px;
  cursor: pointer;
}

.form-select:focus,
.form-input:focus {
  outline: none;
  border-color: var(--host-primary);
  box-shadow: 0 0 0 3px var(--host-primary-light);
}

/* Input with Suffix */
.input-with-suffix {
  position: relative;
}

.input-with-suffix .form-input {
  padding-right: 60px;
}

.input-suffix {
  position: absolute;
  right: var(--space-4);
  top: 50%;
  transform: translateY(-50%);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  color: var(--color-text-muted);
}

/* Range Slider */
.range-slider {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.form-range {
  width: 100%;
  height: 8px;
  background: var(--color-bg-alt);
  border-radius: 4px;
  appearance: none;
  cursor: pointer;
}

.form-range::-webkit-slider-thumb {
  appearance: none;
  width: 20px;
  height: 20px;
  background: var(--host-primary);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(16, 185, 129, 0.4);
  transition: transform 0.2s ease;
}

.form-range::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}

.form-range::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: var(--host-primary);
  border: none;
  border-radius: 50%;
  cursor: pointer;
}

.range-labels {
  display: flex;
  justify-content: space-between;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

.range-value {
  font-weight: var(--font-semibold);
  color: var(--host-primary);
}

/* Calculator Results */
.calculator-results {
  margin-top: var(--space-6);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-border);
}

.result-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-2);
}

.result-label {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.result-trend {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--text-xs);
  font-weight: var(--font-medium);
  color: var(--host-primary);
}

.result-amount {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.amount-value {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: var(--font-bold);
  color: var(--color-text);
  line-height: 1;
}

.amount-value.updated {
  animation: pulse-value 0.3s ease;
}

@keyframes pulse-value {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); color: var(--host-primary); }
}

.amount-currency {
  font-size: var(--text-xl);
  font-weight: var(--font-semibold);
  color: var(--color-text-muted);
}

.result-breakdown {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  background: var(--color-bg-alt);
  border-radius: var(--radius-lg);
  margin-bottom: var(--space-5);
}

.breakdown-item {
  display: flex;
  justify-content: space-between;
  font-size: var(--text-sm);
}

.breakdown-label {
  color: var(--color-text-muted);
}

.breakdown-value {
  font-weight: var(--font-semibold);
  color: var(--color-text);
}

.btn-full {
  width: 100%;
  justify-content: center;
}

.result-note {
  margin-top: var(--space-3);
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  text-align: center;
}

/* Calculator Responsive */
@media (max-width: 1024px) {
  .calculator-layout {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
  
  .calculator-info {
    max-width: 100%;
    text-align: center;
  }
  
  .calculator-features {
    align-items: center;
  }
}

@media (max-width: 640px) {
  .form-row {
    grid-template-columns: 1fr;
  }
  
  .result-header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-1);
  }
}

/* -----------------------------------------------------------------------------
   ETAPA 14: TESTIMONIALS SECTION
   ----------------------------------------------------------------------------- */

.host-testimonials {
  position: relative;
  padding: var(--host-section-padding);
  background: var(--color-bg);
  overflow: hidden;
}

/* Testimonials Background */
.testimonials-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.testimonials-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  opacity: 0.25;
}

.testimonials-orb-1 {
  width: 400px;
  height: 400px;
  background: var(--host-accent);
  top: -150px;
  left: 50%;
  transform: translateX(-50%);
}

.testimonials-orb-2 {
  width: 300px;
  height: 300px;
  background: var(--host-primary);
  bottom: -100px;
  right: -100px;
}

.testimonials-pattern {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.02) 1px, transparent 0);
  background-size: 48px 48px;
}

/* Testimonials Header */
.testimonials-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto var(--space-12);
  position: relative;
  z-index: 1;
}

.section-badge-purple {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.15) 0%, rgba(99, 102, 241, 0.15) 100%);
  border-color: var(--host-accent);
  color: var(--host-accent);
}

/* Testimonials Grid */
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
  position: relative;
  z-index: 1;
}

/* Testimonial Card */
.testimonial-card {
  position: relative;
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--host-card-radius);
  padding: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  transition: all var(--host-transition);
}

.testimonial-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--host-shadow);
  border-color: color-mix(in srgb, var(--host-accent) 40%, var(--color-border));
}

/* Featured Card */
.testimonial-featured {
  background: linear-gradient(135deg, 
    color-mix(in srgb, var(--host-primary) 8%, var(--color-bg-elevated)),
    var(--color-bg-elevated)
  );
  border-color: var(--host-primary);
  transform: scale(1.02);
}

.testimonial-featured:hover {
  transform: scale(1.02) translateY(-6px);
}

.featured-badge {
  position: absolute;
  top: -10px;
  left: var(--space-6);
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  background: linear-gradient(135deg, #b45309 0%, #b91c1c 100%);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: var(--font-bold);
  color: #ffffff;
}

/* Testimonial Header */
.testimonial-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.rating-stars {
  display: flex;
  gap: 2px;
}

.verified-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-1) var(--space-2);
  background: var(--host-primary-light);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: var(--font-medium);
  color: var(--host-primary);
}

/* Testimonial Quote */
.testimonial-quote {
  font-size: var(--text-base);
  color: var(--color-text);
  line-height: 1.7;
  margin: 0;
  flex: 1;
}

.testimonial-quote strong {
  color: var(--host-primary);
  font-weight: var(--font-semibold);
}

/* Testimonial Author */
.testimonial-author {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.author-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--color-bg-alt);
}

.author-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.author-info {
  display: flex;
  flex-direction: column;
}

.author-name {
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  color: var(--color-text);
}

.author-meta {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

/* Testimonial Stats */
.testimonial-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-2);
  padding: var(--space-3);
  background: var(--color-bg-alt);
  border-radius: var(--radius-lg);
}

.stat-mini {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.stat-mini .stat-value {
  font-size: var(--text-sm);
  font-weight: var(--font-bold);
  color: var(--color-text);
}

.stat-mini .stat-label {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

.stat-highlight .stat-value {
  color: var(--host-primary);
}

/* Trust Banner */
.trust-banner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-8);
  margin-top: var(--space-12);
  padding: var(--space-6);
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--host-card-radius);
  position: relative;
  z-index: 1;
}

.trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.trust-value {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  color: var(--host-primary);
}

.trust-label {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.trust-divider {
  width: 1px;
  height: 40px;
  background: var(--color-border);
}

/* Testimonials Responsive */
@media (max-width: 1024px) {
  .testimonials-grid {
    grid-template-columns: 1fr;
    max-width: 500px;
    margin: 0 auto;
  }
  
  .testimonial-featured {
    transform: none;
  }
  
  .testimonial-featured:hover {
    transform: translateY(-6px);
  }
}

@media (max-width: 640px) {
  .trust-banner {
    flex-direction: column;
    gap: var(--space-4);
  }
  
  .trust-divider {
    width: 60px;
    height: 1px;
  }
}

/* -----------------------------------------------------------------------------
   ETAPE 15-16: FAQ + CTA SECTION
   ----------------------------------------------------------------------------- */

.host-faq {
  position: relative;
  padding: var(--host-section-padding);
  background: linear-gradient(180deg, 
    var(--color-bg) 0%,
    color-mix(in srgb, var(--host-secondary) 5%, var(--color-bg)) 50%,
    var(--color-bg) 100%
  );
  overflow: hidden;
}

/* FAQ Background */
.faq-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.faq-pattern {
  position: absolute;
  inset: 0;
  background-image: 
    linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size: 60px 60px;
}

/* FAQ Header */
.faq-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto var(--space-12);
  position: relative;
  z-index: 1;
}

/* FAQ Grid */
.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-4);
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

/* FAQ Item */
.faq-item {
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--host-card-radius);
  overflow: hidden;
  transition: all var(--host-transition);
}

.faq-item:hover {
  border-color: color-mix(in srgb, var(--host-primary) 40%, var(--color-border));
}

.faq-item.active {
  border-color: var(--host-primary);
  box-shadow: 0 10px 40px -10px rgba(16, 185, 129, 0.2);
}

/* FAQ Question Button */
.faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-5);
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: all 0.2s ease;
}

.faq-question:hover {
  background: var(--color-bg-alt);
}

.faq-icon-q {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-bg-alt);
  border-radius: var(--radius-lg);
  flex-shrink: 0;
}

.faq-title {
  flex: 1;
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  color: var(--color-text);
  margin: 0;
}

.faq-chevron {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-muted);
  transition: transform var(--host-transition);
}

.faq-item.active .faq-chevron {
  transform: rotate(180deg);
  color: var(--host-primary);
}

/* FAQ Answer */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-answer[hidden] {
  display: block;
}

.faq-item.active .faq-answer {
  max-height: 500px;
}

.faq-answer-content {
  padding: 0 var(--space-5) var(--space-5);
  padding-left: calc(40px + var(--space-4) + var(--space-5));
}

.faq-answer-content p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.7;
  margin: 0 0 var(--space-3) 0;
}

.text-success {
  color: var(--host-primary);
}

/* FAQ Highlight Box */
.faq-highlight {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: var(--host-primary-light);
  border: 1px solid color-mix(in srgb, var(--host-primary) 30%, transparent);
  border-radius: var(--radius-lg);
  padding: var(--space-3) var(--space-4);
  margin: var(--space-3) 0;
}

.faq-highlight .highlight-value {
  font-size: var(--text-xl);
  font-weight: var(--font-bold);
  color: var(--host-primary);
}

.faq-highlight .highlight-label {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

/* FAQ List */
.faq-list {
  list-style: none;
  padding: 0;
  margin: var(--space-3) 0;
}

.faq-list li {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-text);
  padding: var(--space-1) 0;
}

.faq-list li::before {
  content: '';
  width: 6px;
  height: 6px;
  background: var(--host-primary);
  border-radius: 50%;
  flex-shrink: 0;
}

/* FAQ Warning */
.faq-warning {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  padding: var(--space-3);
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.2);
  border-radius: var(--radius-lg);
  margin: var(--space-3) 0;
  font-size: var(--text-sm);
  color: var(--color-text);
}

.faq-warning svg {
  flex-shrink: 0;
  color: #ef4444;
}

/* FAQ Note */
.faq-note {
  font-size: var(--text-xs) !important;
  color: var(--color-text-muted) !important;
  font-style: italic;
}

/* FAQ CTA */
.faq-cta {
  text-align: center;
  margin-top: var(--space-12);
  position: relative;
  z-index: 1;
}

.faq-cta-text {
  font-size: var(--text-lg);
  color: var(--color-text);
  margin: 0 0 var(--space-6) 0;
}

.faq-cta-buttons {
  display: flex;
  justify-content: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}

/* FAQ Responsive */
@media (max-width: 768px) {
  .faq-grid {
    grid-template-columns: 1fr;
  }
  
  .faq-answer-content {
    padding-left: var(--space-5);
  }
  
  .faq-cta-buttons {
    flex-direction: column;
    align-items: center;
  }
}

/* -----------------------------------------------------------------------------
   RESPONSIVE
   ----------------------------------------------------------------------------- */

@media (max-width: 1024px) {
  .host-hero-content {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .host-hero-text {
    max-width: 100%;
  }
  
  .host-hero-cta {
    justify-content: center;
  }
  
  .host-hero-stats {
    max-width: 500px;
    margin: 0 auto;
  }
}

@media (max-width: 640px) {
  .host-hero {
    min-height: auto;
    padding: calc(80px + var(--space-6)) 0 var(--space-20);
  }
  
  .host-hero-stats {
    grid-template-columns: 1fr;
  }
  
  .host-hero-cta {
    flex-direction: column;
    align-items: center;
  }
  
  .btn-primary-host,
  .btn-secondary-host {
    width: 100%;
    max-width: 280px;
    justify-content: center;
  }
  
  .host-scroll-indicator {
    display: none;
  }
}

/* -----------------------------------------------------------------------------
   ETAPA 25: CTA FINAL SECTION
   ----------------------------------------------------------------------------- */

.host-cta-final {
  position: relative;
  padding: var(--space-24) 0;
  background: linear-gradient(135deg, 
    color-mix(in srgb, var(--host-primary) 10%, var(--color-bg-primary)) 0%,
    var(--color-bg-primary) 50%,
    color-mix(in srgb, var(--host-secondary) 10%, var(--color-bg-primary)) 100%
  );
  overflow: hidden;
}

/* Background Effects */
.cta-bg-effects {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.cta-gradient-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.4;
}

.cta-orb-1 {
  width: 500px;
  height: 500px;
  background: var(--host-primary);
  top: -200px;
  left: -200px;
}

.cta-orb-2 {
  width: 400px;
  height: 400px;
  background: var(--host-secondary);
  bottom: -150px;
  right: -150px;
}

.cta-grid-pattern {
  position: absolute;
  inset: 0;
  background-image: 
    linear-gradient(color-mix(in srgb, var(--host-primary) 5%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--host-primary) 5%, transparent) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.5;
}

/* Content Container */
.cta-final-content {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

/* Badge */
.cta-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  background: color-mix(in srgb, var(--host-primary) 15%, transparent);
  border: 1px solid color-mix(in srgb, var(--host-primary) 30%, transparent);
  border-radius: var(--radius-full);
  margin-bottom: var(--space-6);
}

.cta-badge-icon {
  flex-shrink: 0;
}

.cta-badge-text {
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  color: var(--host-primary);
}

/* Title */
.cta-final-title {
  font-size: var(--text-4xl);
  font-weight: var(--font-bold);
  line-height: 1.2;
  color: var(--color-text);
  margin-bottom: var(--space-6);
}

.cta-final-title .title-line {
  display: block;
}

.cta-final-title .title-highlight {
  background: linear-gradient(135deg, var(--host-primary), var(--host-secondary));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Description */
.cta-final-description {
  font-size: var(--text-lg);
  color: var(--color-text-secondary);
  line-height: 1.7;
  margin-bottom: var(--space-8);
}

.cta-final-description strong {
  color: var(--color-text);
  font-weight: var(--font-semibold);
}

/* Mini Stats */
.cta-mini-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-6);
  margin-bottom: var(--space-10);
  flex-wrap: wrap;
}

.cta-mini-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-1);
}

.mini-stat-value {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  color: var(--host-primary);
}

.mini-stat-label {
  font-size: var(--text-sm);
  color: var(--color-text-tertiary);
}

.mini-stat-divider {
  width: 1px;
  height: 40px;
  background: var(--color-border);
}

/* CTA Buttons */
.cta-final-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  margin-bottom: var(--space-8);
  flex-wrap: wrap;
}

.btn-cta-primary {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-4) var(--space-8);
  background: linear-gradient(135deg, var(--host-primary), var(--host-dark));
  color: #fff;
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  border-radius: var(--radius-xl);
  text-decoration: none;
  box-shadow: 
    0 4px 20px color-mix(in srgb, var(--host-primary) 40%, transparent),
    0 0 0 0 color-mix(in srgb, var(--host-primary) 50%, transparent);
  transition: all var(--host-transition);
}

.btn-cta-primary:hover {
  transform: translateY(-2px);
  box-shadow: 
    0 8px 30px color-mix(in srgb, var(--host-primary) 50%, transparent),
    0 0 0 4px color-mix(in srgb, var(--host-primary) 20%, transparent);
}

.btn-cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-4) var(--space-8);
  background: var(--color-bg-elevated);
  color: var(--color-text);
  font-size: var(--text-base);
  font-weight: var(--font-medium);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  text-decoration: none;
  transition: all var(--host-transition);
}

.btn-cta-secondary:hover {
  border-color: var(--host-primary);
  color: var(--host-primary);
  transform: translateY(-2px);
}

/* Trust Notes */
.cta-trust-notes {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-6);
  flex-wrap: wrap;
}

.trust-note {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.trust-note svg {
  color: var(--host-primary);
  flex-shrink: 0;
}

/* CTA Final Responsive */
@media (max-width: 768px) {
  .host-cta-final {
    padding: var(--space-16) 0;
  }
  
  .cta-final-title {
    font-size: var(--text-3xl);
  }
  
  .cta-mini-stats {
    gap: var(--space-4);
  }
  
  .mini-stat-divider {
    height: 30px;
  }
}

@media (max-width: 480px) {
  .cta-final-buttons {
    flex-direction: column;
    width: 100%;
  }
  
  .btn-cta-primary,
  .btn-cta-secondary {
    width: 100%;
    justify-content: center;
  }
  
  .cta-trust-notes {
    flex-direction: column;
    gap: var(--space-3);
  }
}

/* -----------------------------------------------------------------------------
   PRINT & REDUCED MOTION
   ----------------------------------------------------------------------------- */

@media print {
  .host-hero-bg,
  .host-scroll-indicator {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-become-host *,
  .page-become-host *::before,
  .page-become-host *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

