/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
 
:root {
    --codon-dark-purple: #111827; 
    --codon-light-purple: #7B8AAB;
    --codon-lighter-purple: #EDEEF7; 
    --codon-active-blue: #757FED; 
    --codon-accent-light: #ffffff;
    --codon-text-dark: #2C275A;
    --codon-text-light: #f8f9fa;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--codon-accent-light); 
}

a {
    color: var(--codon-active-blue);
}

a:hover {
    color: #6162d4;
}

/* --- Navbar Styling --- */
.navbar-custom {
    background-color: var(--codon-dark-purple);
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.navbar-nav .nav-link {
    color: var(--codon-text-light); 
    transition: color 0.2s, border-bottom 0.2s;
}

/* Active Nav Item Styling */
.navbar-nav .nav-link.active {
    color: var(--codon-active-blue) !important; 
    border-bottom: 4px solid var(--codon-active-blue); /* Add 4px line underneath */
    padding-bottom: 4px; /* Adjust padding to make space for the border */
}

/* Ensure standard nav links don't have bottom padding/border when not active */
.navbar-nav .nav-link:not(.active) {
    padding-bottom: 8px; /* Maintain height alignment with active link */
}

/* Action Button Styling */
.btn-purple {
    background-color: var(--codon-active-blue); 
    border-color: var(--codon-active-blue);
    color: white;
    transition: all 0.2s;
}

.btn-purple:hover {
    background-color: #6162d4; /* Slightly darker hover state */
    border-color: #6162d4;
    color: white;
}

/* Ensures the buttons are spaced correctly on desktop */
@media (min-width: 992px) {
    .navbar-nav .nav-btn-login {
        margin-right: 0.5rem !important;
    }
}

/* Collapsed menu styling for mobile */
@media (max-width: 991px) {
    .navbar-collapse {
        padding-top: 1rem;
    }
  
    /* Make the active indicator only show as a left border in mobile */
    .navbar-nav .nav-link.active {
        border-bottom: none;
        border-left: 4px solid var(--codon-active-blue);
        padding-left: 12px;
        padding-bottom: 8px;
    }
  
    .navbar-nav .nav-link:not(.active) {
        padding-left: 16px;
    }
}

@media (max-width: 575px) {
    .navbar-brand img {
        max-height: 45px;
        width: auto;
    }
}

/* --- Hero Section Styling --- */
.hero-section {
    background: url(/bg.png);
    background-repeat: no-repeat;
    background-position: top;
    z-index: 0;
}

@media (max-width: 576px) {
    .hero-section {
        padding: 1em 0 1em;
    }
}

@media (min-width: 768px) {
    .hero-section {
        padding: 3rem 0 3rem;
    }
}

.hero-section-arun {
    background: url(/bg.png);
    background-repeat: no-repeat;
    background-position: top;
    z-index: 0;
}

.hero-left {
    background-image: url(/Arun-visual.png);
    background-position: center;
    background-size: contain; 
    background-repeat: no-repeat;
    position: relative;
    height: 60vh;
}

@media (min-width: 1200px) {
    .hero-left {
        padding: 2rem;
    }
}

.hero-text {
    position: relative;
    top: 5%;
    bottom: 0;
}

.hero-text .btn,
.hero-text a {
    width: 270px;
}

@media (max-width: 270px) {
    .hero-text .btn,
    .hero-text a {
        width: 100%;
    }
}

.hero-text-arun {
    position: relative;
    top: 30%;
    bottom: 0;
}

.hero-img {
    max-width: 40%;
    position: relative;
}

.hero-img-arun {
    max-width: 25%;
    position: relative;
}

@media (max-width: 992px) {
    .hero-img-arun {
        max-width: 40%;
    }
}

.hero-subtitle,
.hero-subtitle-arun {
    font-size: clamp(20px, 2.5vw, 26px);
    font-weight: 600;
    line-height: 1.1;
}

@media (max-width: 576px) {
    .hero-img {
        margin-top: 1rem;
    }
}

.hero-subtext {
    font-size: clamp(18px, 2.3vw, 20px);
}

.hero-subtext-arun {
    font-size: clamp(18px, 2.3vw, 24px);
}

.hero-content {
    z-index: 1;
    position: relative;
}

.img-responsive-width-arun {
    width: 75%;
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .img-responsive-width-arun {
        width: 50%;
    }
}

@media (min-width: 768px) and (max-width: 992px) {
    .img-responsive-width-arun {
        width: 40%;
    }
}

/* Join the waiting list form */
#forms-section {
    scroll-margin-top: 90px; /* scrolling offset for header */
}

.forms-section {
    padding: 5rem 0 5rem;
    background-color: var(--codon-lighter-purple);
    box-shadow: inset 0 3px 6px rgba(43, 39, 59, 0.02);
}

.email-form-input {
    border-radius: 50px 0 0 50px;
    border: 1px solid #CACFEB;
    padding: 0.6rem 1rem;
}

.email-form-button {
    border-radius: 0 50px 50px 0;
    background-color: var(--codon-active-blue);
    color: white;
    padding: 0.5rem 1.5rem;
    border: none;
}

.email-form-button:hover {
    background-color: #6162d4; 
    border-color: #6162d4;
    color: white;
}

@media (max-width: 390px) {
    .email-form-input {
        border-radius: 50px;
        width: 100% !important;
        margin-bottom: 1rem;
    }
    
    .email-form-button {
        border-radius: 50px;
        width: 170px;
    }
}

/* testimonial column */
.testimonial-col {
    display: flex;
    align-items: center; /* Vertically center content */
    justify-content: flex-end; /* Push testimonial to the right on large screens */
}

@media (max-width: 992px) {
    .testimonial-col {
        justify-content: center;
        margin-top: 6rem;
    }
}

.testimonial-box {
    padding: 1.5rem;
    font-size: 0.95rem;
    line-height: 1.6;
    max-width: 400px; /* Constrain width */
    background-image: url(/quote.svg);
    background-repeat: no-repeat;
}


.testimonial-box p:first-child {
    font-style: italic;
    font-size: clamp(0.20rem, 5vw, 1.50rem); 
    line-height: 1.3;
}

/* --- Testimonial Footer Styling --- */
.testimonial-box footer {
    display: flex;
    align-items: center;
    gap: 0.75rem; /* Space between icon and text */
    line-height: 1.3;
    font-size: .875em;
    color: #6c757d;
}

.testimonial-icon img {
    width: 52px;
    height: 52px;
    min-width: 52px; /* Prevent shrinking */
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0; 
}

/* --- News Card Styling --- */

.news-cards-section {
    padding-top: 3rem;
    padding-bottom: 5rem;
}

.news-card {
    background-color: var(--codon-lighter-purple);
    border-radius: 1rem;
    padding: 3rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    transition: all 0.3s;
    border: none;
}

.news-card:hover {
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
    transform: translateY(-3px);
}

.news-card-title {
    font-weight: 600;
    color: var(--codon-dark-purple);
}

.news-card-subtitle {
    font-weight: 600;
    color: var(--bs-secondary-rgb);
}

/* --- Features Section --- */

.features-section {
    padding: 0 4rem 4rem 4rem;
}

@media (max-width: 768px) {
    .features-section {
        padding: 0 0rem 4rem 0rem;
    }
}

.arun-intro {
    padding-bottom: 4rem;
}

.arun-intro-title {
    font-weight: 600;
    color: var(--codon-active-blue);
}

.features-divider {
    color: var(--codon-active-blue);
    margin-bottom: 4rem;
}

.single-feature-section {
    padding-top: 4rem;
    padding-bottom: 3rem;
    display: flex;
    align-items: center; /* Vertically center content */
    justify-content: center;
}

.single-feature-img-1,
.single-feature-img-2 {
    max-width: 100%;
    height: auto;
    padding: 1.5rem 0 1.5rem 0;
}

@media (min-width: 992px) {
    .single-feature-img-1,
    .single-feature-img-2 {
        width: 70%;
    }
}

.single-feature-img-1 {
    width: 70%;
    max-width: 300px;
}

.single-feature-img-2 {
    width: 50%;
    max-width: 200px;
}

.singe-feature-section-2 {
    background-color: var(--codon-lighter-purple);
}

/* --- Larger Quote Section ---*/

.quote-section {
    padding: 3rem 4rem 3rem 4rem;
    background-color: var(--codon-lighter-purple);
}

@media (max-width: 768px) {
    .quote-section {
        padding: 0
    }
}

.quote-lg {
    padding: 3rem 1rem 3rem 1rem;
    display: flex;
    align-items: center; 
    justify-content: center;
}

/* --- News section Styling --- */

.news-section {
    padding: 4rem 0 3rem;
    background: url(/bg.png);
    background-repeat: no-repeat;
    background-position: top;
    z-index: 0;
}

@media (max-width: 1200px) {
    .news-section {
        padding: 0 0 3rem;
    }

    /* Turn off the flexbox grid layout */
    .news-section .row.align-items-stretch {
        display: block !important;
    }

    .news-section .col-lg-4,
    .news-section .col-lg-8 {
        display: block;
        width: 100%;
    }

    /* Float the image inside its column */
    .news-section .col-lg-4 img {
        float: left;
        margin-right: 1rem;
        margin-bottom: 0.5rem;
        max-width: 45%;
        height: auto;
    }
}

.news-content {
    z-index: 1;
    position: relative;
}

.news-item {
    border-bottom: 1px solid var(--codon-lighter-purple);
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.news-item:last-child {
    border-bottom: none; 
}

.news-section img {
    width: 100%;
}

@media (max-width: 1200px) {
    .news-section img {
        float: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 1.5rem !important;
        display: block;
        max-width: 200px,
    }
}

/* --- News page Styling --- */

.news-page {
    padding: 4rem 0 3rem;
    background: url(/bg.png);
    background-repeat: no-repeat;
    background-position: top;
    z-index: 0;
}

@media (max-width: 992px) {
    .news-page {
        padding: 0 0 3rem;
    }

    /* Turn off the flexbox grid layout */
    .news-page .row.align-items-stretch {
        display: block !important;
    }

    .news-page .col-lg-4,
    .news-page .col-lg-8 {
        display: block;
        width: 100%;
    }

    /* Float the image inside its column */
    .news-page .col-lg-4 img {
        float: left;
        margin-right: 1rem;
        margin-bottom: 0.5rem;
        max-width: 45%;
        height: auto;
    }
}

@media (min-width: 992px) {
    .news-page img {
        max-width: 550px;
    }
}

.news-page-title {
    font-weight: 600;
    color: var(--bs-secondary-rgb);
}

/* Markdown content styling */
.markdown-content,
.markdown-content p,
.markdown-content li,
.markdown-content span {
    color: #6c757d !important;  /* same as text-secondary */
}

/* --- About page Styling --- */

.about-section {
    padding: 4rem 0 3rem;
    background: url(/bg.png);
    background-repeat: no-repeat;
    background-position: top;
    z-index: 0;
}

@media (max-width: 992px) {
    .about-section {
        padding: 0 0 3rem;
    }

    /* Turn off the flexbox grid layout */
    .about-section .row.align-items-stretch {
        display: block !important;
    }

    .about-section .col-lg-4,
    .about-section .col-lg-8 {
        display: block;
        width: 100%;
    }

    /* Float the image inside its column */
    .about-section .col-lg-4 img {
        float: left;
        margin-right: 1rem;
        margin-bottom: 0.5rem;
        max-width: 45%;
        height: auto;
    }
}

.about-content {
    z-index: 1;
    position: relative;
}

.about-item {
    border-bottom: 1px solid var(--codon-lighter-purple);
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.about-item:last-child {
    border-bottom: none; 
}

.about-section img {
    max-width: 350px;
    width: 100%;
}

@media (max-width: 992px) {
    .about-section img {
        max-width: 280px;
    }
}

@media (max-width: 768px) {
    .about-section img {
        float: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 1.5rem !important;
        display: block;
        max-width: 200px,
    }
}

/* --- Footer Styling --- */

#careers {
    background-color: var(--codon-dark-purple);
    color: var(--codon-light-purple);
}

.background-footer {
    background-color: #1F2937;
    color: var(--codon-light-purple);
}

.background-border {
    border-bottom: 1px solid var(--codon-light-purple);
}

.footer-custom {
    background-color: #1F2937;
    color: var(--codon-light-purple);
    padding: 2rem 0;
}

.footer-link {
    display: inline-block;
    color: var(--codon-light-purple);
    opacity: 0.8;
    text-decoration: none;
    transition: opacity 0.2s;
}

.footer-link:hover {
    opacity: 1;
}
