body {
  transition: background-color 0.5s cubic-bezier(0.25, 1, 0.5, 1), color 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

body.no-transition,
body.no-transition * {
  transition: none !important;
}

body.light-theme {
  --color-bg: #f5f5f7;
  --color-text: rgba(0, 0, 0, 0.75);
  --color-text-muted: rgba(0, 0, 0, 0.45);
  --color-border: rgba(0, 0, 0, 0.08);
  --color-surface: #ffffff;
  --color-accent-start: #000000;
  --color-accent-end: #1c1c1e;

  background-color: var(--color-bg) !important;
  color: var(--color-text) !important;
}

body.light-theme #hero {
  background: linear-gradient(rgba(245, 245, 247, 0.85), rgba(245, 245, 247, 0.98)), url('https://images.unsplash.com/photo-1451187580459-43490279c0fa?q=80&w=2072&auto=format&fit=crop') center / cover no-repeat !important;
}

body.light-theme #hero::before {
  filter: invert(0.9) brightness(1.2) contrast(1.2) opacity(0.08) !important;
}

body.light-theme #hero .section-title {
  color: rgba(0, 0, 0, 0.85) !important;
}

body.light-theme #hero .section-subtitle {
  color: rgba(0, 0, 0, 0.6) !important;
}

body.light-theme #hero .btn-outline {
  border-color: rgba(0, 0, 0, 0.15) !important;
  color: rgba(0, 0, 0, 0.75) !important;
}

body.light-theme #hero .btn-outline:hover {
  background-color: rgba(0, 0, 0, 0.8) !important;
  color: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.8) !important;
}

body.light-theme #hero .btn-primary {
  background-color: rgba(0, 0, 0, 0.8) !important;
  border-color: rgba(0, 0, 0, 0.8) !important;
  color: #ffffff !important;
}

body.light-theme #hero .btn-primary:hover {
  background-color: transparent !important;
  color: rgba(0, 0, 0, 0.8) !important;
}

body.light-theme .top-bar,
body.light-theme header,
body.light-theme .brand-item,
body.light-theme .service-card,
body.light-theme .process-step,
body.light-theme .pricing-card,
body.light-theme .chatbot-window,
body.light-theme .service-modal-content {
  background-color: var(--color-surface);
  border-color: var(--color-border);
}

body.light-theme header.scrolled {
  background-color: rgba(245, 245, 247, 0.85);
}

body.light-theme .brand-item {
  color: #6e6e73;
}

body.light-theme .chatbot-toggle {
  background-color: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-border);
}

body.light-theme .chatbot-msg.bot {
  background-color: #f0f0f5;
  color: #1c1c1e;
}

body.light-theme .chatbot-msg.user {
  background-color: #121212;
  color: #ffffff;
}

body.light-theme .chatbot-back-btn {
  border-color: var(--color-border);
  color: var(--color-text-muted);
}

body.light-theme .chatbot-back-btn:hover {
  color: var(--color-text);
  border-color: var(--color-text);
}

body.light-theme .chatbot-input-area {
  background-color: #f5f5f7;
  border-top-color: var(--color-border);
}

body.light-theme .chatbot-header {
  background-color: var(--color-surface) !important;
  border-bottom: 1px solid var(--color-border) !important;
}

body.light-theme .chatbot-header h4 {
  color: rgba(0, 0, 0, 0.75) !important;
}

body.light-theme .chatbot-avatar {
  background-color: rgba(0, 0, 0, 0.8) !important;
  color: #ffffff !important;
}

body.light-theme .chatbot-close {
  color: rgba(0, 0, 0, 0.45) !important;
}

body.light-theme .chatbot-close:hover {
  color: rgba(0, 0, 0, 0.75) !important;
}

body.light-theme .chatbot-option-btn {
  background-color: #f0f0f5 !important;
  color: rgba(0, 0, 0, 0.75) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

body.light-theme .chatbot-option-btn:hover {
  background-color: rgba(0, 0, 0, 0.8) !important;
  color: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.8) !important;
}

body.light-theme .chatbot-typing {
  background-color: #f0f0f5 !important;
}

body.light-theme .chatbot-typing span {
  background-color: rgba(0, 0, 0, 0.3) !important;
}

body.light-theme .scroll-indicator svg {
  fill: #000000;
}

body.light-theme .process-btn {
  background-color: #000000;
  color: #ffffff;
}

body.light-theme .process-btn:hover {
  background-color: #333333;
}

body.light-theme .pricing-card.popular {
  border-color: #000000;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

body.light-theme .pricing-card.popular .popular-badge {
  background-color: #000000;
  color: #ffffff;
}

body.light-theme .service-modal {
  background-color: rgba(0, 0, 0, 0.4);
}

body.light-theme .custom-cursor {
  background-color: #000000;
}

body.light-theme .custom-cursor-follower {
  border-color: rgba(0, 0, 0, 0.4);
}

body.light-theme .custom-cursor.hovered {
  background-color: #000000;
}

body.light-theme .custom-cursor-follower.hovered {
  border-color: #000000;
  background-color: rgba(0, 0, 0, 0.08);
}

body.light-theme .custom-cursor-follower.active {
  background-color: rgba(0, 0, 0, 0.15);
}

body.light-theme .section-title {
  color: var(--color-text);
}

body.light-theme #processes,
body.light-theme .bg-darker {
  background-color: var(--color-bg) !important;
  background-image: none !important;
}

body.light-theme #processes .section-subtitle {
  margin-bottom: 60px;
}

body.light-theme .processes-container {
  margin-top: 40px;
  min-height: auto;
  gap: 60px;
}

body.light-theme .process-step {
  height: 180px;
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 30px 20px;
  justify-content: center;
  opacity: 0.5;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

body.light-theme .process-step.active {
  opacity: 1;
  border-color: #000000;
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06);
}

body.light-theme .step-image {
  display: none !important;
}

body.light-theme .process-step .step-number {
  opacity: 0.4;
  text-shadow: none;
  font-size: 2.2rem;
}

body.light-theme .process-step.active .step-number {
  opacity: 1;
  color: #000000;
}

body.light-theme .process-step .step-name {
  text-shadow: none;
  color: var(--color-text);
  font-size: 0.8rem;
}

body.light-theme .detail-content h3 {
  color: #000000;
}

body.light-theme .process-next-btn {
  background: rgba(0, 0, 0, 0.02);
  border: 1px solid var(--color-border);
  color: #000000;
}

body.light-theme .process-next-btn:hover {
  background: #000000;
  color: #ffffff;
  border-color: #000000;
}

body.light-theme .expertise-badge {
  color: var(--color-text);
}

body.light-theme .badge-dot {
  background-color: var(--color-text);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

body.light-theme .expertise-list li {
  color: var(--color-text);
}

body.light-theme .expertise-list i {
  color: var(--color-text);
}

body.light-theme .expertise-cta-card {
  background: var(--color-surface);
  border-color: var(--color-border);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}

body.light-theme .expertise-cta-card h4,
body.light-theme .expertise-cta-card .btn-text {
  color: var(--color-text);
}

body.light-theme #pricing {
  background-color: var(--color-bg);
  background-image: none;
}

body.light-theme .pricing-card {
  background-color: var(--color-surface) !important;
  border-color: var(--color-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02) !important;
}

body.light-theme .pricing-card:hover {
  border-color: rgba(0, 0, 0, 0.15) !important;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06) !important;
}

body.light-theme .pricing-card.featured {
  background-color: var(--color-surface) !important;
  border-color: rgba(0, 0, 0, 0.8) !important;
}

body.light-theme .pricing-card.featured::before {
  background-color: rgba(0, 0, 0, 0.8) !important;
  color: #ffffff !important;
}

body.light-theme .pricing-features li {
  color: rgba(0, 0, 0, 0.65) !important;
}

body.light-theme .pricing-features li i {
  color: rgba(0, 0, 0, 0.75) !important;
}

body.light-theme .pricing-card .btn-outline {
  border-color: rgba(0, 0, 0, 0.15) !important;
  color: rgba(0, 0, 0, 0.75) !important;
}

body.light-theme .pricing-card .btn-outline:hover {
  background-color: rgba(0, 0, 0, 0.8) !important;
  color: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.8) !important;
}

body.light-theme .pricing-card.featured .btn-primary {
  background-color: rgba(0, 0, 0, 0.8) !important;
  border-color: rgba(0, 0, 0, 0.8) !important;
  color: #ffffff !important;
}

body.light-theme .pricing-card.featured .btn-primary:hover {
  background-color: transparent !important;
  color: rgba(0, 0, 0, 0.8) !important;
}

body.light-theme .loader-wrapper {
  background-color: var(--color-bg) !important;
}

body.light-theme .loader-logo,
body.light-theme .loader-status,
body.light-theme .loader-percentage,
body.light-theme .loader-info {
  color: rgba(0, 0, 0, 0.75) !important;
}

body.light-theme .loader-bar-container {
  background-color: rgba(0, 0, 0, 0.08) !important;
}

body.light-theme .loader-bar {
  background-color: rgba(0, 0, 0, 0.8) !important;
}