/* General body styles */
body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    line-height: 1.8;
    margin: 0;
    padding: 0;
    background-color: #F4F4F4;
    color: #333333;
    padding-top: 60px; /* Adjust for fixed navbar height */
}

/* Navbar adjustments */
.navbar {
    padding: 0.5rem 1rem;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    background-color: #ffffff; /* White background for consistency */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Slight shadow for visibility */
    display: flex;
    align-items: center;
}

/* Container within Navbar */
.navbar .container-fluid {
    display: flex;
    align-items: center; /* Align items vertically */
    justify-content: space-between;
}

/* Logo and text alignment */
.navbar-brand {
    display: flex;
    align-items: center; /* Align logo and text vertically */
    gap: 10px; /* Space between logo and text */
}

.navbar-brand img.logo {
    height: 50px; /* Increased height for better visibility */
    vertical-align: middle;
}

.navbar-brand .logo-text {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.5;
    vertical-align: middle;
    color: #333333;
}

/* Navbar items alignment */
.navbar-nav {
    margin-left: auto;
    display: flex;
    align-items: center; /* Align menu items vertically with logo */
}

.navbar-nav .nav-item {
    display: flex;
    align-items: center; /* Ensure items are vertically centered */
    margin-left: 1rem; /* Spacing between nav items */
}

.navbar-nav .nav-link {
    color: #333333; /* Text color */
    font-size: 1rem;
    padding: 0.5rem 1rem;
    display: flex;
    align-items: center;
    background-color: transparent; /* Transparent background */
    transition: color 0.3s ease;
}

.navbar-nav .nav-link:hover {
    color: #4A90E2; /* Change color on hover */
}

/* Dropdown menu */
.navbar-nav .dropdown-menu {
    background-color: #ffffff; /* Background color for dropdown */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.dropdown-menu .dropdown-item {
    font-size: 0.95rem;
    padding: 0.5rem 1.5rem;
    text-align: left;
    display: flex;
    align-items: center;
}

.dropdown-menu .dropdown-item:hover {
    background-color: #f4f4f4;
    color: #4A90E2; /* Change text color on hover */
}

.dropdown-menu .dropdown-item img.flag-image {
    height: 20px;
    width: auto;
    margin-right: 0.5rem;
}

/* "Book Now" Button Styling */
.navbar-nav .book-now-btn {
    background-color: #4A90E2; /* Matching blue */
    color: #ffffff; /* White text */
    border-radius: 25px; /* Rounded corners */
    padding: 0.5rem 1rem; /* Adequate padding */
    transition: background-color 0.3s ease, transform 0.3s ease;
    text-decoration: none;
}

.navbar-nav .book-now-btn:hover {
    background-color: #357ABD; /* Darker blue on hover */
    transform: scale(1.05); /* Slight enlargement on hover */
}

/* Navbar Toggler Button */
.navbar-toggler {
    border: none; /* Remove border */
    background-color: transparent; /* Transparent background */
    position: relative;
    z-index: 1100; /* Ensure it's above the navbar content */
}

.navbar-toggler:focus {
    box-shadow: none; /* Remove focus outline */
}

/* Navbar Toggler Icon - Corrected SVG Path */
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* Media queries for responsiveness */


@media (max-width: 1199px) {
    .nav-item {
        margin-left: 0.5rem; /* Reduced from 1rem */
    }
    .nav-link {
        padding: 0.5rem 0.75rem; /* Reduced padding */
    }
    .navbar-nav .book-now-btn {
        padding: 0.4rem 0.75rem;
        font-size: 0.9rem;
    }

    .navbar-nav {
        position: absolute;
        left: 50%;
        top: 56px;
        transform: translateX(-50%);
        width: 80%;
        background-color: #ffffff; /* Same background color */
        padding: 1rem;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        flex-direction: column; /* Stack items vertically */
    }

    .navbar-toggler {
        position: absolute;
        right: 1rem;
    }

}

/* Additional styling for uniform look */
.navbar-collapse {
    background-color: #ffffff; /* Same background color for collapse menu */
}

/* Services Section Styles */
#services .container {
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}

/* Ensuring images are responsive */
.img-fluid {
    max-width: 100%;
    height: auto;
}

/* Responsive Typography */
#services h3, #services p {
    padding-left: 15px;
    padding-right: 15px;
}

@media (max-width: 768px) {
    #services .col-sm-12 {
        margin-bottom: 20px;
    }
}

/* Header styles */
header {
    background-color: #4A90E2;
    color: white;
    padding: 2rem 0;
    text-align: center;
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 60px; /* Adjust for fixed navbar */
}

header h1 {
    margin: 0;
    font-size: 3.5rem;
}

/* Container */
.container {
    width: 90%;
    margin: auto;
    overflow: hidden;
}

/* Showcase styles */
.showcase {
    background: #f0f0f0;
    color: #333333;
    padding: 3rem;
    text-align: center;
    margin: 2rem 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    font-size: 1.5rem;
}

/* CTA section styles */
.cta-section {
    background: linear-gradient(135deg, #4A90E2, #50E3C2);
    color: white;
    padding: 4rem 2rem;
    text-align: center;
    border-radius: 20px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
    margin: 3rem 0;
}

.cta-section h2 {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.cta-section p {
    font-size: 1.5rem;
    margin-bottom: 2rem;
}

.cta-button {
    background-color: #4A90E2; /* Matching blue theme */
    color: #ffffff;
    padding: 0.75rem 1.5rem; /* Adjusted padding */
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.3s ease, transform 0.3s ease;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.cta-button:hover {
    background-color: #357ABD; /* Darker blue on hover */
    transform: scale(1.05);
}

/* Telehealth info section styles */
.telehealth-info {
    background-color: #f9fafb;
    padding-top: 60px;
    padding-bottom: 60px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}

.telehealth-info .container {
    max-width: 800px;
    width: 90%;
    margin: auto;
    overflow: hidden;
}

.telehealth-info h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 1.5rem;
}

.telehealth-info h3 {
    font-size: 1.75rem;
    font-weight: 600;
    color: #555;
    margin-top: 2rem;
}

.telehealth-info .steps-list {
    font-size: 1.125rem;
    color: #666;
    line-height: 1.8;
    padding-left: 20px;
}

.telehealth-info .steps-list li {
    margin-bottom: 15px;
}

@media (max-width: 768px) {
    .telehealth-info h2 {
        font-size: 2rem;
    }

    .telehealth-info h3 {
        font-size: 1.5rem;
    }

    .telehealth-info .steps-list {
        font-size: 1rem;
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* SNP explanation section styles */
#snp-explanation {
    background-color: #f8f9fa;
    padding-top: 60px;
    padding-bottom: 60px;
}

#snp-explanation h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 30px; /* Space below the main heading */
}

#snp-explanation h3 {
    font-size: 1.75rem;
    font-weight: 600;
    color: #555;
    margin-bottom: 20px; /* Space below subheadings */
}

#snp-explanation p {
    font-size: 1.125rem;
    color: #666;
    line-height: 1.8;
    margin-bottom: 20px; /* Space below paragraphs */
}

#snp-explanation .img-fluid {
    max-width: 100%;
    height: auto;
}

#snp-explanation .container {
    max-width: 1200px;
}

#snp-explanation .row {
    margin-top: 40px; /* Space between rows */
}

#snp-explanation .col-lg-6 {
    padding-left: 30px;
    padding-right: 30px; /* Padding to the sides of columns */
}

@media (max-width: 767px) {
    .text-center h1, .text-center h2, .text-center p {
        padding-left: 15px;
        padding-right: 15px;
    }
    
    #snp-explanation h2 {
        font-size: 2rem;
    }

    #snp-explanation h3 {
        font-size: 1.5rem;
    }

    #snp-explanation p {
        font-size: 1rem;
    }

    #snp-explanation .col-lg-6 {
        padding-left: 15px;
        padding-right: 15px; /* Reduced padding for smaller screens */
    }
}

/* Common styles for info boxes */
.info-box {
    background-color: #fff;
    border-radius: 10px;
    padding: 2rem;
    margin-bottom: 1rem;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.info-box h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: #4A90E2;
}

.info-box p {
    margin-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.6;
}

.info-box ul {
    padding-left: 1rem;
}

.info-box ul li {
    margin-bottom: 0.5rem;
    font-size: 1rem;
}

/* Adjustments for better readability and layout */
.concerns-section h2 {
    font-size: 2rem;
    color: #333;
    margin-bottom: 2rem;
}

.concerns-section .info-box {
    margin-bottom: 2rem;
}

/* Responsive adjustments for better UX/UI */
@media (max-width: 576px) {
    .info-box {
        padding: 1rem;
    }

    .info-box h3 {
        font-size: 1.25rem;
    }

    .info-box p, .list-unstyled li {
        font-size: 0.875rem;
    }
}

/* Footer Enhancements */

/* Footer Container */
footer {
    background-color: #333333; /* Dark background for contrast */
    color: white; /* White text for readability */
    padding: 3rem 1rem; /* Adequate padding */
    text-align: center;
    margin-top: 3rem;
}

/* Footer Widgets */
.footer-widget {
    margin-bottom: 2rem;
}

.footer-widget h5 {
    margin-bottom: 1rem;
    font-size: 1.25rem;
    border-bottom: 2px solid #4A90E2; /* Accent line for headings */
    display: inline-block;
    padding-bottom: 0.5rem;
}

.footer-widget p,
.footer-widget ul {
    font-size: 0.95rem;
    line-height: 1.6;
}

.footer-widget ul {
    list-style: none; /* Remove default list styling */
    padding: 0;
}

.footer-widget ul li {
    margin-bottom: 0.5rem;
}

.footer-widget ul li a {
    color: #ffffff; /* White text for links */
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-widget ul li a:hover {
    color: #4A90E2; /* Accent color on hover */
}

/* Newsletter Section */
.footer-widget .newsletter-section {
    background-color: #444444; /* Slightly lighter for differentiation */
    padding: 1rem;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow */
}

.footer-widget .newsletter-section h5 {
    margin-bottom: 0.5rem;
    font-size: 1.25rem;
}

.footer-widget .newsletter-form {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

.footer-widget .newsletter-form .form-control {
    padding: 0.5rem;
    border: none;
    border-radius: 25px;
    width: 70%;
    max-width: 300px;
}

.footer-widget .newsletter-form .cta-button {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    border-radius: 25px;
    background-color: #4A90E2; /* Matching blue */
    color: #ffffff; /* White text */
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.footer-widget .newsletter-form .cta-button:hover {
    background-color: #357ABD; /* Darker blue on hover */
    transform: scale(1.05); /* Slight enlargement on hover */
}

/* Footer Social Icons */
.footer-widget .footer-social {
    margin-top: 1rem;
}

.footer-widget .footer-social a {
    color: white;
    margin-right: 1rem;
    text-decoration: none;
    transition: color 0.3s ease;
    font-size: 1.2rem; /* Increased size for better visibility */
}

.footer-widget .footer-social a:hover {
    color: #4A90E2; /* Accent color on hover */
}

/* Footer Bottom Section */
.footer-bottom {
    border-top: 1px solid #444444;
    padding-top: 1rem;
    margin-top: 2rem;
    text-align: center;
}

.footer-bottom ul {
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.footer-bottom ul li {
    margin: 0 1rem;
}

.footer-bottom ul li a {
    color: white;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-bottom ul li a:hover {
    color: #4A90E2; /* Accent color on hover */
}

.footer-bottom p {
    margin-top: 1rem;
    font-size: 0.9rem;
}

/* Responsive Footer Adjustments */
@media (max-width: 768px) {
    footer .container {
        flex-direction: column;
        align-items: center;
    }

    footer .row {
        flex-direction: column;
    }

    footer .footer-widget {
        margin: 1rem 0;
    }

    footer .footer-bottom ul {
        flex-direction: column;
    }

    footer .footer-bottom ul li {
        margin: 0.5rem 0;
    }
}

/* Carousel item styles */
.carousel-inner .carousel-item {
    display: none; /* Hide all items initially */
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.carousel-inner .carousel-item.active {
    display: flex; /* Display only the active item */
}

.carousel-inner .carousel-item img {
    border-radius: 15px; /* Rounded edges */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.card {
    border: none;
    border-radius: 15px; /* Rounded edges */
    overflow: hidden;
}

.card-img-top {
    border-radius: 15px 15px 0 0; /* Rounded top edges */
}

.carousel-control-prev, .carousel-control-next {
    width: 5%;
}

/* Gap between carousel items */
.carousel-item .row {
    gap: 1rem;
}

/* Full width on small screens */
@media (max-width: 768px) {
    .carousel-item .row {
        flex-direction: column;
        gap: 1rem;
    }

    .carousel-item .col-md-4 {
        width: 100%;
    }

    .carousel-item .col-md-4 {
        margin-bottom: 1rem; /* Gap between stacked items */
    }
}

/* Three images in a row with gaps on larger screens */
@media (min-width: 769px) {
    .carousel-item .col-md-4 {
        flex: 0 0 calc(33.333% - 1rem);
        max-width: calc(33.333% - 1rem);
    }

    .carousel-item .col-md-4:nth-child(3n+1) {
        margin-right: 0;
    }
}

/* Typography */
h1, h2, h3 {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* Newsletter section styles */
.newsletter-section {
    padding: 1rem;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin: 2rem 0;
    text-align: center;
}

.newsletter-section h5 {
    margin-bottom: 0.5rem;
    font-size: 1.25rem; /* Adjust the font size */
}

.newsletter-form {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem; /* Adjust the gap between input and button */
}

.newsletter-form .form-control {
    width: auto;
    flex-grow: 1;
    padding: 0.5rem; /* Adjust the padding */
    font-size: 0.875rem; /* Adjust the font size */
}

.newsletter-form .cta-button {
    padding: 0.5rem 1rem; /* Adjust the padding */
    font-size: 0.875rem; /* Adjust the font size */
    border-radius: 25px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Responsive adjustments for mobile view */
@media (max-width: 576px) {
    .newsletter-form {
        flex-direction: column;
        gap: 0.5rem;
    }

    .newsletter-form .form-control,
    .newsletter-form .cta-button {
        width: 100%;
        text-align: center;
    }
}

/* FAQ Section Styles */
.faq-section {
    padding: 3rem 1rem;
    background-color: #ffffff;
}

.faq-section h2 {
    font-size: 2rem;
    color: #333;
    margin-bottom: 2rem;
}

.faq-section .faq-item {
    margin-bottom: 1.5rem;
}

.faq-section .faq-item h3 {
    font-size: 1.25rem;
    color: #4A90E2;
    margin-bottom: 0.5rem;
}

.faq-section .faq-item p {
    font-size: 1rem;
    color: #666;
    line-height: 1.6;
}

/* Additional styles for better layout */
.snp-carousel {
    background-color: #ffffff;
}

.snp-carousel h2 {
    font-size: 2rem;
    margin-bottom: 2rem;
}

.snp-carousel .carousel-item .card-text {
    font-size: 0.875rem;
}

.snp-carousel .carousel-item .card-text a {
    color: #4A90E2;
    text-decoration: none;
}

.snp-carousel .carousel-item .card-text a:hover {
    text-decoration: underline;
}

/* Responsive adjustments for headers */
@media (max-width: 576px) {
    header h1 {
        font-size: 2.5rem;
    }

    .showcase h2 {
        font-size: 1.5rem;
    }

    .showcase p {
        font-size: 1rem;
    }
}
