/*
	Theme Name: Hello Elementor
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 3.4.7
	Stable tag: 3.4.7
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-elementor
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/
p{margin: 0px;}

:root {
  --osw-teal: #24b4a5;
  --osw-blue: #4489fe;
  --osw-navy: #182034;
  --osw-bg: rgba(241, 249, 248, 0.9); /* Light Cyan Tint from Laborex */
}

.osw-header {
  padding: 0 20px;
}

.osw-navbar {
  max-width: 1200px;
  margin: 0 auto;
  background: var(--osw-bg);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 15px 10px 40px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.osw-logo img {
  height: 100px !important;
}

.osw-nav-links {
  display: flex;
  list-style: none;
  gap: 40px;
}

.osw-nav-links a {
  text-decoration: none;
  color: var(--osw-navy);
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 17px;
  transition: color 0.3s;
}

.osw-nav-links a:hover {
  color: var(--osw-teal);
}

/* Reusing your OSW Primary Button Styles */
.osw-button.primary {
  display: inline-flex;
  align-items: center;
  height: 50px;
  padding: 0 6px 0 24px;
  border-radius: 100px;
  background: linear-gradient(90deg, var(--osw-blue) 0%, var(--osw-teal) 100%);
  color: #fff;
  text-decoration: none;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  transition: transform 0.2s;
}

.osw-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  background: #fff;
  border-radius: 50%;
  margin-left: 15px;
  color: var(--osw-teal);
}

.osw-icon svg { width: 18px; height: 18px; }

/* Mobile Responsive Logic */
.osw-mobile-menu {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 10px;
}

.osw-mobile-menu span {
  width: 25px;
  height: 2px;
  background: var(--osw-navy);
  transition: 0.3s;
}

@media (max-width: 991px) {
  .osw-nav-links {
    display: none; /* Hide for mobile JS toggle */
    position: absolute;
    top: 80px;
    left: 20px;
    right: 20px;
    background: #fff;
    flex-direction: column;
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    text-align: center;
  }
  
  .osw-nav-links.active { display: flex; }
  
  .osw-mobile-menu { display: flex; }
  
  .osw-nav-cta { display: none; } /* Hide button inside bar on small mobile */
}

    .osw-button.primary {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  height: 58px;
  padding: 0 8px 0 32px;
  border-radius: 100px;
  background: linear-gradient(90deg, #4489fe 0%, #24b4a5 100%);
  color: #ffffff;
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 500;
  box-shadow: 0 10px 20px rgba(36, 180, 165, 0.3);
  transition: all 0.3s ease;
}

.osw-button.primary .osw-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background-color: #ffffff;
  border-radius: 50%;
  margin-left: 20px;
  color: #24b4a5; /* Matches the teal end of the gradient */
}

.osw-button.primary .osw-icon svg {
  width: 20px;
  height: 20px;
}

.osw-button.primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 25px rgba(36, 180, 165, 0.45);
}
.osw-button.secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  height: 58px;
  padding: 0 40px;
  border-radius: 100px;
  background: transparent;
  border: 2px solid #e2e8f0; /* Soft clinical border */
  color: #182034; /* Laborex Primary Navy */
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 500;
  transition: all 0.3s ease;
}

.osw-button.secondary:hover {
  background-color: #f8fafc;
  border-color: #24b4a5; /* Changes to Teal on hover */
  color: #24b4a5;
  transform: translateY(-2px);
}

    .osw-button {
  /* Layout & Alignment */
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  
  /* Dimensions */
  height: 50px;
  padding: 0 8px 0 30px; /* Left padding larger for text balance */
  border-radius: 100px; /* Perfect pill shape */
  
  /* Background: Blue (#4489fe) to Laborex Teal (#24b4a5) */
  background: linear-gradient(90deg, #4489fe 0%, #24b4a5 100%);
  
  /* Typography */
  color: #ffffff;
  font-family: 'Inter', 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.2px;
  
  /* Depth & Shadow */
  box-shadow: 0 10px 20px rgba(36, 180, 165, 0.3);
  
  /* Smooth Interaction */
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}

.osw-icon {
  /* Layout */
  display: flex;
  align-items: center;
  justify-content: center;
  
  /* Dimensions & Circle Style */
  width: 42px;
  height: 42px;
  background-color: #ffffff;
  border-radius: 50%;
  margin-left: 20px; /* Space between text and circle */
  
  /* Icon Color - Matches the starting gradient blue */
  color: #4489fe;
}

.osw-icon svg {
  width: 20px;
  height: 20px;
}

/* Hover State */
.osw-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 25px rgba(36, 180, 165, 0.45);
}

/* Active State */
.osw-button:active {
  transform: translateY(0);
}
/* Mobile Responsive Adjustments */
@media (max-width: 767px) {
  /* Adjusting the Primary Button */
  .osw-button.primary {
    height: 48px; /* Slightly shorter for mobile */
    padding: 0 6px 0 20px; /* Reduced side padding */
    font-size: 16px; /* Smaller text for better fit */
  }

  .osw-button.primary .osw-icon {
    width: 36px; /* Scaled down icon container */
    height: 36px;
    margin-left: 12px;
  }

  .osw-button.primary .osw-icon svg {
    width: 16px; /* Scaled down arrow icon */
    height: 16px;
  }

  /* Adjusting the Secondary Button */
  .osw-button.secondary {
    height: 48px;
    padding: 0 25px; /* Reduced horizontal padding */
    font-size: 16px;
  }
}

/* Extra Small Screens (Phones under 360px) */
@media (max-width: 360px) {
  .osw-button.primary .osw-text,
  .osw-button.secondary .osw-text {
    font-size: 14px;
  }
  
  .osw-button.primary {
    padding-left: 15px;
  }
}