/* ========================================
   CONTRAST & READABILITY IMPROVEMENTS
   ======================================== */

/* ========== MELHORIAS DE CONTRASTE ========== */

/* Hero Section - Melhor legibilidade */
.hero {
  position: relative;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    135deg,
    rgba(248, 245, 240, 0.75) 0%,
    rgba(255, 255, 255, 0.70) 100%
  );
  z-index: 1;
}

.hero-content {
  position: relative;
  z-index: 2;
}

.hero-title {
  color: #1a1a1a !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  font-weight: 700;
}

.hero-subtitle {
  color: #D88F8F !important;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.hero-description {
  color: #2c2c2c !important;
  font-weight: 500;
  line-height: 1.8;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}

/* Section Titles - Melhor contraste */
.section-title {
  color: #1a1a1a !important;
  font-weight: 700;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.section-subtitle {
  color: #4a4a4a !important;
  font-weight: 500;
}

/* Cards - Melhor legibilidade */
.symptom-card,
.benefit-card,
.method-card,
.feature-card {
  background: white !important;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.symptom-card h3,
.benefit-card h3,
.method-card h3,
.feature-card h3 {
  color: #1a1a1a !important;
  font-weight: 700;
}

.symptom-card p,
.benefit-card p,
.method-card p,
.feature-card p {
  color: #3a3a3a !important;
  line-height: 1.7;
}

/* Diagnosis Section */
.section-diagnosis {
  background: white !important;
}

.symptom-card {
  background: #F8F5F0 !important;
}

.symptom-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

.symptom-text {
  color: #2c2c2c !important;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
}

/* Method Section */
.section-method {
  background: linear-gradient(135deg, #F8F5F0 0%, #FFFFFF 100%) !important;
}

.method-card {
  background: white !important;
  border-left: 4px solid #D4AF8F;
}

.method-number {
  color: #D88F8F !important;
  font-weight: 700;
  font-size: 2.5rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.method-title {
  color: #1a1a1a !important;
  font-weight: 700;
}

.method-description {
  color: #3a3a3a !important;
  line-height: 1.7;
}

/* Authority Section */
.section-authority {
  background: #F8F5F0 !important;
}

.authority-quote {
  color: #1a1a1a !important;
  font-weight: 600 !important;
  font-size: 1.5rem !important;
  line-height: 1.6 !important;
}

.authority-name {
  color: #1a1a1a !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
}

.authority-credentials {
  color: #2a2a2a !important;
  font-weight: 600 !important;
}

.authority-registration {
  color: #4a4a4a !important;
  font-weight: 500 !important;
}

/* Para Quem Section */
.section-fit {
  background: linear-gradient(135deg, #FFFFFF 0%, #F8F5F0 100%) !important;
}

.fit-card {
  background: white !important;
  border: 2px solid transparent;
  transition: all 0.3s ease;
}

.fit-card:hover {
  border-color: #D4AF8F;
  transform: translateY(-4px);
}

.fit-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

.fit-text {
  color: #2c2c2c !important;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.6;
}

/* Transformations Section */
.section-transformations {
  background: white !important;
}

.transformation-name {
  color: #1a1a1a !important;
  font-weight: 700;
}

.transformation-time {
  color: #6a6a6a !important;
  font-weight: 500;
}

.transformation-quote {
  color: #3a3a3a !important;
  font-style: italic;
  line-height: 1.7;
  border-left: 3px solid #D88F8F;
}

/* Social Proof */
.section-social-proof {
  background: linear-gradient(135deg, #D4AF8F 0%, #E8A87C 100%) !important;
}

.social-proof-banner {
  background: rgba(255, 255, 255, 0.95) !important;
  border: 2px solid rgba(212, 175, 143, 0.3);
}

.social-proof-text {
  color: #1a1a1a !important;
  font-weight: 600;
}

.social-proof-number {
  color: #D88F8F !important;
  font-weight: 700;
  font-size: 2rem;
}

/* Form Section */
.section-form {
  background: linear-gradient(135deg, #F8F5F0 0%, #FFFFFF 100%) !important;
}

.form-container {
  background: white !important;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.form-step-title {
  color: #1a1a1a !important;
  font-weight: 700;
}

.form-step-description {
  color: #4a4a4a !important;
  line-height: 1.7;
}

.form-label {
  color: #2c2c2c !important;
  font-weight: 600;
}

.form-input {
  border: 2px solid #E0E0E0 !important;
  color: #1a1a1a !important;
  background: white !important;
}

.form-input:focus {
  border-color: #D4AF8F !important;
  box-shadow: 0 0 0 3px rgba(212, 175, 143, 0.1) !important;
}

.form-option {
  background: white !important;
  border: 2px solid #E0E0E0 !important;
  color: #2c2c2c !important;
  transition: all 0.2s ease;
}

.form-option:hover {
  border-color: #D4AF8F !important;
  background: #F8F5F0 !important;
}

.form-option input:checked + .form-option-text {
  background: #D4AF8F !important;
  color: white !important;
  font-weight: 600;
}

/* FAQ Section */
.section-faq {
  background: white !important;
}

.faq-question {
  background: #F8F5F0 !important;
  color: #1a1a1a !important;
  font-weight: 600;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.faq-question:hover {
  background: #F0E8DC !important;
}

.faq-answer {
  background: white !important;
  color: #3a3a3a !important;
  line-height: 1.7;
  border-left: 3px solid #D4AF8F;
}

/* CTA Section */
.section-cta-final {
  background: linear-gradient(135deg, #D4AF8F 0%, #E8A87C 100%) !important;
}

.cta-final-content {
  background: rgba(255, 255, 255, 0.95) !important;
  padding: 3rem;
  border-radius: 1rem;
  border: 2px solid rgba(212, 175, 143, 0.3);
}

.cta-final-title {
  color: #1a1a1a !important;
  font-weight: 700;
}

.cta-final-text {
  color: #3a3a3a !important;
  line-height: 1.7;
}

/* Buttons - Melhor contraste */
.btn-primary {
  background: #D88F8F !important;
  color: white !important;
  font-weight: 700;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  border: none;
}

.btn-primary:hover {
  background: #C67F7F !important;
}

.btn-secondary {
  background: #7FA87F !important;
  color: white !important;
  font-weight: 700;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.btn-secondary:hover {
  background: #6F986F !important;
}

/* Footer */
footer {
  background: #2c2c2c !important;
  color: #E0E0E0 !important;
}

footer a {
  color: #D4AF8F !important;
}

footer a:hover {
  color: #E8A87C !important;
}

/* Stats - Melhor legibilidade */
.stat-number {
  color: #D88F8F !important;
  font-weight: 700;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.stat-label {
  color: #4a4a4a !important;
  font-weight: 600;
}

/* ========== RESPONSIVO ========== */
@media (max-width: 768px) {
  .hero-title {
    font-size: 2rem;
  }
  
  .hero-description {
    font-size: 1rem;
  }
  
  .section-title {
    font-size: 1.75rem;
  }
}

/* ========== ACESSIBILIDADE ========== */
:focus-visible {
  outline: 3px solid #D88F8F !important;
  outline-offset: 2px;
}

/* Melhor contraste para links */
a {
  color: #D88F8F;
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: #C67F7F;
  text-decoration: underline;
}

/* Seleção de texto */
::selection {
  background: #D4AF8F;
  color: white;
}

::-moz-selection {
  background: #D4AF8F;
  color: white;
}
