/* Reset and base styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    line-height: 1.4;
    color: #333;
    background-color: #f5f5f5;
}

/* Page layout */
.resume-container {
    max-width: 8.5in;
    margin: 0 auto;
    background-color: white;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.page {
    width: 8.5in;
    min-height: 11in;
    padding: 0.5in;
    page-break-after: always;
    position: relative;
}

/* Header section */
.header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.3in;
    padding-bottom: 0.2in;
    border-bottom: 2px solid #4a90e2;
}

.header-left {
    display: flex;
    align-items: center;
    gap: 0.2in;
}

.profile-image {
    width: 0.8in;
    height: 0.8in;
    background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.logo-placeholder {
    width: 0.4in;
    height: 0.4in;
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    position: relative;
}

.logo-placeholder::before {
    content: '';
    position: absolute;
    width: 0.15in;
    height: 0.15in;
    background: white;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.name-section h1 {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    margin-bottom: 2px;
}

.name-section h2 {
    font-size: 14px;
    color: #4a90e2;
    font-weight: normal;
}

.contact-info {
    text-align: right;
    font-size: 10px;
}

.contact-item {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    margin-bottom: 2px;
}

.contact-icon {
    background-color: #4a90e2;
    color: white;
    padding: 2px 4px;
    border-radius: 2px;
    font-size: 8px;
}

/* Summary section */
.summary {
    margin-bottom: 0.3in;
    font-size: 10px;
    line-height: 1.5;
    text-align: justify;
}

/* Main content layout */
.main-content {
    display: flex;
    gap: 0.3in;
    margin-bottom: 0.3in;
}

.left-column {
    flex: 1;
}

.right-column {
    flex: 1;
}

/* Section headers */
h3 {
    font-size: 12px;
    font-weight: bold;
    color: #333;
    margin-bottom: 0.15in;
    padding-bottom: 2px;
    border-bottom: 2px solid #7cb342;
    position: relative;
}

h3::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 20px;
    height: 2px;
    background-color: #7cb342;
}

/* Work Experience */
.work-experience {
    margin-bottom: 0.3in;
}

.job {
    margin-bottom: 0.25in;
}

.job-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 4px;
}

.job-header h4 {
    font-size: 11px;
    font-weight: bold;
    color: #333;
}

.company-location {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    font-size: 10px;
    color: #666;
}

.company-note {
    font-size: 9px;
    color: #999;
    font-style: italic;
}

.job-duration {
    font-size: 10px;
    color: #666;
    margin-bottom: 4px;
}

.job-subtitle {
    font-size: 10px;
    color: #666;
    margin-bottom: 8px;
    font-style: italic;
}

.job-details {
    margin-left: 0.1in;
}

.detail-item {
    margin-bottom: 8px;
}

.detail-label {
    font-size: 10px;
    font-weight: bold;
    color: #333;
    display: inline-block;
    margin-right: 4px;
}

.detail-content {
    display: inline;
}

.detail-content p {
    font-size: 10px;
    line-height: 1.4;
    margin-bottom: 6px;
    text-align: justify;
}

/* Skills section */
.skills {
    margin-bottom: 0.3in;
}

.skill-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.skill-tag {
    background-color: #7cb342;
    color: white;
    padding: 3px 6px;
    border-radius: 3px;
    font-size: 9px;
    font-weight: normal;
}

/* Highlights section */
.highlights {
    margin-bottom: 0.3in;
}

.highlight-item {
    margin-bottom: 0.15in;
}

.highlight-item h4 {
    font-size: 10px;
    font-weight: bold;
    color: #333;
    margin-bottom: 4px;
}

.highlight-item p {
    font-size: 10px;
    line-height: 1.3;
    text-align: justify;
}

/* Achievements section */
.achievements {
    margin-bottom: 0.3in;
}

.achievement-item {
    margin-bottom: 0.15in;
}

.achievement-item h4 {
    font-size: 10px;
    font-weight: bold;
    color: #333;
    margin-bottom: 4px;
}

.achievement-item p {
    font-size: 10px;
    line-height: 1.3;
    text-align: justify;
}

/* Technical Skills */
.technical-skills {
    margin-bottom: 0.3in;
}

.skill-category {
    margin-bottom: 0.15in;
}

.skill-category h4 {
    font-size: 10px;
    font-weight: bold;
    color: #333;
    margin-bottom: 4px;
}

.skill-category p {
    font-size: 10px;
    line-height: 1.3;
    text-align: justify;
}

/* Training section */
.training {
    margin-bottom: 0.3in;
}

.training-category {
    margin-bottom: 0.15in;
}

.training-category h4 {
    font-size: 10px;
    font-weight: bold;
    color: #333;
    margin-bottom: 4px;
}

.training-category p {
    font-size: 10px;
    line-height: 1.3;
    margin-bottom: 2px;
}

/* Volunteer section */
.volunteer {
    margin-bottom: 0.3in;
}

.volunteer-item {
    margin-bottom: 0.15in;
}

.volunteer-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 4px;
}

.volunteer-header h4 {
    font-size: 11px;
    font-weight: bold;
    color: #333;
}

.volunteer-org {
    font-size: 10px;
    color: #666;
    font-style: italic;
}

.volunteer-duration {
    font-size: 10px;
    color: #666;
    margin-bottom: 4px;
}

.volunteer-subtitle {
    font-size: 10px;
    color: #666;
    font-style: italic;
}

/* Page number */
.page-number {
    position: absolute;
    bottom: 0.2in;
    right: 0.5in;
    font-size: 9px;
    color: #999;
}

/* Print styles */
@media print {
    body {
        background-color: white;
    }
    
    .resume-container {
        box-shadow: none;
        max-width: none;
    }
    
    .page {
        padding: 0;
        page-break-after: always;
    }
    
    .page:last-child {
        page-break-after: auto;
    }
}

/* Responsive design for screen viewing */
@media screen and (max-width: 900px) {
    .page {
        width: 100%;
        min-height: auto;
        padding: 20px;
    }
    
    .main-content {
        flex-direction: column;
        gap: 20px;
    }
    
    .header {
        flex-direction: column;
        gap: 15px;
    }
    
    .contact-info {
        text-align: left;
    }
    
    .contact-item {
        justify-content: flex-start;
    }
}