/* ============================================================
   cv-tier2.css — Profesional
   Sidebar soft-tinted + header banda de color + body blanco.

   FILOSOFÍA MOBILE: No se hace responsive stacking.
   El CV se escala (zoom) para que se vea igual que el PDF,
   aunque sea pequeño en mobile. El usuario puede hacer pinch-zoom
   para leer detalles. La fidelidad del diseño tiene prioridad.
============================================================ */

/* ── Variables from CV color picker ────────────────────────── */
:root {
  --cv-header-bg:   #1E3155;
  --cv-header-text: #ffffff;
}

/* ── Template controls ──────────────────────────────────────── */
#cv-tpl-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 10px 14px 8px;
  background: #F9F9FB;
  border-bottom: 1px solid #E2E8F0;
}
.ctrl-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .7px;
  color: #8B82A7;
}
.ctrl-divider { display: none; }
#cv-tpl-switch {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.t-btn {
  background: none;
  border: 1.5px solid #E2E8F0;
  border-radius: 6px;
  padding: 4px 11px;
  font-size: 12px;
  color: #6B7280;
  cursor: pointer;
  font-family: inherit;
  transition: all .15s;
  white-space: nowrap;
}
.t-btn:hover  { border-color: #7C3AED; color: #7C3AED; }
.t-btn.active {
  border-color: #7C3AED; color: #7C3AED;
  background: rgba(124,58,237,.06); font-weight: 600;
}
#cv-color-palette {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  row-gap: 8px;
}
#cv-color-palette.visible { display: flex; }
.swatch {
  width: 18px; height: 18px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,.5);
  cursor: pointer;
  transition: transform .15s;
  flex-shrink: 0;
}
.swatch:hover { transform: scale(1.2); }
.swatch.active { transform: scale(1.15); }

/* ── Header band ────────────────────────────────────────────── */
.cv-t2-header {
  background: var(--cv-header-bg);
  color: var(--cv-header-text);
  padding: 18px 16px 14px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.cv-t2-name .ats-name {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--cv-header-text) !important;
  text-align: left !important;
  margin-bottom: 0 !important;
  line-height: 1.25;
}
.cv-t2-headline .ats-headline-text {
  font-size: 12px !important;
  color: rgba(255,255,255,.82) !important;
  text-align: left !important;
  margin-bottom: 0 !important;
  font-weight: 400 !important;
}
.cv-t2-contact .ats-contact {
  font-size: 11px !important;
  color: rgba(255,255,255,.72) !important;
  text-align: left !important;
  margin-bottom: 0 !important;
}
.cv-t2-header .cv-edit-btn {
  background: none !important;
  border-color: rgba(255,255,255,.35) !important;
  color: rgba(255,255,255,.75) !important;
  font-size: 10px !important;
  padding: 2px 8px !important;
}
.cv-t2-header .cv-edit-btn:hover {
  border-color: rgba(255,255,255,.75) !important;
  color: #fff !important;
}
.cv-t2-header .cv-name-row { justify-content: flex-start; }
.cv-t2-header .cv-name-form { background: rgba(255,255,255,.97) !important; }
.cv-t2-header .cv-name-form * { color: #0F172A !important; }
.cv-t2-header .cv-name-form .save { background: #7C3AED !important; color: #fff !important; }
.cv-t2-header .cv-edited-badge {
  background: rgba(255,255,255,.2) !important;
  color: rgba(255,255,255,.9) !important;
}

/* ── Grid: sidebar + body ───────────────────────────────────── */
.cv-t2-grid {
  display: flex;
  /* Never collapse to single column — maintain design fidelity */
  flex-direction: row !important;
  min-height: 600px;
}
.cv-t2-sidebar {
  width: 178px !important;
  min-width: 178px !important;
  flex-shrink: 0;
  padding: 16px 12px;
  overflow: hidden;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  /* Note: background is applied inline via JS (soft tint computed from hex) */
}
.cv-t2-body {
  flex: 1;
  min-width: 0;
  padding: 16px 16px 20px;
  background: #fff;
}

/* Sidebar sections */
.cv-t2-sidebar .ats-section { margin-bottom: 12px; }
.cv-t2-sidebar .ats-section-title {
  font-size: 8px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .9px;
  color: var(--cv-header-bg) !important;
  border-bottom: 0.5px solid var(--cv-header-bg);
  padding-bottom: 4px;
  margin-bottom: 7px;
}
.cv-t2-sidebar .ats-body-text {
  font-size: 11px !important;
  color: #1a1a1a !important;
  line-height: 1.6;
}
.cv-t2-sidebar .cv-skill-item {
  font-size: 9.5px !important;
  display: inline-block;
  margin: 2px 2px 2px 0;
  padding: 2px 7px;
  border-radius: 20px;
  border: 1px solid rgba(0,0,0,.15);
  color: #2D2D3A !important;
  background: rgba(255,255,255,.55);
  line-height: 1.5;
}
.cv-t2-sidebar .cv-skill-category {
  display: block;
  font-size: 8px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--cv-header-bg) !important;
  margin: 6px 0 4px;
}
.cv-t2-sidebar .ats-exp-title {
  font-size: 10px !important; font-weight: 700 !important; color: #1a1a1a !important;
}
.cv-t2-sidebar .ats-exp-date { font-size: 9.5px !important; color: #555 !important; }
.cv-t2-sidebar .ats-bullet-list li { font-size: 9.5px !important; }
.cv-t2-sidebar .cv-edit-btn {
  font-size: 9px !important; padding: 2px 6px !important;
  color: var(--cv-header-bg) !important; border-color: rgba(0,0,0,.2) !important;
}

/* Body sections */
.cv-t2-body .ats-section { margin-bottom: 14px; }
.cv-t2-body .ats-section-title {
  font-size: 9px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .7px;
  color: var(--cv-header-bg) !important;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--cv-header-bg);
  margin-bottom: 8px;
}

/* Skill display */
.cv-skill-item {
  display: inline-block;
  font-size: 11px;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 20px;
  padding: 2px 8px;
  margin: 2px 2px 2px 0;
  line-height: 1.5;
  color: #333;
  background: transparent;
}
.cv-skill-category {
  display: block;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--cv-header-bg);
  margin: 8px 0 5px;
}

/* Locked notice */
.ats-locked-notice {
  background: rgba(124,58,237,.04);
  border: 1px dashed rgba(124,58,237,.2);
  border-radius: 6px;
  padding: 10px;
  font-size: 12px;
  color: #7C3AED;
  text-align: center;
}

/* ═══════════════════════════════════════════════════════════
   MOBILE: escalar el doc completo para fidelidad de diseño.
   NO hacer stacking/columna única — el PDF se ve en 2 columnas
   y el preview debe verse igual, aunque más pequeño.
   
   Zoom 0 a 0.7: el CV de ~530px natural → cabe en ~370px
   Los usuarios pueden hacer pinch-zoom para leer.
═══════════════════════════════════════════════════════════ */
@media (max-width: 600px) {
  /* Scale down the CV doc to fit mobile viewport faithfully */
  .cv-ats-doc {
    /* Chrome/Safari/Edge: zoom scales element AND its layout box */
    zoom: 0.68;
  }
  /* Adjust outer wrapper so scroll doesn't appear inside */
  .cv-ats-wrap {
    overflow: hidden;
  }
  /* Controls stay at normal size — outside the zoomed doc */
  #cv-tpl-controls {
    zoom: 1;
  }
}

/* ── Print ──────────────────────────────────────────────────── */
@media print {
  .cv-t2-header, .cv-t2-sidebar {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .cv-ats-doc { zoom: 1 !important; }
  .cv-edit-btn, .cv-del-btn, .cv-add-btn,
  .cv-name-edit-btn, .cv-name-form, .cv-af,
  #cv-tpl-controls { display: none !important; }
}
