:root {
    --borges-gold: #fdc64d;
    --borges-gold-hover: #ffdd92;
    --borges-dark: #121212;
    --borges-dark-soft: #242424;
    --borges-muted: #5b5b5b;
    --borges-bg-card: #efefef;
    --borges-border: #cccccc;
    --borges-link: #8f640c;
    --borges-blue-soft: #2f76ab;
    --danger: #cc3232;
}

.curriculo-wrap {width:1200px; margin:0 auto; margin-top:20px;}
.curriculo-card {background:var(--borges-bg-card); border:1px solid var(--borges-border); border-radius:8px; padding:14px; margin-bottom:14px;}
.curriculo-title {font-size:16px; font-weight:600; color:var(--borges-dark);}
.curriculo-subtitle {font-size:14px; color:var(--borges-muted); margin-top:6px;}
.curriculo-msg {margin-bottom:12px;}
.curriculo-msg #area-erro {width:auto; max-width:900px; margin:0 auto; padding:8px 12px; border-radius:6px;}
.curriculo-msg .erro {text-align:center; color:#fff; font-size:14px;}

.curriculo-choices {display:flex; gap:14px; max-width:1200px; margin:0 auto;}
.curriculo-choice-primary,
.curriculo-choice-secondary {width:100%; margin:0; text-align:center;}
.curriculo-choice-secondary form {display:flex; flex-direction:column; align-items:center;}
.curriculo-choice-secondary .curriculo-inline {justify-content:center;}
.curriculo-choice-title {font-size:20px; font-weight:600; color:var(--borges-dark); margin-bottom:8px;}
.curriculo-choice-text {line-height:145%; color:var(--borges-muted); margin-bottom:22px;}
.curriculo-btn {display:inline-block; background:var(--borges-gold); color:var(--borges-dark); border:0; border-radius:8px; padding:8px 18px; font-size:14px; font-weight:700; cursor:pointer;}
.curriculo-btn:hover {background:var(--borges-gold-hover);}
.curriculo-btn-secondary {display:inline-block; background:var(--borges-dark); color:#fff; border:0; border-radius:8px; padding:8px 18px; font-size:14px; font-weight:600; cursor:pointer;}
.curriculo-btn-secondary:hover {background:var(--borges-dark-soft);}
.curriculo-btn-danger {display:inline-block; background:var(--danger); color:#fff; border:0; border-radius:8px; padding:8px 18px; font-size:14px; font-weight:600; cursor:pointer;}
.curriculo-btn-danger:hover {background:#de4a4a;}

.curriculo-inline {display:flex; gap:10px; align-items:center; flex-wrap:wrap;}
.curriculo-inline .input {background:#fff; border:1px solid #bbb; border-radius:4px; padding:6px 10px; color:#333;}

.curriculo-topo {display:flex; gap:18px; align-items:center;}
.curriculo-foto-box-wrap {display:flex; flex-direction:column; align-items:flex-start;}
.curriculo-foto-box {position:relative; width:96px; height:96px; border:2px solid #8a8a8a; border-radius:16px; overflow:visible; background:#fff; display:block;}
.curriculo-foto-box img {width:100%; height:100%; object-fit:cover; display:block; border-radius:14px;}
.curriculo-foto-clickable {cursor:pointer;}
.curriculo-foto-edit {position:absolute; right:-6px; bottom:-6px; width:26px; height:26px; border-radius:50%; background:#32d93a; border:2px solid #fff; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 4px rgba(0, 0, 0, 0.35); color:#fff; font-size:15px; font-weight:700; line-height:1;}
.curriculo-file-hidden {position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}
.curriculo-desc-box {flex:1; display:flex; flex-direction:column; align-items:center; text-align:center;}
.curriculo-subtitle {text-align:center;}
.curriculo-etapas {display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; margin:10px auto 0 auto; width:100%;}
.curriculo-etapa {display:block; text-decoration:none; text-align:center; padding:6px 10px; border-radius:4px; font-size:14px; font-weight:600; color:#fff; background:var(--borges-dark);}
.curriculo-etapa.active {background:var(--borges-gold); color:var(--borges-dark);}
.curriculo-etapa-lock {cursor:not-allowed;}
.curriculo-etapa-lock:hover,
.curriculo-etapa-lock:focus {cursor:not-allowed; background:var(--borges-dark); color:#fff;}

.curriculo-section {background:var(--borges-bg-card); border:1px solid var(--borges-border); border-radius:8px; padding:12px; margin-top:12px;}
.curriculo-section-title {background:var(--borges-gold); color:var(--borges-dark); border-radius:4px; padding:6px 12px; font-size:18px; font-weight:700; margin-bottom:12px;}
.curriculo-row {display:grid; grid-template-columns:repeat(12, 1fr); gap:10px; margin-bottom:10px;}
.curriculo-col-12 {grid-column:span 12;}
.curriculo-col-9 {grid-column:span 9;}
.curriculo-col-8 {grid-column:span 8;}
.curriculo-col-7 {grid-column:span 7;}
.curriculo-col-6 {grid-column:span 6;}
.curriculo-col-5 {grid-column:span 5;}
.curriculo-col-4 {grid-column:span 4;}
.curriculo-col-3 {grid-column:span 3;}
.curriculo-col-2 {grid-column:span 2;}
.curriculo-col-1 {grid-column:span 1;}

.curriculo-label {display:block; color:var(--borges-dark); font-size:14px; font-weight:600; margin-bottom:4px;}
.curriculo-required {color:#ff0000;}
.curriculo-input,
.curriculo-select,
.curriculo-textarea {width:100%; box-sizing:border-box; border:1px solid #bcbcbc; border-radius:4px; padding:6px 10px; background:#fff; color:#333; font-size:14px;}
.curriculo-textarea {min-height:90px; resize:vertical;}
.curriculo-textarea-exp {min-height:120px;}

.curriculo-radio-wrap {display:flex; flex-wrap:wrap; gap:14px; padding-top:6px;}
.curriculo-radio-wrap label {font-size:14px; color:#505050;}
.curriculo-radio-wrap input {margin-right:4px;}
.curriculo-radio-nowrap {flex-wrap:nowrap; gap:10px;}
.curriculo-radio-nowrap label {white-space:nowrap;}

.curriculo-files {display:flex; flex-wrap:wrap; gap:10px; margin-top:6px;}
.curriculo-file-link {display:inline-block; color:var(--borges-link); text-decoration:underline; font-size:13px;}

.curriculo-footer {display:flex; align-items:center; justify-content:space-between; margin-top:10px;}
.curriculo-obg {color:#ff0000; font-size:13px;}
.curriculo-escolaridade-acoes {display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-start;}
.curriculo-btn-escolaridade {min-width:240px; text-align:center;}
.curriculo-footer-escolaridade {margin-top:14px; gap:12px; flex-wrap:wrap;}
.curriculo-form-finalizar {margin-left:auto;}
.curriculo-experiencia-acoes {display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end;}
.curriculo-btn-experiencia {min-width:240px; text-align:center;}
.curriculo-footer-experiencia {margin-top:10px;}

.curriculo-list {margin-top:10px;}
.curriculo-item {border:1px solid #ccc; border-radius:6px; background:#fff; padding:10px; margin-bottom:8px;}
.curriculo-item-title {font-size:15px; font-weight:600; color:#111; margin-bottom:4px;}
.curriculo-item-line {font-size:14px; color:#4f4f4f; line-height:140%;}
.curriculo-item-actions {margin-top:8px;}

.curriculo-final {text-align:center; padding:20px;}
.curriculo-final h3 {font-size:30px; color:var(--borges-dark); margin-bottom:10px;}
.curriculo-final p {font-size:15px; color:#555; margin-bottom:8px;}

.curriculo-crop-modal {position:fixed; z-index:99999; inset:0; background:rgba(0, 0, 0, 0.65); display:none; align-items:center; justify-content:center; padding:20px; box-sizing:border-box;}
.curriculo-crop-caixa {width:100%; max-width:460px; background:#f6f6f6; border:1px solid #bcbcbc; border-radius:10px; padding:16px;}
.curriculo-crop-titulo {font-size:22px; font-weight:700; color:var(--borges-dark); margin-bottom:4px;}
.curriculo-crop-subtitulo {font-size:13px; color:#555; margin-bottom:10px;}
.curriculo-crop-area {display:flex; justify-content:center; margin-bottom:12px;}
#cropCanvasFoto {width:320px; height:320px; border:2px solid #8a8a8a; border-radius:4px; background:#eaeaea; cursor:grab; touch-action:none;}
#cropCanvasFoto:active {cursor:grabbing;}
.curriculo-crop-linha {display:flex; align-items:center; gap:10px; margin-bottom:12px;}
.curriculo-crop-linha label {font-size:13px; font-weight:600; color:#333; min-width:44px;}
.curriculo-crop-linha input[type=range] {width:100%;}
.curriculo-crop-botoes {display:flex; justify-content:flex-end; gap:8px;}

@media (max-width: 1240px) {
    .curriculo-wrap {width:95%;}
}

@media (max-width: 900px) {
    .curriculo-choices {grid-template-columns:1fr; max-width:none;}
    .curriculo-choice-primary {width:100%;}
    .curriculo-choice-secondary {width:100%;}
    .curriculo-etapas {grid-template-columns:1fr;}
    .curriculo-row {grid-template-columns:repeat(6, 1fr);}
    .curriculo-col-9,
    .curriculo-col-8,
    .curriculo-col-7,
    .curriculo-col-6,
    .curriculo-col-5,
    .curriculo-col-4,
    .curriculo-col-3,
    .curriculo-col-2,
    .curriculo-col-1 {grid-column:span 6;}
    .curriculo-escolaridade-acoes {flex-direction:column;}
    .curriculo-btn-escolaridade {min-width:0; width:100%;}
    .curriculo-form-finalizar {margin-left:0; width:100%;}
    .curriculo-form-finalizar .curriculo-btn {width:100%;}
    .curriculo-experiencia-acoes {flex-direction:column;}
    .curriculo-btn-experiencia {min-width:0; width:100%;}
    .curriculo-radio-nowrap {flex-wrap:wrap;}
}
