@import url("./styles.css?v=20260516a");

/*
 * CAMP02 template-specific stylesheet entrypoint.
 * Keep all future CAMP02 visual overrides in this file
 * to avoid touching shared styles.css directly.
 */

/* EN：僅中文之表單區（住宿／停車／參與日期調查）。與 app_camp02_template applyTranslations 設定的 html lang 同步，
 * 不必等待 camp02_apply_init 報名視窗 API 完成後才加上 .d-none。 */
html[lang="en"] .camp02-lang-zh-only {
  display: none !important;
}

/* 報名須知主 article（#camp02-info 內） */
.camp02-notice-article.glass-panel {
  box-shadow: none;
  border-radius: 10px;
  backdrop-filter: blur(2px);
}

.camp02-schedule {
  --camp02-schedule-blob-pink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='%23FF0066' d='M42.6,-59.6C56.9,-48.2,71.3,-38,74.8,-24.9C78.3,-11.7,70.9,4.4,61.9,16.5C53,28.5,42.6,36.4,32,48.6C21.4,60.9,10.7,77.5,-3.1,81.7C-16.8,85.9,-33.7,77.7,-45.7,65.9C-57.8,54.2,-65.2,38.9,-66.4,24.2C-67.6,9.5,-62.6,-4.6,-57.2,-17.8C-51.8,-31,-46.1,-43.2,-36.5,-56.2C-26.9,-69.1,-13.4,-82.7,0.3,-83.2C14.1,-83.6,28.3,-71,42.6,-59.6Z' transform='translate(100 100)'/%3E%3C/svg%3E");
  --camp02-schedule-blob-cyan: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='%2300E5FF' d='M51.7,-67.2C65.3,-61.3,73.4,-43.9,74,-27.5C74.6,-11,67.8,4.4,59.9,16.6C51.9,28.7,42.9,37.6,32.7,50.3C22.5,63,11.3,79.5,-1.3,81.3C-13.8,83,-27.7,70.1,-37.9,57.4C-48.1,44.7,-54.7,32.3,-56.4,20C-58.2,7.6,-55.1,-4.6,-53.7,-20.1C-52.3,-35.6,-52.7,-54.3,-44.1,-61.8C-35.4,-69.2,-17.7,-65.4,0.7,-66.3C19.1,-67.3,38.1,-73,51.7,-67.2Z' transform='translate(100 100)'/%3E%3C/svg%3E");
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 1rem 1rem 0.35rem;
  border-radius: 1rem;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03));
  backdrop-filter: blur(4px);
}

.camp02-schedule > * {
  position: relative;
  z-index: 1;
}

.camp02-schedule::before,
.camp02-schedule::after {
  content: "";
  position: absolute;
  width: min(132%, 32rem);
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
  z-index: 0;
  mix-blend-mode: screen;
}

.camp02-schedule::before {
  top: -42%;
  right: -28%;
  opacity: 0.42;
  background-image: var(--camp02-schedule-blob-pink);
  animation: camp02-schedule-blob-a 20s ease-in-out infinite;
}

.camp02-schedule::after {
  bottom: -48%;
  left: -32%;
  opacity: 0.28;
  background-image: var(--camp02-schedule-blob-cyan);
  animation: camp02-schedule-blob-b 24s ease-in-out infinite;
}

@keyframes camp02-schedule-blob-a {
  0%,
  100% {
    transform: translate(0, 0) scale(1) rotate(0deg);
  }
  40% {
    transform: translate(-5%, 6%) scale(1.14) rotate(-16deg);
  }
  70% {
    transform: translate(4%, -4%) scale(0.9) rotate(12deg);
  }
}

@keyframes camp02-schedule-blob-b {
  0%,
  100% {
    transform: translate(0, 0) scale(1.05) rotate(0deg);
  }
  45% {
    transform: translate(6%, -5%) scale(0.92) rotate(14deg);
  }
  75% {
    transform: translate(-4%, 5%) scale(1.18) rotate(-11deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .camp02-schedule::before,
  .camp02-schedule::after {
    animation: none;
    opacity: 0.26;
  }
}

.camp02-schedule__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.camp02-schedule__item {
  display: grid;
  grid-template-columns: 4.4rem 1rem 1fr;
  column-gap: 0.7rem;
  row-gap: 0.1rem;
  align-items: center;
  position: relative;
  padding: 0.2rem 0.25rem 1rem;
  margin-bottom: 0.18rem;
}

.camp02-schedule__item::after {
  content: "";
  position: absolute;
  left: 4.86rem;
  top: 1.18rem;
  bottom: -0.2rem;
  width: 1px;
  background: rgba(255, 255, 255, 0.22);
}

.camp02-schedule__item:last-child::after {
  display: none;
}

.camp02-schedule__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.8rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.camp02-schedule__dot {
  width: 0.72rem;
  height: 0.72rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.1);
}

.camp02-schedule__text {
  grid-column: 3;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.25;
}

.camp02-schedule__text strong {
  display: block;
  font-size: 1rem;
  font-weight: 650;
  color: rgba(255, 255, 255, 0.9);
}

.camp02-schedule__text small {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.84rem;
  color: rgba(255, 255, 255, 0.6);
}

.camp02-schedule__item.is-highlight .camp02-schedule__dot {
  border-color: rgba(187, 162, 255, 0.95);
  background: #9e8cf7;
}

.camp02-schedule__item.is-highlight .camp02-schedule__text strong {
  color: #c7b0ff;
}

.camp02-schedule__item.is-end .camp02-schedule__dot {
  border-color: #eb8368;
  background: #e05a43;
}

.camp02-schedule__item.is-end .camp02-schedule__text strong {
  color: #ff6f5d;
  font-weight: 700;
}

@media (max-width: 575.98px) {
  .camp02-schedule__item {
    grid-template-columns: 1fr;
    row-gap: 0.3rem;
    padding: 0.45rem 0.45rem 0.9rem;
  }

  .camp02-schedule__item::after {
    left: 1.06rem;
    top: 2.35rem;
    bottom: -0.2rem;
  }

  .camp02-schedule__step,
  .camp02-schedule__dot,
  .camp02-schedule__text {
    grid-column: 1;
  }

  .camp02-schedule__step {
    justify-self: start;
    min-height: 1.7rem;
    padding: 0 0.62rem;
  }

  .camp02-schedule__dot {
    margin-left: 0.34rem;
  }

  .camp02-schedule__text {
    margin-left: 1.4rem;
  }

  .camp02-schedule__text strong {
    font-size: 0.96rem;
  }
}

/* 公告日程＋活動日程並排時，區塊內不要限制最大寬度 */
@media (min-width: 1200px) {
  .camp02-schedules-row .camp02-schedule {
    max-width: none;
  }
}

@media (min-width: 1200px) {
  .camp02-schedule {
    max-width: 52rem;
  }
}

.camp02-grantcorp-locked {
  cursor: not-allowed;
  opacity: 0.9;
  background-color: rgba(0, 0, 0, 0.2) !important;
}

.camp02-ack-outer {
  margin-top: 2.25rem;
  padding-top: 1.5rem;
  /* 含 mb-5 之餘，底部額外加大（大於 3rem） */
  margin-bottom: 4.5rem !important;
}

.camp02-ack-check--prominent {
  --bs-form-check-size: 1.9rem;
  margin-left: auto;
  margin-right: auto;
}

.camp02-ack-check .form-check-input {
  margin-top: 0.28em;
  border-color: rgba(255, 255, 255, 0.45);
  background-color: rgba(12, 18, 32, 0.35);
  cursor: pointer;
}

.camp02-ack-check .form-check-input:checked {
  background-color: var(--bs-primary, #0d6efd);
  border-color: var(--bs-primary, #0d6efd);
}

.camp02-ack-check .form-check-label {
  font-size: 0.95rem;
  line-height: 1.5;
  cursor: pointer;
}

.camp02-ack-check--prominent .form-check-input {
  /* BS5 內部用 --bs-form-check-size 控制寬高與打勾圖，僅改 em 在 input 上常幾乎看不出差異 */
  --bs-form-check-size: 1.9rem;
  width: 1.9rem !important;
  height: 1.9rem !important;
  min-width: 1.9rem !important;
  min-height: 1.9rem !important;
  font-size: 1rem;
  margin-top: 0.4rem;
  border-width: 2px;
  border-radius: 0.4rem;
  flex-shrink: 0;
}

.camp02-ack-check--prominent .form-check-label,
.camp02-ack-check--prominent .form-check-label.h3 {
  line-height: 1.4;
  font-size: calc(1.3rem + 0.3vw);
  padding-top: 0.2rem;
}

.camp02-ack-cta {
  margin-top: 1.35rem;
}

.camp02-start-btn[hidden] {
  display: none !important;
}

.camp02-apply-anchor {
  scroll-margin-top: calc(var(--nav-height, 72px) + 0.75rem);
  min-height: 1px;
}


@media (max-width: 575.98px) {
  .camp02-ack-check--prominent {
    --bs-form-check-size: 1.5rem;
    max-width: 100%;
  }

  .camp02-ack-check--prominent .form-check-input {
    --bs-form-check-size: 1.5rem;
    width: 1.5rem !important;
    height: 1.5rem !important;
    min-width: 1.5rem !important;
    min-height: 1.5rem !important;
    margin-top: 0.2rem;
  }

  .camp02-ack-check--prominent .form-check-label,
  .camp02-ack-check--prominent .form-check-label.h3 {
    font-size: 1.05rem !important;
    line-height: 1.45;
    font-weight: 500 !important;
  }

  .camp02-ack-cta {
    margin-top: 1.1rem;
  }

  .camp02-ack-cta .camp02-start-btn {
    --bs-btn-font-size: 1rem;
    --bs-btn-padding-y: 0.55rem;
    --bs-btn-padding-x: 1.1rem;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  .camp02-ack-check--prominent .form-check-label,
  .camp02-ack-check--prominent .form-check-label.h3 {
    font-size: calc(1.05rem + 0.3vw) !important;
  }
}

/* ─── CAMP02 application form ─── */
.glass-panel.glass-panel--camp02-form {
  overflow: visible;
}

.camp02-apply-shell {
  scroll-margin-top: calc(var(--nav-height, 72px) + 1rem);
  margin-bottom: 4rem;
}

.camp02-signup-schedule {
  border-radius: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(12, 18, 36, 0.55);
}

.camp02-form .form-label {
  font-size: 0.88rem;
  font-weight: 600;
  color: rgba(245, 247, 255, 0.88);
}

.camp02-form .form-control,
.camp02-form .form-select {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: var(--text-primary, #f5f7ff);
}

.w-150 {
  width: 150px;
}

/* 原生 date：iOS 使用系統選擇器；深色表單下日曆圖示可讀 */
.camp02-form input.camp02-birth-date[type="date"] {
  color-scheme: dark;
  min-height: 2.5rem;
}

.camp02-form input.camp02-birth-date[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(0.85);
  cursor: pointer;
}

.w-200 {
  width: 200px;
}

.select2-container .select2-selection--single {
  height: 38px;
  background: rgba(255, 255, 255, 0.1);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 35px;
  color: #FFFFFF;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
  height: 37px;
}

.select2-container .select2-selection--single .select2-selection__clear {
  font-size: 1.3em;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 38px;
}

.select2-container--default .select2-results__option {
  color: #2f2f2f;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  color: #1f1f1f;
  background-color: #d9e9ff;
}

.camp02-form .form-control:focus,
.camp02-form .form-select:focus {
  border-color: rgba(139, 92, 246, 0.55);
  box-shadow: 0 0 0 0.14rem rgba(139, 92, 246, 0.2);
}

.camp02-form textarea.form-control {
  min-height: 11rem;
}

.camp02-form-fieldset {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1rem;
  padding: 1.25rem 1.35rem;
  margin-bottom: 1.5rem;
  background: rgba(255, 255, 255, 0.02);
}

.camp02-form-fieldset legend {
  float: unset;
  width: auto;
  padding: 0.25rem 1.35rem;
  font-size: 1.25rem;
  background: rgba(0, 0, 0, 0.52);
  border-radius: 10px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), inset 0 -1px 0 rgba(255, 255, 255, 0.18), inset 6px 6px 16px rgba(255, 255, 255, 0.12), 0 10px 28px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(5px);
}

.camp02-form-badge {
  display: inline-block;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.camp02-form-multihint .form-label {
  display: inline-block;
}

.camp02-release-songs {
  margin-top: 0.35rem;
}

.camp02-release-songs-row + .camp02-release-songs-row {
  padding-top: 0.15rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

@media (min-width: 768px) {
  .camp02-release-songs-row + .camp02-release-songs-row {
    padding-top: 0;
    border-top: none;
  }
}

.camp02-check-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.2rem;
  align-items: center;
}

.camp02-range-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.camp02-range-option {
  margin: 0;
}

.camp02-range-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.camp02-range-option span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 8rem;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.9rem;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.camp02-range-option input[type="radio"]:checked + span {
  color: #fff;
  border-color: rgba(0, 229, 255, 0.7);
  background: linear-gradient(135deg, rgba(0, 229, 255, 0.24), rgba(139, 92, 246, 0.24));
  box-shadow: 0 0 0 0.12rem rgba(0, 229, 255, 0.18);
}

.camp02-range-option input[type="radio"]:focus-visible + span {
  outline: 2px solid rgba(0, 229, 255, 0.75);
  outline-offset: 2px;
}

.camp02-stack .form-label {
  font-weight: 600;
}

.camp02-form .camp02-invalid,
.camp02-form .camp02-invalid + .select2-container .select2-selection {
  outline: none;
  border-color: rgba(255, 80, 80, 0.85) !important;
  box-shadow: 0 0 0 0.18rem rgba(255, 80, 80, 0.55);
}

.camp02-intro-meta {
  font-size: 0.84rem;
  color: rgba(255, 255, 255, 0.55);
}

.camp02-avatar-editor {
  display: block;
  width: min(240px, 60vw);
}

.camp02-avatar-pick {
  width: 100%;
  border: 1px dashed rgba(255, 255, 255, 0.35);
  border-radius: 1rem;
  padding: 0.9rem;
  background: rgba(255, 255, 255, 0.03);
  color: inherit;
  display: grid;
  justify-items: center;
  gap: 0.6rem;
  cursor: pointer;
}

.camp02-avatar-pick:hover {
  border-color: rgba(0, 229, 255, 0.65);
  background: rgba(0, 229, 255, 0.08);
}

.camp02-avatar-preview {
  width: min(168px, 45vw);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background-color: rgba(255, 255, 255, 0.06);
  background-image: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.03));
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
}

.camp02-avatar-pick-text {
  font-size: 0.86rem;
  color: rgba(255, 255, 255, 0.82);
}

.camp02-avatar-modal {
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.1));
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.camp02-avatar-crop-wrap {
  width: 100%;
  max-height: 65vh;
}

.camp02-avatar-crop-wrap img {
  display: block;
  max-width: 100%;
}

/* file-input: 上傳按鈕 + 下方預覽列表；隱藏上傳進度與全域 Remove／Caption */
.camp02-form .fileinput-upload,
.camp02-form .kv-upload-progress,
.camp02-form .file-preview-status,
.camp02-form .kv-file-upload,
.camp02-form .file-caption,
.camp02-form .fileinput-remove {
  display: none !important;
}

.camp02-form .file-drop-zone-title,
.camp02-form .file-drop-zone-indicator {
  display: none !important;
}

/* showCaption:false 時按鈕列在預覽區後方的 span */
.camp02-form div.file-input > span:last-of-type {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.camp02-form div.file-input .btn-file {
  margin-bottom: 0.5rem;
}

/* 縮圖列：放大、刪除（圖示） */
.camp02-form .file-actions .kv-file-zoom,
.camp02-form .file-actions .kv-file-remove {
  display: inline-flex !important;
  align-items: center;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Krajee 預覽縮圖框：玻璃質感 */
.camp02-form .krajee-default.file-preview-frame {
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03));
  backdrop-filter: blur(4px);
}

.blockUI.blockOverlay,
.blockUI.blockMsg {
  z-index: 20000 !important;
}

/* Krajee 放大預覽 modal（#kvFileinputModal） */
#kvFileinputModal .modal-content {
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.1));
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

#kvFileinputModal .modal-header.kv-zoom-header {
  border-bottom-color: rgba(0, 0, 0, 0.08);
}

#kvFileinputModal .kv-zoom-title,
#kvFileinputModal .kv-zoom-size {
  color: rgba(20, 24, 40, 0.92);
}

/* 預設 outline-secondary + 淺底導致圖示幾乎看不見 */
#kvFileinputModal .kv-zoom-actions .btn,
#kvFileinputModal .kv-zoom-actions .btn-kv {
  color: rgba(255, 255, 255, 0.95) !important;
  background: rgba(30, 35, 55, 0.55) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}

#kvFileinputModal .kv-zoom-actions .btn:hover,
#kvFileinputModal .kv-zoom-actions .btn-kv:hover {
  color: #fff !important;
  background: rgba(30, 35, 55, 0.75) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
}

#kvFileinputModal .kv-zoom-actions .btn.active,
#kvFileinputModal .kv-zoom-actions .btn-kv.active {
  color: #fff !important;
  background: rgba(0, 120, 200, 0.45) !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
}

#kvFileinputModal .kv-zoom-actions .bi {
  color: inherit;
}

/* 前一張／後一張浮動箭頭同上 */
#kvFileinputModal .floating-buttons .btn,
#kvFileinputModal .floating-buttons .btn-kv,
#kvFileinputModal .floating-buttons .btn-navigate {
  color: rgba(255, 255, 255, 0.95) !important;
  background: rgba(30, 35, 55, 0.55) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}

#kvFileinputModal .floating-buttons .btn:hover {
  color: #fff !important;
  background: rgba(30, 35, 55, 0.8) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
}

/* Krajee bootstrap-file-input：縮放 modal 內容撐滿可用寬度（避免 plugin 對 .kv-zoom-body 設 width:auto 顯不全） */
.file-zoom-dialog.modal .kv-zoom-body,
.modal.file-zoom-dialog .kv-zoom-body {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
}

.file-zoom-dialog .kv-zoom-body .file-preview-image,
.file-zoom-dialog .kv-zoom-body img.kv-preview-data {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  margin-inline: auto;
}

/* Krajee 放大預覽：dialog 必須高於任何被強制拉高的 .modal-backdrop（見下方 #camp02AvatarCropModal） */
#kvFileinputModal.modal,
#kvFileinputModal.modal.show,
.modal.file-zoom-dialog {
  z-index: 20140 !important;
}

/* avatar crop modal: keep above backdrop and within viewport */
#camp02AvatarCropModal {
  z-index: 20120 !important;
}

/* 僅在「大頭照裁剪」開啟時拉高遮罩；勿對全域 .modal-backdrop 設 z-index，否則附件放大預覽的 backdrop 會蓋在 #kvFileinputModal 之上 */
body:has(#camp02AvatarCropModal.show) .modal-backdrop.show {
  z-index: 20110 !important;
}

#camp02AvatarCropModal .modal-dialog {
  margin: 0.85rem auto;
}

#camp02AvatarCropModal .modal-content {
  max-height: calc(100vh - 1.7rem);
}

#camp02AvatarCropModal .modal-body {
  overflow: auto;
}

#camp02AvatarCropModal .camp02-avatar-crop-wrap {
  max-height: min(62vh, 620px);
}

@media (max-width: 767.98px) {
  .camp02-check-grid {
    flex-direction: column;
    align-items: flex-start;
  }

  .camp02-range-group {
    gap: 0.45rem;
  }

  .camp02-range-option span {
    min-width: 6.8rem;
    font-size: 0.84rem;
    padding: 0.42rem 0.62rem;
  }
}

/* 報名須知：條列、子項、住宿／餐食對照表 */
.glass-panel .camp02-rules-list > li + li {
  margin-top: 0.65rem;
}

.glass-panel .camp02-rules-list ul,
.glass-panel .camp02-rules-list ol {
  margin-bottom: 0;
}

.glass-panel .camp02-subrules {
  margin-top: 0.45rem;
  padding-left: 1.35rem;
  color: rgba(255, 255, 255, 0.55);
}

.glass-panel .camp02-subrules li + li {
  margin-top: 0.35rem;
}

.glass-panel .camp02-compare-table {
  --camp02-cell-pad-x: 0.65rem;
  --camp02-cell-pad-y: 0.45rem;
  border-collapse: separate;
  border-spacing: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.875rem;
  line-height: 1.4;
}

.glass-panel .camp02-compare-table thead th {
  font-weight: 600;
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  padding: var(--camp02-cell-pad-y) var(--camp02-cell-pad-x);
}

.glass-panel .camp02-compare-table tbody th,
.glass-panel .camp02-compare-table tbody td {
  padding: var(--camp02-cell-pad-y) var(--camp02-cell-pad-x);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  vertical-align: top;
}

.glass-panel .camp02-compare-table tbody th {
  font-weight: 600;
  width: 22%;
}

.glass-panel .camp02-compare-table tbody tr:last-child th,
.glass-panel .camp02-compare-table tbody tr:last-child td {
  border-bottom: none;
}

@media (max-width: 575.98px) {
  .glass-panel .camp02-compare-table {
    font-size: 0.8rem;
  }

  .glass-panel .camp02-compare-table tbody th {
    width: 25%;
  }
}

