/* Resume CSS - Simple styles for PDF export */
@import "/print.css";

/* Variables */
:root {
    --resume-primary: #1e3a8a;
    --resume-dark: #111827;
    --resume-gray: #374151;
    --resume-light-gray: #4b5563;
    --resume-border: #e5e7eb;

    /* Fallbacks if not set by JS */
    --resume-heading-size: 12pt;
    --resume-base-size: 10pt;
    --resume-body-size: 9pt;
    --resume-small-size: 8pt;
}

.resume-root {
    font-size: var(--resume-base);
}

/* Layout Utilities */
.resume-w-full {
    width: 100%;
}

.resume-relative {
    position: relative;
}

.resume-flex {
    display: flex;
}

.resume-flex-col {
    display: flex;
    flex-direction: column;
}

.resume-items-center {
    align-items: center;
}

.resume-justify-center {
    justify-content: center;
}

.resume-justify-between {
    justify-content: space-between;
}

.resume-items-baseline {
    align-items: baseline;
}

.resume-items-start {
    align-items: flex-start;
}

.resume-text-center {
    text-align: center;
}

.resume-text-right {
    text-align: right;
}

.resume-text-justify {
    text-align: justify;
}

/* Basic Reset since we are not using Tailwind Preflight */
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li {
    margin: 0;
    padding: 0;
}

/* Spacing */
.resume-mb-1 {
    margin-bottom: 2pt;
}

.resume-mb-2 {
    margin-bottom: 4pt;
}

.resume-mb-4 {
    margin-bottom: 8pt;
}

.resume-mb-5 {
    margin-bottom: 10pt;
}

.resume-mb-8 {
    margin-bottom: 16pt;
}

.resume-mb-12 {
    margin-bottom: 24pt;
}

.resume-mt-1 {
    margin-top: 2pt;
}

.resume-gap-1 {
    gap: 4pt;
}

/* approx */
.resume-gap-2 {
    gap: 8pt;
}

.resume-mx-1 {
    margin-left: 4pt;
    margin-right: 4pt;
}

.resume-mr-1 {
    margin-right: 4pt;
}

/* Colors */
.resume-text-primary {
    color: var(--resume-primary);
}

.resume-text-dark {
    color: var(--resume-dark);
}

.resume-text-gray {
    color: var(--resume-gray);
}

.resume-text-light-gray {
    color: var(--resume-light-gray);
}

/* Typography */
.resume-font-bold {
    font-weight: 700;
}

.resume-font-extrabold {
    font-weight: 800;
}

.resume-font-medium {
    font-weight: 500;
}

.resume-font-light {
    font-weight: 300;
}

.resume-uppercase {
    text-transform: uppercase;
}

.resume-leading-none {
    line-height: 1;
}

.resume-leading-tight {
    line-height: 1.3;
}

.resume-leading-relaxed {
    line-height: 1.4;
}

/* Header Component */
.resume-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1.5em;
    position: relative;
    width: 100%;
}

.resume-name {
    font-size: 2.2em;
    font-weight: 800;
    color: var(--resume-dark);
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin-bottom: 0.25em;
    line-height: 1.1;
}

.resume-title-box {
    width: 100%;
    text-align: center;
    margin-bottom: 0.75em;
    border: none;
}

.resume-title {
    font-size: 1em;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--resume-primary);
    line-height: 1;
}

.resume-header-separator {
    width: 100%;
    margin-top: 0.4em;
    margin-bottom: 0.8em;
    height: 1px;
    background-color: var(--resume-light-gray);
    opacity: 0.5;
}

.resume-header-contact-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 0.4em;
}

.resume-contact-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 0.9em;
    color: var(--resume-dark);
    line-height: 1.2;
}

.resume-social-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 0.9em;
    color: var(--resume-dark);
    line-height: 1.2;
}

.resume-header-bullet {
    margin-left: 0.8em;
    margin-right: 0.8em;
    font-weight: bold;
    color: var(--resume-primary);
    font-size: 1em;
}

/* Icons */
.resume-icon {
    width: 0.9em;
    height: 0.9em;
}

.resume-icon-gray {
    color: #4b5563;
}

/* Section Title */
.resume-section-title-box {
    margin-bottom: 0.8em;
    position: relative;
}

.resume-section-title {
    font-size: 1.2em;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--resume-dark);
    margin-bottom: 0.4em;
}

.resume-separator {
    height: 2px;
    width: 100%;
    background-color: var(--resume-dark);
}

/* List Items (Experience, Education etc) */
.resume-list-none {
    list-style: none;
    padding: 0;
    margin: 0;
}

.resume-list-item {
    display: flex;
    align-items: flex-start;
}

.resume-bullet {
    width: 1em;
    display: inline-block;
    text-align: center;
    margin-right: 0.4em;
    font-size: 1em;
    line-height: 1;
    margin-top: -0.1em;
    flex-shrink: 0;
}

/* Links */
.resume-link {
    color: inherit;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.4em;
}

/* Skills */
.resume-skills-content {
    font-size: 0.95em;
    color: var(--resume-gray);
    line-height: 1.4;
}

.resume-skill-group {
    margin-bottom: 0.8em;
}

.resume-skill-label {
    font-weight: 700;
    color: var(--resume-dark);
    margin-right: 0.4em;
}

/* Experience & Projects */
.resume-role {
    font-size: 1em;
    font-weight: 700;
    color: var(--resume-dark);
}

.resume-duration {
    font-size: 0.9em;
    font-weight: 600;
    color: var(--resume-dark);
}

.resume-company {
    font-size: 0.9em;
    font-weight: 500;
    color: var(--resume-gray);
}

.resume-tech-stack {
    font-size: 0.85em;
    /* Slightly smaller for detailed tech list */
    color: var(--resume-light-gray);
    margin-bottom: 0.2em;
}

.resume-details-list {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.95em;
    color: var(--resume-gray);
    line-height: 1.3;
    margin-top: 0.1em;
}

/* Spacer Utilities */
.resume-section {
    margin-bottom: 2em;
}

.resume-section-mb-12 {
    margin-bottom: 2em;
}

.resume-space-y-4 {
    display: flex;
    flex-direction: column;
    gap: 0.6em;
}

.resume-space-y-6 {
    display: flex;
    flex-direction: column;
    gap: 1em;
    break-inside: auto;
}

.resume-space-y-0-5 {
    display: flex;
    flex-direction: column;
    gap: 0.2em;
}

/* Education Specifics */
.resume-location-text {
    font-size: 1em;
    font-weight: 500;
    color: var(--resume-dark);
    display: block;
}

.resume-duration-gray {
    font-size: 0.9em;
    color: var(--resume-light-gray);
    display: block;
}

.resume-degree {
    font-size: 0.95em;
    font-weight: 500;
    color: var(--resume-gray);
}

.resume-score {
    font-size: 0.9em;
    color: var(--resume-light-gray);
}

.resume-pl-1 {
    padding-left: 0.4em;
}

/* Project Specifics */
.resume-space-y-5 {
    display: flex;
    flex-direction: column;
    gap: 0.8em;
}

.resume-project-name {
    font-size: 1em;
    font-weight: 700;
    color: var(--resume-dark);
}

.resume-link-text {
    font-size: 0.9em;
    color: #1e3a8a;
    cursor: text;
    text-decoration: none;
}

.resume-link-text:hover {
    text-decoration: underline;
}

.resume-project-description {
    font-size: 0.95em;
    color: #374151;
    line-height: 1.3;
    margin-bottom: 0.2em;
    text-align: justify;
}

.resume-ml-4-pt {
    margin-left: 0.4em;
}

.resume-bg-white {
    background-color: white;
}

/* Summary */
.resume-summary-text {
    font-size: 0.95em;
    color: #374151;
    line-height: 1.5;
    text-align: justify;
    min-height: 20px;
}

/* Achievements & Certifications */
.resume-achievements-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.3em;
    font-size: 0.95em;
    color: #374151;
    line-height: 1.35;
}

.resume-flex-1 {
    flex: 1 1 0%;
}

.resume-pl-4 {
    padding-left: 1.2em;
}

.resume-font-normal {
    font-weight: 400;
}

/* Custom Section */
.resume-custom-item {
    font-size: 0.95em;
    color: #374151;
    line-height: 1.35;
}

.resume-custom-date {
    color: #4b5563;
    font-size: 0.9em;
    margin-left: 1.2em;
    white-space: nowrap;
}

.resume-pl-0 {
    padding-left: 0;
}

/* Edit Buttons (keep hidden in print via print.css, but style them for editor) */
.resume-break-avoid {
    break-inside: avoid;
    page-break-inside: avoid;
}

/* Edit Buttons usually handled by Tailwind in editor or ignored in print */