/* កំណត់បង្ខំឱ្យ Browser បង្ហាញពណ៌ពិតប្រាកដមិនឱ្យខូចពេល Print/Export */
* {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
}

@font-face { font-family: 'MoulPaliCustom'; src: url('../fonts/MoulPali.woff2') format('woff2'); font-weight: normal; font-style: normal; font-display: swap; }
body { font-family: 'Kantumruy Pro', sans-serif; background-color: #f8fafc; color: #1e293b; overflow: hidden; }
.font-moul { font-family: 'MoulPaliCustom', cursive; line-height: 1.6; }

::-webkit-scrollbar { width: 6px; height: 6px; } 
::-webkit-scrollbar-track { background: transparent; } 
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; } 

.input-premium { transition: all 0.3s ease; border: 1.5px solid #e2e8f0; background-color: #ffffff; color: #334155; }
.input-premium:focus { border-color: #C07C88; box-shadow: 0 0 0 4px rgba(192, 124, 136, 0.15); outline: none; }
.float-label-container { position: relative; width: 100%; }
.float-label-input { padding: 1.5rem 1.25rem 0.5rem 1.25rem; width: 100%; }
.float-label { position: absolute; left: 1.25rem; top: 1rem; color: #94a3b8; font-size: 0.875rem; transition: all 0.2s ease; pointer-events: none; transform-origin: left top; }
.float-label-input:focus ~ .float-label, .float-label-input:not(:placeholder-shown) ~ .float-label { transform: translateY(-0.65rem) scale(0.85); color: #C07C88; font-weight: 600; }

.editable-title-input { font-size: 0.875rem; font-weight: 700; color: #334155; background: transparent; border: none; border-bottom: 1px dashed #cbd5e1; padding-bottom: 2px; width: 100%; transition: all 0.2s; outline: none; }
.editable-title-input:focus { border-bottom-color: #C07C88; color: #C07C88; }

/* ================= CV A4 Structure & Themes ================= */
.a4-container { width: 794px; min-height: 1123px; background-color: var(--bg-main, #ffffff); color: var(--txt-main, #333333); position: relative; overflow: hidden; transition: all 0.3s ease; }

.font-kantumruy { font-family: 'Kantumruy Pro', sans-serif; }
.font-battambang { font-family: 'Battambang', cursive; }
.font-suwannaphum { font-family: 'Suwannaphum', serif; }
.font-hanuman { font-family: 'Hanuman', serif; }
.font-noto { font-family: 'Noto Sans Khmer', sans-serif; }
.font-roboto { font-family: 'Roboto', sans-serif; }
.font-opensans { font-family: 'Open Sans', sans-serif; }
.font-lato { font-family: 'Lato', sans-serif; }
.font-montserrat { font-family: 'Montserrat', sans-serif; }
.font-poppins { font-family: 'Poppins', sans-serif; }
.font-inter { font-family: 'Inter', sans-serif; }
.font-playfair { font-family: 'Playfair Display', serif; }
.font-lora { font-family: 'Lora', serif; }

.theme-1 { --bg-side: #2c3e50; --txt-side: #ffffff; --accent: #2c3e50; --bg-main: #ffffff; --txt-main: #333333; }
.theme-2 { --bg-side: #0f766e; --txt-side: #ffffff; --accent: #0f766e; --bg-main: #f8fafc; --txt-main: #1e293b; }
.theme-3 { --bg-side: #9f1239; --txt-side: #ffffff; --accent: #be123c; --bg-main: #fff1f2; --txt-main: #4c0519; }
.theme-4 { --bg-side: #1e3a8a; --txt-side: #ffffff; --accent: #2563eb; --bg-main: #ffffff; --txt-main: #172554; }
.theme-5 { --bg-side: #171717; --txt-side: #ffffff; --accent: #404040; --bg-main: #ffffff; --txt-main: #000000; }
.theme-6 { --bg-side: #d97706; --txt-side: #ffffff; --accent: #b45309; --bg-main: #fffbeb; --txt-main: #451a03; }
.theme-7 { --bg-side: #6b21a8; --txt-side: #ffffff; --accent: #7e22ce; --bg-main: #faf5ff; --txt-main: #3b0764; }
.theme-8 { --bg-side: #0369a1; --txt-side: #ffffff; --accent: #0284c7; --bg-main: #f0f9ff; --txt-main: #0c4a6e; }
.theme-9 { --bg-side: #1f2937; --txt-side: #f3f4f6; --accent: #3b82f6; --bg-main: #111827; --txt-main: #e5e7eb; }
.theme-10{ --bg-side: #be185d; --txt-side: #ffffff; --accent: #db2777; --bg-main: #fdf2f8; --txt-main: #831843; }

.cv-shape, .cv-top-section, .cv-side-about, .cv-top-about { display: none; }

.cv-body-wrapper { display: flex; width: 100%; height: 100%; }
.cv-side { width: 35%; background-color: var(--bg-side); color: var(--txt-side); padding: 40px 30px; --track-bg: rgba(255,255,255,0.15); transition: 0.3s; }
.cv-main { width: 65%; padding: 50px 40px; --track-bg: rgba(0,0,0,0.1); transition: 0.3s; }

.cv-side h3 { font-size: 14px; font-weight: bold; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 15px; transition: 0.3s; }
.cv-side ul { list-style: none; padding: 0; margin: 0; }
.cv-side ul li { font-size: 12px; margin-bottom: 10px; line-height: 1.5; display: flex; align-items: flex-start; gap: 8px; }

.cv-text-block { font-size: 12px; line-height: 1.6; margin-bottom: 25px;}
.cv-main h2 { font-size: 16px; font-weight: 800; text-transform: uppercase; margin-bottom: 15px; transition: 0.3s;}

.cv-strong { font-weight: 800; color: inherit; } 
.cv-main .cv-strong { color: var(--accent); } 

/* ================= FIXED PROFILE IMAGE BORDERS FOR PDF ================= */
.cv-side-photo, .cv-top-photo { 
    position: relative; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    z-index: 5;
    box-sizing: border-box;
}
.profile-img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    object-position: top center; 
    display: block; 
    border-radius: inherit;
    box-sizing: border-box;
}

/* ================= 13 Heading Styles ================= */
.cv-section h2, .cv-side h3 { background: transparent; border: none; padding: 0; margin-bottom: 15px; border-radius: 0; position: relative; z-index: 1;}
.cv-section h2::before, .cv-section h2::after, .cv-side h3::before, .cv-side h3::after { display: none; } 

/* MAIN HEADINGS */
.main-head-style-1 .cv-section h2 { border-bottom: 2px solid var(--accent); padding-bottom: 6px; color: var(--accent); }
.main-head-style-2 .cv-section h2 { background-color: var(--accent); color: var(--bg-main); padding: 6px 12px; border-radius: 6px; display: inline-block; }
.main-head-style-3 .cv-section h2 { border-left: 4px solid var(--accent); padding-left: 12px; color: var(--accent); }
.main-head-style-4 .cv-section h2 { text-align: center; color: var(--accent); }
.main-head-style-4 .cv-section h2::after { display: block; content:''; width: 30px; height: 3px; background: var(--accent); margin: 6px auto 0; border-radius: 2px; }
.main-head-style-5 .cv-section h2 { border-bottom: 4px double var(--accent); padding-bottom: 6px; color: var(--accent); }
.main-head-style-6 .cv-section h2 { display: inline-block; box-shadow: inset 0 -4px 0 var(--accent); color: var(--accent); padding: 0 4px;}
.main-head-style-7 .cv-section h2 { border-bottom: 2px dashed var(--accent); padding-bottom: 6px; color: var(--accent); }
.main-head-style-8 .cv-section h2 { display: flex; align-items: center; gap: 10px; color: var(--accent); }
.main-head-style-8 .cv-section h2::before { display: block; content:''; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); flex-shrink: 0;}
.main-head-style-9 .cv-section h2 { border: 1px solid var(--accent); border-left: 4px solid var(--accent); padding: 8px 12px; color: var(--accent); display: inline-block;}
.main-head-style-10 .cv-section h2 { text-align: right; border-right: 4px solid var(--accent); padding-right: 12px; color: var(--accent); }
.main-head-style-11 .cv-section h2 { display: inline-block; padding: 6px 12px; color: var(--bg-main); }
.main-head-style-11 .cv-section h2::before { display:block; content:''; position:absolute; inset:0; background:var(--accent); z-index:-1; transform: translate(4px, 4px); }
.main-head-style-11 .cv-section h2::after { display:block; content:''; position:absolute; inset:0; border: 1px solid var(--accent); z-index:-1; }
.main-head-style-12 .cv-section h2 { display: flex; align-items: center; gap: 15px; color: var(--accent); white-space: nowrap;}
.main-head-style-12 .cv-section h2::after { display:block; content:''; flex: 1; height: 1.5px; background: var(--accent); opacity: 0.5;}
.main-head-style-13 .cv-section h2 { display: inline-block; border-left: 3px solid var(--accent); border-bottom: 3px solid var(--accent); padding: 5px 12px; border-radius: 0 0 0 8px; color: var(--accent); }

/* SIDE HEADINGS */
.side-head-style-1 .cv-side h3 { border-bottom: 2px solid var(--txt-side); padding-bottom: 6px; }
.side-head-style-2 .cv-side h3 { background-color: var(--txt-side); color: var(--bg-side); padding: 5px 10px; border-radius: 5px; display: inline-block; }
.side-head-style-3 .cv-side h3 { border-left: 3px solid var(--txt-side); padding-left: 10px; }
.side-head-style-4 .cv-side h3 { text-align: center; }
.side-head-style-4 .cv-side h3::after { display: block; content:''; width: 25px; height: 2px; background: var(--txt-side); margin: 6px auto 0; border-radius: 2px; }
.side-head-style-5 .cv-side h3 { border-bottom: 3px double var(--txt-side); padding-bottom: 6px; opacity: 0.9;}
.side-head-style-6 .cv-side h3 { display: inline-block; box-shadow: inset 0 -4px 0 var(--txt-side); padding: 0 4px;}
.side-head-style-7 .cv-side h3 { border-bottom: 1px dashed var(--txt-side); padding-bottom: 6px; }
.side-head-style-8 .cv-side h3 { display: flex; align-items: center; gap: 8px; }
.side-head-style-8 .cv-side h3::before { display: block; content:''; width: 8px; height: 8px; border-radius: 50%; background: var(--txt-side); flex-shrink: 0; opacity: 0.8;}
.side-head-style-9 .cv-side h3 { border: 1px solid var(--txt-side); border-left: 4px solid var(--txt-side); padding: 6px 10px; display: inline-block;}
.side-head-style-10 .cv-side h3 { text-align: right; border-right: 3px solid var(--txt-side); padding-right: 10px; }
.side-head-style-11 .cv-side h3 { display: inline-block; padding: 5px 10px; color: var(--bg-side); }
.side-head-style-11 .cv-side h3::before { display:block; content:''; position:absolute; inset:0; background:var(--txt-side); z-index:-1; transform: translate(3px, 3px); }
.side-head-style-11 .cv-side h3::after { display:block; content:''; position:absolute; inset:0; border: 1px solid var(--txt-side); z-index:-1; opacity:0.5;}
.side-head-style-12 .cv-side h3 { display: flex; align-items: center; gap: 10px; white-space: nowrap;}
.side-head-style-12 .cv-side h3::after { display:block; content:''; flex: 1; height: 1px; background: var(--txt-side); opacity: 0.3;}
.side-head-style-13 .cv-side h3 { display: inline-block; border-left: 2px solid var(--txt-side); border-bottom: 2px solid var(--txt-side); padding: 4px 10px; border-radius: 0 0 0 6px; }

/* ================= Skills Progress (SVG FIX) ================= */
.skills-grid-circle { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; justify-content: center; }
.skill-circle-wrap { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }

/* SVG Progress Fix For PDF */
.cv-side .bg { stroke: var(--track-bg); }
.cv-side .progress { stroke: var(--txt-side); stroke-linecap: round; }
.cv-main .bg { stroke: var(--track-bg); }
.cv-main .progress { stroke: var(--accent); stroke-linecap: round; }

.skill-circle-text { font-size: 10px; font-weight: bold; }
.skill-name-txt { font-size: 11px; line-height: 1.2; word-break: break-word; font-weight: 600;}

.skill-bar-wrap { margin-bottom: 12px; }
.skill-bar-title { font-size: 11px; margin-bottom: 4px; display: flex; justify-content: space-between; font-weight: bold;}
.skill-bar-bg { height: 6px; border-radius: 3px; overflow: hidden; }
.cv-side .skill-bar-bg { background: var(--track-bg); }
.cv-main .skill-bar-bg { background: var(--track-bg); }
.skill-bar-fill { height: 100%; border-radius: 3px; }
.cv-side .skill-bar-fill { background: var(--txt-side); }
.cv-main .skill-bar-fill { background: var(--accent); }

/* ================= 13 Layout Styles ================= */
.layout-2 .cv-side, .layout-4 .cv-side, .layout-5 .cv-side, .layout-6 .cv-side, .layout-10 .cv-side {
    --bg-side: var(--bg-main); --txt-side: var(--accent); --track-bg: rgba(0,0,0,0.1); color: var(--txt-main);
}
.layout-7 .cv-side, .layout-12 .cv-side {
    --bg-side: #f8fafc; --txt-side: var(--accent); --track-bg: rgba(0,0,0,0.1); color: var(--txt-main);
}
.layout-11 .cv-side {
    --bg-side: var(--accent); --txt-side: var(--bg-main); --track-bg: rgba(0,0,0,0.2); color: var(--bg-main);
}

.layout-1 .cv-side-photo { width: 160px; height: 160px; margin: 0 auto 35px; border-radius: 50%; background: rgba(255,255,255,0.2); padding: 5px; }
.layout-1 .cv-main-header { margin-bottom: 35px; }
.layout-1 .cv-main-header h1 { font-size: 42px; font-weight: 900; color: var(--accent); line-height: 1.1; margin-bottom: 5px; text-transform: uppercase;}
.layout-1 .cv-main-header h2 { font-size: 16px; font-weight: normal; color: #64748b; letter-spacing: 2px; padding: 0; margin: 0; }

.layout-2 .cv-shape.cv-shape-1 { display: block; position: absolute; top: 0; left: 0; right: 0; height: 120px; background: var(--bg-side); z-index: 1;}
.layout-2 .cv-shape.cv-shape-1::after { content: ''; position: absolute; top: 100%; left: 0; width: 0; height: 0; border-top: 80px solid var(--bg-side); border-right: 794px solid transparent; }
.layout-2 .cv-top-section { display: flex; padding: 40px 50px; position: relative; z-index: 10; gap: 30px;}
.layout-2 .cv-top-text { flex: 1; padding-top: 10px;}
.layout-2 .cv-top-text h1 { color: #ffffff; font-size: 46px; font-weight: 900; line-height: 1; margin-bottom: 8px;}
.layout-2 .cv-top-text h2 { color: rgba(255,255,255,0.8); font-size: 14px; text-transform: uppercase; letter-spacing: 2px;}
.layout-2 .cv-top-photo { width: 180px; height: 180px; border-radius: 50%; background: #ffffff; padding: 8px; box-shadow: 0 10px 20px rgba(0,0,0,0.1);}
.layout-2 .cv-side-photo, .layout-2 .cv-main-header, .layout-2 .cv-main-about { display: none; }
.layout-2 .cv-top-about { display: block; padding: 0 50px 20px; font-size: 13px; line-height: 1.6; color: var(--txt-main); }
.layout-2 .cv-side { width: 40%; padding-top: 10px; }
.layout-2 .cv-main { padding-top: 10px; width: 60%; }

.layout-3 .cv-side { padding: 0 0 30px 0; }
.layout-3 .cv-side-photo { width: 100%; height: 260px; margin-bottom: 30px; border-radius: 0; padding: 0; }
.layout-3 .cv-block { padding: 0 30px; }
.layout-3 .cv-main-header { margin-bottom: 40px; }
.layout-3 .cv-main-header h1 { font-size: 42px; font-weight: 900; color: var(--txt-main); line-height: 1.1; margin-bottom: 5px; }
.layout-3 .cv-main-header h2 { font-size: 16px; font-weight: normal; color: var(--accent); letter-spacing: 1px; }

.layout-4 .cv-shape.cv-shape-1 { display: block; position: absolute; top: 0; left: 0; z-index: 1; opacity: 0.1; width: 0; height: 0; background: transparent; border-top: 350px solid var(--bg-side); border-right: 350px solid transparent; }
.layout-4 .cv-shape.cv-shape-2 { display: block; position: absolute; top: 0; right: 0; z-index: 1; opacity: 0.1; width: 0; height: 0; background: transparent; border-top: 350px solid var(--accent); border-left: 350px solid transparent; }
.layout-4 .cv-top-section { display: flex; justify-content: space-between; padding: 50px 50px 20px; position: relative; z-index: 10; align-items: center;}
.layout-4 .cv-top-text h1 { color: var(--txt-main); font-size: 46px; font-weight: 900; line-height: 1; margin-bottom: 8px;}
.layout-4 .cv-top-text h2 { color: var(--accent); font-size: 16px; text-transform: uppercase;}
.layout-4 .cv-top-photo { width: 170px; height: 170px; border-radius: 50%; background: #ffffff; padding: 8px; box-shadow: 0 10px 20px rgba(0,0,0,0.1);}
.layout-4 .cv-side-photo, .layout-4 .cv-main-header, .layout-4 .cv-main-about { display: none; }
.layout-4 .cv-side-about { display: block; margin-bottom: 25px; }
.layout-4 .cv-side { padding-top: 10px; width: 40%; padding-left: 50px;}
.layout-4 .cv-main { padding-top: 10px; width: 60%; padding-right: 50px;}

.layout-5 .cv-body-wrapper { padding: 40px; gap: 40px;}
.layout-5 .cv-side { padding: 0; width: 35%; border-right: 1px solid #e2e8f0; padding-right: 30px;}
.layout-5 .cv-main { padding: 0; width: 65%; }
.layout-5 .cv-side-photo { width: 150px; height: 150px; margin: 0 auto 30px; border-radius: 20px; background: var(--accent); padding: 3px; }
.layout-5 .cv-main-header { margin-bottom: 30px; }
.layout-5 .cv-main-header h1 { font-size: 40px; font-weight: 900; color: var(--txt-main); line-height: 1.1; margin-bottom: 5px; }
.layout-5 .cv-main-header h2 { font-size: 15px; font-weight: bold; color: var(--accent); letter-spacing: 2px; }

.layout-6 .cv-body-wrapper { flex-direction: column; }
.layout-6 .cv-top-section { display: flex; flex-direction: column; align-items: center; padding: 40px; background: var(--bg-side); color: var(--txt-side); text-align: center;}
.layout-6 .cv-top-photo { width: 150px; height: 150px; border-radius: 50%; background: var(--txt-side); padding: 4px; margin-bottom: 15px;}
.layout-6 .cv-top-text h1 { font-size: 42px; font-weight: 900; line-height: 1; margin-bottom: 8px; color: var(--txt-side); }
.layout-6 .cv-top-text h2 { font-size: 16px; text-transform: uppercase; color: rgba(255,255,255,0.8); letter-spacing: 2px;}
.layout-6 .cv-side-photo, .layout-6 .cv-main-header { display: none; }
.layout-6 .cv-content-split { display: flex; width: 100%; height: auto;}
.layout-6 .cv-side { width: 35%; border-right: 1px solid #e2e8f0;}
.layout-6 .cv-main { width: 65%; }

.layout-7 .cv-body-wrapper { flex-direction: column; }
.layout-7 .cv-top-section { display: flex; align-items: center; background: var(--bg-side); color: var(--txt-side); padding: 40px 50px; gap: 40px;}
.layout-7 .cv-top-text h1 { font-size: 48px; font-weight: 900; line-height: 1; margin-bottom: 8px; color: var(--txt-side); }
.layout-7 .cv-top-text h2 { font-size: 16px; text-transform: uppercase; color: rgba(255,255,255,0.8); letter-spacing: 2px;}
.layout-7 .cv-top-photo { width: 150px; height: 150px; border-radius: 15px; background: rgba(255,255,255,0.3); padding: 4px; }
.layout-7 .cv-side-photo, .layout-7 .cv-main-header, .layout-7 .cv-top-about { display: none; }
.layout-7 .cv-content-split { display: flex; width: 100%; height: auto;}
.layout-7 .cv-side { width: 35%; border-right: 1px solid #e2e8f0; }
.layout-7 .cv-main { width: 65%; }

.layout-8 .cv-body-wrapper { flex-direction: row; }
.layout-8 .cv-side { width: 40%; position: relative;}
.layout-8 .cv-main { width: 60%; }
.layout-8 .cv-side-photo { width: 180px; height: 180px; margin: 0 auto 40px; border-radius: 50%; background: var(--accent); padding: 6px; box-shadow: 0 0 0 6px var(--bg-side), 0 0 0 8px rgba(255,255,255,0.2); }
.layout-8 .cv-main-header { margin-bottom: 40px; border-bottom: 1px solid #e2e8f0; padding-bottom: 20px;}
.layout-8 .cv-main-header h1 { font-size: 40px; font-weight: 900; color: var(--txt-main); line-height: 1.1; margin-bottom: 8px; text-transform: uppercase;}
.layout-8 .cv-main-header h2 { font-size: 16px; font-weight: bold; color: var(--accent); letter-spacing: 2px; }

.layout-9 .cv-body-wrapper { flex-direction: row; }
.layout-9 .cv-side { width: 35%; border-right: 1px solid rgba(255,255,255,0.2); }
.layout-9 .cv-side-photo { width: 120px; height: 120px; margin: 0 auto 30px; border-radius: 50%; background: #ffffff; padding: 3px; }
.a4-container.layout-9 .cv-main { width: 65%; position: relative; padding-left: 60px !important; }
.a4-container.layout-9 .cv-main::before { content:''; position:absolute; left: 30px; top: 120px; bottom: 50px; width: 2px; background: var(--accent); opacity: 0.3; z-index: 1; }
.a4-container.layout-9 .cv-main-header { margin-bottom: 40px; }
.a4-container.layout-9 .cv-main-header h1 { font-size: 45px; font-weight: 900; color: var(--accent); line-height: 1.1; }
.a4-container.layout-9 .cv-section { position: relative; margin-bottom: 30px; }
.a4-container.layout-9 .cv-section h2 { display: block !important; position: relative !important; border: none !important; background: transparent !important; padding: 0 !important; box-shadow: none !important; color: var(--accent) !important; text-align: left !important;}
.a4-container.layout-9 .cv-section h2::before { content:'' !important; display:block !important; width:14px !important; height:14px !important; background:var(--bg-main) !important; border: 3px solid var(--accent) !important; border-radius:50% !important; position:absolute !important; left: -36px !important; top: 50% !important; transform: translateY(-50%) !important; z-index:2 !important; }
.a4-container.layout-9 .cv-section h2::after { display: none !important; }

.layout-10 .cv-shape.cv-shape-1 { display: block; position: absolute; top: 0; left: 0; right: 0; height: 180px; background: var(--accent); z-index: 1;}
.layout-10 .cv-body-wrapper { flex-direction: row; position: relative; z-index: 10; padding-top: 40px;}
.layout-10 .cv-side { width: 35%; padding-top: 0; }
.layout-10 .cv-side-photo { width: 200px; height: 200px; margin: 0 auto 30px; border-radius: 10px; background: var(--bg-main); padding: 8px; box-shadow: 0 10px 20px rgba(0,0,0,0.15);}
.layout-10 .cv-main { width: 65%; padding-top: 0;}
.layout-10 .cv-main-header { margin-bottom: 40px; padding-top: 20px; color: var(--bg-main); }
.layout-10 .cv-main-header h1 { font-size: 45px; color: var(--bg-main); margin-bottom: 0;}
.layout-10 .cv-main-header h2 { color: rgba(255,255,255,0.8); }

.layout-11 .cv-body-wrapper { flex-direction: row-reverse; }
.layout-11 .cv-side { width: 30%; }
.layout-11 .cv-main { width: 70%; padding-top: 80px;}
.layout-11 .cv-side-photo { width: 140px; height: 140px; margin: 0 0 30px; border-radius: 50%; filter: grayscale(100%); opacity: 0.9; padding: 0; }
.layout-11 .cv-main-header { position: absolute; top: 30px; left: 40px; z-index: 20;}
.layout-11 .cv-main-header h1 { font-size: 60px; font-weight: 900; color: var(--txt-main); letter-spacing: -2px; line-height: 0.9;}
.layout-11 .cv-main-header h2 { font-size: 18px; color: var(--accent); margin-top: 10px;}

.layout-12 .a4-container { border-top: 20px solid var(--accent); }
.layout-12 .cv-body-wrapper { flex-direction: row; }
.layout-12 .cv-side { width: 35%; border-right: 1px solid #e2e8f0;}
.layout-12 .cv-main { width: 65%; }
.layout-12 .cv-side-photo { width: 160px; height: 160px; margin: 0 auto 30px; border-radius: 5px; background: transparent; padding: 0; }
.layout-12 .cv-main-header { margin-bottom: 30px; border-bottom: 4px solid var(--accent); padding-bottom: 10px; display: inline-block;}

.layout-13 .cv-body-wrapper { flex-direction: row; padding: 25px; gap: 25px;}
.layout-13 .cv-side { width: 35%; border-radius: 30px; padding: 40px 25px;}
.layout-13 .cv-main { width: 65%; background: rgba(0,0,0,0.02); border-radius: 30px; padding: 40px 35px;}
.layout-13 .cv-side-photo { width: 150px; height: 150px; margin: 0 auto 30px; border-radius: 35px; background: rgba(255,255,255,0.3); padding: 4px; }
.layout-13 .cv-main-header { margin-bottom: 30px; text-align: center;}
.layout-13 .cv-main-header h1 { font-size: 38px; color: var(--accent); }
.layout-13 .cv-section h2 { border-radius: 10px; }

@media print {
    body { background: none; }
    #view-dashboard, #form-section, .btn-download, .preview-actions, #toast-container, #global-loader { display: none !important; }
    #preview-section { padding: 0; background: none; width: 100%; height: auto;}
    .a4-container { box-shadow: none !important; margin: 0; transform: none !important; }
    #cv-wrapper { width: 100% !important; height: auto !important; margin: 0 !important; }
}