/* Overrides to improve hero CTA contrast and readability */
.hero-carousel .hero-actions .premium-btn.red,
.hero-carousel .hero-actions .premium-btn.red.outline-red {
  background: linear-gradient(180deg, var(--red), #c0182a) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 18px 40px rgba(192,24,42,.18);
  padding: 14px 22px !important;
  font-weight: 800;
}

.hero-carousel .hero-actions .premium-btn.red.outline-red {
  background: rgba(0,0,0,0.18) !important;
  border: 2px solid rgba(255,40,60,0.95) !important;
  color: #ffebee !important;
}

/* Make sure CTA is visible on mobile */
@media (max-width: 768px) {
  .hero-carousel .hero-actions { gap: 12px; }
  .hero-carousel .hero-actions .premium-btn { padding: 12px 16px; font-size: 0.95rem; }
}

/* Reduce hero typography sizes and improve wrapping */
.hero-carousel .hero-content {
  max-width: 72% !important;
}
.hero-carousel .hero-title,
.hero-carousel .hero-headline,
.hero-carousel .hero h1,
.hero-carousel .hero .hero-large {
  font-size: clamp(2rem, 5vw, 3.8rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
  font-weight: 900 !important;
  margin-bottom: 0.4rem !important;
}
.hero-carousel .hero-subtitle,
.hero-carousel .hero .hero-lead,
.hero-carousel .hero p {
  font-size: clamp(1rem, 2.2vw, 1.4rem) !important;
  line-height: 1.4 !important;
  margin-top: 0.25rem !important;
}

@media (max-width: 1024px) {
  .hero-carousel .hero-content { max-width: 86% !important; }
  .hero-carousel .hero-title { font-size: clamp(1.8rem, 6.5vw, 3.2rem) !important; }
  .hero-carousel .hero-subtitle { font-size: clamp(0.95rem, 3.2vw, 1.2rem) !important; }
}

@media (max-width: 640px) {
  .hero-carousel .hero-content { max-width: 94% !important; padding: 0 18px !important; }
  .hero-carousel .hero-title { font-size: 1.6rem !important; }
  .hero-carousel .hero-subtitle { font-size: 0.95rem !important; }
}
