/* Stilurile șabloanelor — aceleași clase în editor (previzualizare) și export. */

.cv-paper{ color:#1f2937; font-size:13.5px; line-height:1.55;
  font-family:'Segoe UI',system-ui,Arial,sans-serif; }

/* ---- Layout SIDE: coloană laterală colorată + conținut ---- */
.cv-paper.layout-side{ display:grid; grid-template-columns:266px 1fr;
  grid-template-areas:"side main"; }
.cv-paper.layout-side .cv-side{ grid-area:side; background:var(--side-bg,#1e3a8a);
  color:var(--side-fg,#fff); padding:30px 24px; }
.cv-paper.layout-side .cv-main{ grid-area:main; padding:36px 38px; }

/* ---- Layout SINGLE (ATS) ---- */
.cv-paper.layout-single{ display:block; padding:44px 50px; }
.cv-paper.layout-single .cv-head{ border-bottom:2px solid var(--accent,#111); padding-bottom:14px; margin-bottom:8px; }
.cv-contact-line{ color:#64748b; font-size:13px; margin:8px 0 0; }

/* Header (nume/titlu) */
.cv-head h1{ margin:0; font-size:27px; line-height:1.15; }
.cv-title{ margin:5px 0 0; font-size:15px; color:#475569; font-weight:600; }
.layout-single .cv-title{ color:var(--accent); }

/* Secțiuni în main */
.cv-section{ margin-top:22px; }
.cv-section h2{ font-size:13px; text-transform:uppercase; letter-spacing:1.3px;
  color:var(--accent,#2563eb); margin:0 0 11px; padding-bottom:6px;
  border-bottom:1.5px solid #e5e7eb; }
.cv-item{ margin-bottom:13px; }
.cv-item-head{ display:flex; justify-content:space-between; gap:12px; }
.cv-org{ color:#64748b; font-size:12.5px; margin:1px 0 3px; }
.cv-period{ color:#94a3b8; font-size:11.5px; white-space:nowrap; }
.cv-section p{ margin:4px 0; }
.cv-tags{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:7px; }
.cv-tags li{ background:#f1f5f9; border-radius:5px; padding:4px 11px; font-size:12.5px; }

/* Sidebar */
.cv-photo-wrap{ text-align:center; margin-bottom:22px; }
.cv-photo{ width:118px; height:118px; border-radius:50%; object-fit:cover;
  border:4px solid rgba(255,255,255,.35); }
.cv-side-block{ margin-bottom:22px; }
.cv-side-block h3{ font-size:12px; text-transform:uppercase; letter-spacing:1.5px;
  margin:0 0 11px; padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.3); }
.cv-contact{ list-style:none; padding:0; margin:0; }
.cv-contact li{ display:flex; align-items:flex-start; gap:9px; margin-bottom:9px;
  font-size:12.5px; word-break:break-word; }
.cv-contact .ic{ flex:0 0 14px; margin-top:2px; opacity:.95; }
.cv-rate{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:9px; font-size:13px; }
.dots{ display:inline-flex; gap:4px; flex:0 0 auto; }
.dot{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.3); display:inline-block; }
.dot.on{ background:#fff; }

/* ===== Variante de culoare per șablon ===== */
.tpl-modern      { --accent:#2563eb; --side-bg:#1e3a8a; --side-fg:#fff; }
.tpl-cambridge   { --accent:#0d9488; --side-bg:#0f766e; --side-fg:#fff; }
.tpl-creative    { --accent:#db2777; --side-bg:#be185d; --side-fg:#fff; }
.tpl-professional{ --accent:#16a34a; --side-bg:#14532d; --side-fg:#fff; }
.tpl-elegant     { --accent:#475569; --side-bg:#1f2937; --side-fg:#fff; }
.tpl-classic     { --accent:#111827; font-family:Georgia,'Times New Roman',serif; }
.tpl-classic .cv-section h2{ letter-spacing:1px; }

@media print{ .cv-paper{ box-shadow:none; } .cv-paper.layout-side .cv-main{ padding:30px 32px; } }
