/* patch-2.6.0.css — Olimpiade NEXORA, sertifikat digital & fisik, soal acak per jenjang. */

/* Poster tegak di halaman rincian lomba */
.nx-poster-wrap { display: flex; justify-content: center; margin: 6px 0 16px; }
.nx-poster { max-width: 100%; max-height: 640px; width: auto; height: auto; border-radius: 16px; box-shadow: 0 10px 30px rgba(20, 40, 90, .18); }
.lomba-biaya-sertifikat { margin: 10px 0 0; padding-left: 18px; line-height: 1.7; font-size: 14px; }
.medali-harapan { background: #2E7D6B; color: #fff; }

/* Paket NEXORA di daftar kompetisi */
.nx-paket { overflow: hidden; border-color: #c9d6f2; background: linear-gradient(110deg, #f4f7ff 0%, #fff 55%); }
.nx-paket-isi { display: flex; gap: 18px; padding: 16px; align-items: center; flex-wrap: wrap; }
.nx-paket-isi img { width: 320px; max-width: 100%; height: auto; border-radius: 12px; box-shadow: 0 6px 18px rgba(20, 40, 90, .15); }
.nx-paket-isi > div { flex: 1; min-width: 260px; }
.nx-paket-isi h2 { margin: 2px 0 6px; font-size: 18px; color: #1a2f78; }
.nx-paket-isi p { margin: 0 0 10px; font-size: 13.5px; line-height: 1.55; color: #3d4b56; }
.nx-paket-form { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 0; }
.nx-paket-form select { width: auto; }

/* Formulir kompetisi */
.nx-grup { font-weight: 600; border-color: #9fb6e6; background: #f4f7ff; }
.nx-mode { display: flex; gap: 8px; flex-wrap: wrap; }
.nx-tabel-kuota input { width: 110px; }
.nx-komposisi .nx-angka { width: 84px; }
.nx-kurang { color: #b3261e; font-weight: 600; font-size: 12.5px; }
.nx-awas { color: #9a5b00; font-size: 12.5px; }
.nx-ukuran { display: flex; gap: 6px; }
.nx-ukuran input { width: 33%; }

/* Halaman sertifikat peserta */
.sx-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
@media (max-width: 900px) { .sx-grid { grid-template-columns: 1fr; } }
.sx-kartu .olim-total small { font-size: 12px; color: #6b7a86; font-weight: 400; }
.sx-fisik { border-color: #d9c8f5; }
.sx-fisik .panel-head { background: linear-gradient(90deg, #f5f0ff, #fff); }
.sx-fitur { margin: 0 0 10px; padding-left: 18px; line-height: 1.6; font-size: 13.5px; }
.sx-sub { font-size: 14px; margin: 16px 0 6px; }

/* Pesanan cetak */
.cx-kurir { display: grid; gap: 8px; margin: 10px 0; }
.cx-tahap { list-style: none; display: flex; gap: 0; padding: 0; margin: 0 0 16px; counter-reset: tahap; flex-wrap: wrap; }
.cx-tahap li { flex: 1; min-width: 120px; position: relative; padding: 30px 6px 0; text-align: center; font-size: 12.5px; color: #8795a1; counter-increment: tahap; }
.cx-tahap li::before { content: counter(tahap); position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 24px; height: 24px; border-radius: 50%;
  background: #e3e9f0; color: #54646f; font-weight: 700; line-height: 24px; font-size: 12px; z-index: 1; }
.cx-tahap li::after { content: ""; position: absolute; top: 11px; left: -50%; width: 100%; height: 2px; background: #e3e9f0; }
.cx-tahap li:first-child::after { display: none; }
.cx-tahap li.selesai, .cx-tahap li.kini { color: #1d2b36; font-weight: 600; }
.cx-tahap li.selesai::before { background: #1f8a4c; color: #fff; content: "✓"; }
.cx-tahap li.selesai::after, .cx-tahap li.kini::after { background: #1f8a4c; }
.cx-tahap li.kini::before { background: #1B4F91; color: #fff; }
.nx-hologram { display: inline-block; margin-top: 4px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 11.5px; font-weight: 700;
  padding: 2px 7px; border-radius: 4px; color: #3a2a7a;
  background: linear-gradient(120deg, #e8f4ff, #f3e8ff 40%, #fff4d6 70%, #e3fff2); border: 1px solid #c9b8f0; }
.nx-aksi form { display: flex; gap: 4px; align-items: center; margin: 0 0 4px; flex-wrap: wrap; }
.nx-in-hologram { width: 128px; font-size: 12px; font-family: ui-monospace, Menlo, Consolas, monospace; }
.nx-manual summary { cursor: pointer; font-size: 12px; color: #1B4F91; }
.nx-manual input { width: 110px; font-size: 12px; }
