/**
 * Biodata Common Styles 
 * Unified CSS for all templates to reduce code duplication and improve performance.
 */

:root {
    /* Scaling and Layout Variables */
    --b1-font-family: Arial, Helvetica, sans-serif;
    --b1-font-size: 11pt;
    --b1-heading-size: 14pt;
    --b1-name-size: 12pt;
    --b1-line-height: 1.4;
    --b1-section-gap: 14px;
    --b1-paragraph-gap: 4px;
    --b1-padding-top: 15mm;
    --b1-padding-bottom: 5mm;
    --b1-padding-left: 18mm;
    --b1-padding-right: 10mm;
    --b1-label-width: 150px;
    --b1-accent: #e1b468;
    --b1-paper: #ffffff;
    --b1-value: #000000;
    --b1-min-height: 297mm;
    /* Default A4 height */
    --template-bg: none;
}

/* Base Template Container */
.biodata-template-container {
    width: 210mm;
    min-height: var(--b1-min-height);
    margin: 0 auto;
    background-image: var(--template-bg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: top center;
    box-sizing: border-box;
    padding: calc(30px + var(--b1-padding-top)) calc(10px + var(--b1-padding-right)) calc(30px + var(--b1-padding-bottom)) calc(10px + var(--b1-padding-left));
    background-color: var(--b1-paper);
    position: relative;
    font-family: var(--b1-font-family);
    color: #000;
}

/* Religious Icon at the Top */
.biodata-template-container .top-icon {
    text-align: center;
    margin-bottom: 10mm;
    width: 100%;
}

.biodata-template-container .top-icon img {
    width: 50px;
    height: auto;
}

/* Content Wrapper - Flex layout for details (left) + photo (right) */
.biodata-template-container .content-wrapper {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}

/* Details Section */
.biodata-template-container .details {
    flex: 1;
    min-width: 0;
}

/* Section block (Personal, Family, etc.) */
.biodata-template-container .section {
    margin-bottom: var(--b1-section-gap);
}

/* Section Title with Accent background */
.biodata-template-container .section-title {
    display: inline-block;
    background: var(--b1-accent);
    padding: 4px 12px;
    font-weight: bold;
    font-size: var(--b1-heading-size);
    margin-bottom: 10px;
    color: #000;
}

/* Data Row (Label : Value) */
.biodata-template-container .row {
    margin-bottom: var(--b1-paragraph-gap);
    font-size: var(--b1-font-size);
    line-height: var(--b1-line-height);
    display: block;
    width: 100%;
}

.biodata-template-container .row .label {
    display: inline-block;
    width: var(--b1-label-width);
    font-weight: bold;
    font-size: var(--b1-name-size);
    color: var(--b1-accent);
    vertical-align: top;
}

.biodata-template-container .row .label::after {
    content: ":";
    margin-left: 2px;
}

.biodata-template-container .row .value {
    display: inline-block;
    width: calc(100% - var(--b1-label-width) - 10px);
    word-break: break-word;
    color: var(--b1-value);
    vertical-align: top;
}

/* Profile Photo */
.biodata-template-container .photo {
    width: 150px;
    flex-shrink: 0;
    margin-left: 10px;
}

.biodata-template-container .photo img {
    width: 100%;
    height: auto;
    border: 1px solid #999;
    padding: 2px;
    background: #fff;
}

.biodata-template-container .photo:empty {
    display: none;
}

/* Rich Text Formatting */
.biodata-template-container .value ul {
    margin: 5px 0 5px 20px;
    padding: 0;
}

/* Preview Environment Enhancements */
@media screen {
    .preview-card .biodata-template-container {
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
    }
}