/* ===============================
   Resume Section
   =============================== */
#resume {
    padding-top: 30px;
    /* space above the Resume section */
    padding-bottom: 60px;
    /* space below the Resume section */
    padding-left: 0;
    padding-right: 0;
}

#resume h2 {
    font-family: 'Montserrat', sans-serif;
    color: #2c3e50;
    font-size: 36px;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 30px;
    letter-spacing: 1px;
}

#resume hr {
    border-top: 3px solid #2c3e50;
    width: 170px;
    margin: 15px auto 30px auto;
}

#resume h4 {
    font-family: 'Lato', sans-serif;
    /* match your headings */
    font-size: 18px;
    /* adjust size */
    font-weight: 700;
    color: #2c3e50;
    /* optional color */
    margin-top: 20px;
    /* space from hr */
    margin-bottom: 15px;
    /* space before Summary section */
}

#resume h4.text-primary {
    font-family: 'Montserrat', sans-serif;
    /* same as main heading */
    font-size: 20px;
    /* slightly smaller than h2 */
    font-weight: 505;
    /* semi-bold */
    margin-top: 20px;
    /* space below hr */
    margin-bottom: 40px;
    /* space before Summary section */
}

#resume p,
#resume li {
    font-family: 'Lato', sans-serif;
    font-size: 17px;
    /* current paragraph font size */
    line-height: 1.7;
    color: #555;
}

#resume ul {
    list-style: none;
    padding-left: 0;
    width: 100%;
    margin-top: 10px;
    margin-bottom: 0;
    padding-left: 22px;
    /* space for custom bullet */
    padding-right: 0;
    box-sizing: border-box;
}

#resume ul li {
    margin-bottom: 10px;
    position: relative;
    padding-left: 20px;
    width: 100%;
    padding-right: 0;
}

#resume ul li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #198754;
    font-weight: bold;
    font-size: 18px;
    line-height: 1;
    top: 0.3em;
    font-family: inherit;
}

#resume .section-content {
    max-width: 900px;
    margin: 0 auto;
}

#resume .btn-primary {
    background-color: #007bff;
    border: none;
    padding: 12px 30px;
    font-size: 16px;
    font-weight: 600;
    margin-top: 30px;
    transition: all 0.3s ease;
}

#resume .btn-primary:hover {
    background-color: #0056b3;
    transform: translateY(-2px);
}

/* ===============================
   Full-width resume sections
   =============================== */
.resume-section {
    padding-top: 30px;
    /* space above each subsection */
    padding-bottom: 30px;
    /* space below each subsection */
    padding-left: 0;
    padding-right: 0;
}

.resume-section.bg-light {
    background-color: #f8f9fa;
}

.resume-section.bg-white {
    background-color: #ffffff;
}

/* Unified section headings */
.resume-section h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 24px;
    /* consistent size for all sections */
    text-transform: uppercase;
    color: #2c3e50;
    letter-spacing: 1px;
    margin-top: 0px;
    margin-bottom: 25px;
    border-bottom: 2px solid #e1e1e1;
    padding-bottom: 8px;
}

/* List styling for resume sections */
.resume-section ul {
    list-style-type: none;
    padding-left: 0;
    margin-bottom: 0;
}

.resume-section ul li {
    margin-bottom: 14px;
    padding-left: 22px;
    font-weight: 500;
    color: #444;
    position: relative;
}

.resume-section ul li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0.35em;
    color: #198754;
    font-size: 20px;
    font-weight: bold;
}

/* Only target the company/subtitle under job/education */
.resume-section .d-flex>div>p.text-muted {
    font-size: 16px;
    /* adjust size as needed */
    font-weight: 600;
    /* optional bold */
    margin-bottom: 0;
    /* optional to remove spacing */
    color: #555;
    /* override Bootstrap muted gray if needed */
}

.resume-date {
    font-size: 16px;
    /* control size here */
    color: #555;
    font-weight: 500;
}

#resume .university-name {
    font-size: 17px;
    font-weight: 500;
    color: #6c757d;
}

#resume .education-date {
    font-size: 15px;
    font-weight: 400;
    color: #6c757d;
}


/* Skills section specific tuning */
.resume-section.bg-white ul li {
    line-height: 1.6;
}

/* Better spacing between two columns */
.resume-section .row>div {
    padding-right: 30px;
}

/* Better mobile stacking */
@media (max-width: 768px) {
    #resume {
        padding: 50px 20px;
    }

    #resume h2 {
        font-size: 28px;
    }

    #resume h4 {
        font-size: 18px;
    }

    .resume-section h3 {
        font-size: 20px;
    }

    .resume-section .col-md-6 {
        margin-bottom: 10px;
    }
}

#resume .container {
    max-width: 1250px;
    margin: 0 auto;
    padding-left: 40px;
    padding-right: 40px;
}

.resume-section .mb-5,
.resume-section .mb-4 {
    width: 100%;
}

#contact .footer-inline {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    gap: 0.35rem;
    min-width: 0;
}

#contact .footer-inline-link {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Keep it in one line only on very wide screens */
@media (min-width: 1400px) {
    #contact .footer-inline {
        flex-wrap: nowrap;
        justify-content: flex-start;
        white-space: nowrap;
    }

    #contact .footer-inline-link {
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: normal;
    }
}
