/* Mobile responsiveness primitives — kept in sync with the other consoles. */
@media (max-width: 640px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="password"],
  input[type="search"],
  input[type="url"],
  input[type="date"],
  input[type="datetime-local"],
  input[type="time"],
  textarea,
  select {
    font-size: 16px !important;
  }
}
.safe-area-bottom {
  padding-bottom: max(0.5rem, env(safe-area-inset-bottom));
}
.h-screen-d { height: 100dvh; }
.min-h-screen-d { min-height: 100dvh; }

/* ── Premium Section Backgrounds ─────────────────────────────────────────── */

/* Subtle dot pattern for light sections */
.bg-pattern-dots {
  background-image: radial-gradient(circle, #e5e7eb 1px, transparent 1px);
  background-size: 24px 24px;
}

/* Subtle grid pattern */
.bg-pattern-grid {
  background-image:
    linear-gradient(rgba(0,0,0,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.02) 1px, transparent 1px);
  background-size: 40px 40px;
}

/* Warm gradient for alternating sections */
.bg-warm-gradient {
  background: linear-gradient(180deg, #fdf8f0 0%, #fff 100%);
}

/* Cool gradient */
.bg-cool-gradient {
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

/* Decorative blobs */
.section-blob-left::before {
  content: '';
  position: absolute;
  top: -80px;
  left: -120px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(212,134,26,0.06) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.section-blob-right::after {
  content: '';
  position: absolute;
  bottom: -80px;
  right: -120px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(212,134,26,0.05) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* ── Hero Slideshow ─────────────────────────────────────────────────────── */
.hero-slides {
  position: absolute;
  inset: 0;
}

.hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-color: #1a1a2e;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
  transform: scale(1.04);
  animation: none;
}

.hero-slide.active {
  opacity: 1;
  animation: slowzoom 8s ease-in-out forwards;
}

@keyframes slowzoom {
  from { transform: scale(1.04); }
  to   { transform: scale(1); }
}

/* Slide dots */
.hero-dot {
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  background: rgba(255,255,255,0.35);
  border: none;
  cursor: pointer;
  transition: all 0.3s;
}
.hero-dot.active {
  width: 24px;
  background: #d4861a;
}

/* ── Section polish ─────────────────────────────────────────────────────── */

/* Subtle section dividers */
section + section {
  position: relative;
}

/* Card hover lift */
.feature-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.feature-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px -8px rgba(0,0,0,0.10);
}

/* Smooth scroll */
html {
  scroll-behavior: smooth;
}

/* Nav logo gradient text */
.logo-text {
  background: linear-gradient(135deg, #d4861a, #b86a12);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Pricing card highlight glow */
.pricing-featured {
  box-shadow: 0 0 0 2px #d4861a, 0 20px 48px -12px rgba(212,134,26,0.25);
}

/* Pricing card hover lift */
.pricing-card {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              border-color 0.3s ease;
  will-change: transform;
}
.pricing-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 40px -16px rgba(17, 24, 39, 0.18);
}
.pricing-card.pricing-featured:hover {
  transform: translateY(-8px);
  box-shadow: 0 0 0 2px #d4861a, 0 28px 56px -16px rgba(212,134,26,0.4);
}
@media (prefers-reduced-motion: reduce) {
  .pricing-card {
    transition: none;
  }
  .pricing-card:hover,
  .pricing-card.pricing-featured:hover {
    transform: none;
  }
}

/* Testimonial card subtle gradient border */
.testimonial-card {
  background: linear-gradient(white, white) padding-box,
              linear-gradient(135deg, #faecd4, #f5d9a8) border-box;
  border: 1px solid transparent;
}

/* CTA section text shadow */
.cta-headline {
  text-shadow: 0 2px 24px rgba(0,0,0,0.15);
}

/* How-it-works step icon shadow */
.step-icon-primary {
  box-shadow: 0 8px 24px -4px rgba(212,134,26,0.35);
}
