/* 履歷表頁專用樣式；共用元件沿用 site.css */
#rs-form [hidden], #rs-pv [hidden] { display: none !important; }
.resume-tip { background: #fff7e6; border-left: 4px solid var(--warn); padding: 10px 14px; border-radius: 6px; font-size: 1rem; }
.rs-file { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.rs-file:focus + .btn, .rs-photo label.btn:focus-within { outline: 2px solid var(--brand); }
.rs-photo { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.rs-photo .hint { flex-basis: 100%; margin: 0; }
.calc .qr-field input[type=text], .calc .qr-field textarea { min-width: 0; }
.rs-list { display: grid; gap: 12px; margin-bottom: 12px; }
.rs-row { border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px 4px; background: #fafbfd; }
.rs-row-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.rs-row-ops { display: flex; gap: 6px; flex-wrap: wrap; }
.rs-wide { grid-column: 1 / -1; }

#rs-pv h2 { margin-top: 1.5rem; }
.pv-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 10px 0; }
.pv-bar .btn { width: 100%; text-align: center; }
.pv-wrap { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #e9ecf1; margin: 10px 0; }
@media (max-width: 480px) { .pv-bar { grid-template-columns: 1fr; } }

/* A4 紙：以毫米為單位，預覽時用 transform 縮放 */
.rs-paper {
  --ac: #1d4ed8; --ac-soft: #e8eefc;
  width: 210mm; min-height: 297mm; padding: 14mm 15mm; box-sizing: border-box; background: #fff; color: #1b1f27; transform-origin: 0 0;
  font-family: "Noto Sans TC", "Microsoft JhengHei", "PingFang TC", "Heiti TC", sans-serif; font-size: 10.5pt; line-height: 1.55;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.rs-c-green { --ac: #15803d; --ac-soft: #e5f4ea; }
.rs-c-gray { --ac: #374151; --ac-soft: #eceef1; }
.rs-c-red { --ac: #9f1239; --ac-soft: #f9e6ec; }
.r-empty { color: #8a93a3; text-align: center; padding-top: 40mm; font-size: 12pt; }
.rs-paper ul { margin: 0; padding: 0; list-style: none; }
.r-name { margin: 0; font-size: 24pt; line-height: 1.2; letter-spacing: .05em; color: var(--ac); }
.r-role { font-size: 12.5pt; margin-top: 2px; }
.r-contact li { display: inline; font-size: 10pt; }
.r-contact li + li::before { content: "　|　"; color: #9aa5b5; }
.r-sec { margin-top: 5mm; }
.r-sec h3 { margin: 0 0 2.2mm; font-size: 12.5pt; color: var(--ac); break-after: avoid; }
.r-item { margin-bottom: 3.2mm; break-inside: avoid; }
.r-line { display: flex; justify-content: space-between; gap: 8mm; align-items: baseline; }
.r-main { font-weight: 700; font-size: 11pt; overflow-wrap: anywhere; }
.r-date { white-space: nowrap; font-size: 9.5pt; color: #5b6575; }
.r-sub { font-size: 10.5pt; }
.r-note { font-size: 9.5pt; color: #5b6575; }
.r-ul { margin-top: 1mm; }
.r-ul li { position: relative; padding-left: 4.2mm; overflow-wrap: anywhere; }
.r-ul li::before { content: ""; position: absolute; left: 1mm; top: .62em; width: 1.3mm; height: 1.3mm; border-radius: 50%; background: var(--ac); }
.r-chips { display: flex; flex-wrap: wrap; gap: 1.6mm; }
.r-chips li { background: var(--ac-soft); border-radius: 1.2mm; padding: .4mm 2.6mm; font-size: 10pt; overflow-wrap: anywhere; }
.r-p { margin: 0 0 2mm; text-align: justify; overflow-wrap: anywhere; }
.r-photo { width: 28mm; height: 36mm; flex: none; overflow: hidden; border-radius: 1mm; background: #e9ecf1; }
.r-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.r-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 8mm; }
.r-id { min-width: 0; flex: 1; }
.r-contact { margin-top: 2mm; }

/* 經典 */
.rs-classic .r-head { border-bottom: .5mm solid var(--ac); padding-bottom: 4mm; }
.rs-classic .r-sec h3 { border-bottom: .25mm solid #c7cdd8; padding-bottom: 1mm; }
.rs-classic .r-name { color: #1b1f27; }
/* 現代 */
.rs-modern .r-head { background: var(--ac); color: #fff; margin: -14mm -15mm 0; padding: 12mm 15mm 9mm; }
.rs-modern .r-name { color: #fff; }
.rs-modern .r-contact li + li::before { color: rgba(255, 255, 255, .6); }
.rs-modern .r-photo { background: rgba(255, 255, 255, .2); }
.rs-modern .r-sec h3 { padding-left: 2.4mm; border-left: 1.4mm solid var(--ac); }
/* 雙欄 */
.rs-side { padding: 0; }
.rs-side .r-cols { display: grid; grid-template-columns: 62mm 1fr; min-height: 297mm; }
.rs-side .r-side { background: var(--ac-soft); padding: 14mm 6mm 10mm 8mm; min-width: 0; }
.rs-side .r-mainc { padding: 14mm 12mm 10mm 9mm; min-width: 0; }
.rs-side .r-photo { margin-bottom: 4mm; width: 34mm; height: 44mm; }
.rs-side .r-name { font-size: 20pt; }
.rs-side .r-contact li { display: block; overflow-wrap: anywhere; }
.rs-side .r-contact li + li::before { content: none; }
.rs-side .r-contact li + li { margin-top: .8mm; }
.rs-side .r-line { flex-direction: column; gap: 0; }
.rs-side .r-mainc .r-line { flex-direction: row; }
.rs-side .r-chips li { background: #fff; }
.rs-side .r-mainc .r-sec:first-child { margin-top: 0; }

@media print {
  @page { size: A4; margin: 12mm 0; }
  html, body { background: #fff; margin: 0; }
  .site-header, .site-footer, .breadcrumb { display: none !important; }
  main.wrap { max-width: none; padding: 0; margin: 0; }
  main.wrap > * { display: none !important; }
  main.wrap > #rs-pv { display: block !important; }
  #rs-pv > h2, #rs-pv .pv-bar, #rs-pv .pv-hint, #rs-pv .status { display: none !important; }
  .pv-wrap { border: 0; background: none; overflow: visible; height: auto !important; margin: 0; border-radius: 0; }
  .rs-paper { transform: none !important; width: 210mm; min-height: 0; padding: 0 15mm; }
  .rs-modern .r-head { margin: 0 -15mm; padding: 9mm 15mm; }
  .rs-side { padding: 0; }
  .rs-side .r-cols { min-height: 0; }
  .rs-side .r-side { padding-top: 6mm; }
  .rs-side .r-mainc { padding-top: 6mm; }
}
