.chorg-contact-bubble {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 80;
  display: grid;
  gap: 8px;
}

.chorg-contact-bubble a {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.14);
  color: #991b1e;
  font-weight: 800;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
}

.chorg-contact-bubble__main {
  background: #176452 !important;
  color: #fff !important;
}

.chorg-contact-form {
  display: grid;
  gap: 14px;
  max-width: 760px;
}

.chorg-contact-form label,
.chorg-docent label {
  display: grid;
  gap: 6px;
  font-weight: 700;
}

.chorg-hp { position: absolute; left: -9999px; }

.chorg-alert {
  margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 8px;
}

.chorg-alert--success { background: #e6f6ec; color: #135c33; }
.chorg-alert--error { background: #ffe9e9; color: #7a1212; }

.chorg-legal,
.chorg-docent {
  padding: clamp(52px, 8vw, 90px) 0;
}

.chorg-legal {
  max-width: 920px;
}

.chorg-docent {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.55fr);
  gap: clamp(22px, 4vw, 48px);
}

.chorg-docent__panel,
.chorg-docent__rules {
  padding: 28px;
  border: 1px solid rgba(22, 18, 14, 0.12);
  border-radius: 8px;
  background: #fff;
}

.chorg-virtual-hero {
  padding: 120px 0 70px;
  color: #fff;
  background: linear-gradient(135deg, #5f0e13, #1f4f73);
}

@media (max-width: 760px) {
  .chorg-docent { grid-template-columns: 1fr; }
  .chorg-contact-bubble { bottom: 14px; right: 14px; }
}
