/**
 * Encoders Theme Widgets Stylesheet.
 * Translates Tailwind CSS utility decorations from Next.js into standard class declarations.
 */

/* ==========================================
   Global Helper Definitions & Reset Utilities
   ========================================== */
.font-display {
  font-family: var(--font-display);
}

.noise {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.45 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size: 160px 160px;
}

/* ==========================================
   Hero Widget Styles
   ========================================== */
.hero-section {
  position: relative;
  background-color: var(--color-bg);
}

.hero-mesh-overlay {
  background: radial-gradient(60% 60% at 50% 0%, rgba(212,167,44,0.16) 0%, rgba(251,248,241,0) 60%),
              linear-gradient(180deg, #fbf8f1 0%, #fbf8f1 60%, #f5efe1 100%);
}

.hero-card-container {
  border: 1px solid rgba(217, 207, 164, 0.7);
  box-shadow: 0 30px 80px -20px rgba(15, 18, 30, 0.35);
}

.hero-card-bg {
  background: radial-gradient(60% 80% at 30% 30%, #b8881a 0%, #6e4e0b 35%, #1a1207 70%, #0c0f17 100%);
}

.star-rating {
  color: var(--color-gold-400);
  letter-spacing: 2px;
}

/* ==========================================
   Services Grid Widget
   ========================================== */
.services-section {
  background-color: var(--color-bg);
}

.service-card {
  position: relative;
  border-radius: 16px;
  background-color: var(--color-surface);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: var(--shadow-soft);
}

.service-card:hover {
  transform: translateY(-4px);
  border-color: var(--color-gold-300);
  box-shadow: 0 18px 40px -18px rgba(184, 136, 26, 0.45);
}

.service-card:hover .eicon-arrow-right {
  background-color: var(--color-ink);
  color: #ffffff;
  transform: rotate(12deg);
}

/* ==========================================
   Brands Marquee Widget
   ========================================== */
.brands-marquee-section {
  overflow: hidden;
  background-color: var(--color-bg-soft);
}

.marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.marquee-track {
  display: flex;
  width: max-content;
  gap: 16px;
  animation: marquee 38s linear infinite;
}

.marquee:hover .marquee-track {
  animation-play-state: paused;
}

.brand-pill {
  border-radius: 9999px;
  padding: 12px 20px;
  background-color: rgba(255, 255, 255, 0.7);
  border: 1px solid var(--color-line);
  font-weight: 600;
  transition: all 0.3s ease;
}

.brand-pill:hover {
  background-color: #ffffff;
}

.brand-pill.accent-pill {
  border-color: var(--color-gold-200);
  background-color: #ffffff;
}

.brand-pill.accent-pill:hover {
  border-color: var(--color-gold-400);
  background-color: var(--color-gold-50);
}

/* ==========================================
   How It Works Widget
   ========================================== */
.how-it-works-card {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.how-it-works-card:hover {
  border-color: var(--color-gold-300);
  box-shadow: 0 18px 40px -18px rgba(184, 136, 26, 0.4);
}

/* ==========================================
   Service Areas Grid Widget
   ========================================== */
.area-pill-card {
  transition: all 0.2s ease;
}

.area-pill-card:hover {
  border-color: var(--color-gold-300);
  background-color: rgba(240, 217, 133, 0.1);
}

.area-pill-card.featured-pill:hover {
  background-color: var(--color-gold-100);
}

/* ==========================================
   Testimonials Grid Widget
   ========================================== */
.testimonial-card {
  box-shadow: var(--shadow-soft);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.testimonial-card:hover {
  border-color: var(--color-gold-300);
  box-shadow: 0 18px 40px -20px rgba(184, 136, 26, 0.4);
}

/* ==========================================
   FAQ Accordion Widget
   ========================================== */
.faq-item {
  transition: all 0.3s ease;
}

.faq-item.active {
  border-color: var(--color-gold-300);
}

.toggle-icon-wrapper {
  transition: all 0.28s ease;
}

.active-toggle-icon {
  background-color: var(--color-gold-400) !important;
  border-color: var(--color-gold-400) !important;
  color: var(--color-ink) !important;
  transform: rotate(45deg);
}

/* ==========================================
   Final CTA Banner Widget
   ========================================== */
.cta-card-wrapper {
  border: 1px solid var(--color-line-strong);
  box-shadow: 0 30px 80px -20px rgba(15, 18, 30, 0.35);
}

.cta-spinning-bg {
  transform-origin: center;
}

/* ==========================================
   Mobile Sticky Call Widget
   ========================================== */
@media (min-width: 1024px) {
  .mobile-only-sticky {
    display: none !important;
  }
}
