/* ============================================================
   G9 LICENSE SELECTOR — dark theme
   Tempel di bawah CSS dark theme (--surface, --line, --teal, dst).
   ============================================================ */

.g9-license-widget {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 1.5rem 0;
  font-family: 'Inter', sans-serif;
}

.g9-license-discount-banner {
  text-align: center;
  padding: 0.7rem;
  border-radius: 8px;
  background: var(--surface-2, #1A1D24);
  color: var(--teal, #14E0DD);
  font-weight: 700;
  font-size: 0.85rem;
  border: 1px solid var(--line, #2A2E37);
}

.g9-license-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.g9-license-row {
  border: 1px solid var(--line, #2A2E37);
  border-radius: 10px;
  background: var(--surface, #121419);
  overflow: hidden;
  transition: border-color 0.15s;
}
.g9-license-row.is-checked { border-color: var(--teal, #14E0DD); }

.g9-license-row-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0.85rem 1rem;
  cursor: pointer;
}

.g9-license-checkbox {
  width: 18px;
  height: 18px;
  accent-color: var(--teal, #14E0DD);
  flex-shrink: 0;
}

.g9-license-name {
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--text, #F5F7FA);
  flex: 1;
}

.g9-license-info-btn {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid var(--text-mute, #565D69);
  background: transparent;
  color: var(--text-mute, #565D69);
  font-size: 0.7rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.g9-license-info-btn:hover { border-color: var(--teal, #14E0DD); color: var(--teal, #14E0DD); }

.g9-license-price-tag {
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--text-dim, #9BA3AF);
  flex-shrink: 0;
}
.g9-license-row.is-checked .g9-license-price-tag { color: var(--teal, #14E0DD); }

.g9-license-tier-wrap { padding: 0 1rem 0.85rem; }

.g9-license-tier-select {
  width: 100%;
  padding: 0.6rem 0.8rem;
  font-size: 0.85rem;
  border: none;
  border-radius: 8px;
  background: var(--surface-2, #1A1D24);
  color: var(--text, #F5F7FA);
  box-shadow: 0 0 0 1px var(--line, #2A2E37);
  cursor: pointer;
}
.g9-license-tier-select:focus { outline: none; box-shadow: 0 0 0 1px var(--teal, #14E0DD); }

.g9-license-loading {
  font-size: 0.8rem;
  color: var(--text-mute, #565D69);
  padding: 0.4rem 0;
}

.g9-license-totals {
  border-top: 1px solid var(--line, #2A2E37);
  padding-top: 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.g9-license-totals .row {
  display: flex;
  justify-content: space-between;
  font-size: 0.85rem;
  color: var(--text-dim, #9BA3AF);
}
.g9-license-totals .row.total {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text, #F5F7FA);
}
.g9-license-totals .g9lt-total { color: var(--teal, #14E0DD); }
.g9-license-totals .g9lt-discount-value { color: #FF7A45; font-weight: 700; }

.g9-license-addcart {
  background: var(--teal, #14E0DD);
  color: #031413;
  border: none;
  border-radius: 8px;
  padding: 0.9rem;
  font-weight: 800;
  font-size: 0.9rem;
  letter-spacing: 0.03em;
  cursor: pointer;
  transition: opacity 0.15s;
}
.g9-license-addcart:disabled { opacity: 0.4; cursor: not-allowed; }
.g9-license-addcart:not(:disabled):hover { opacity: 0.88; }

.g9-license-status {
  font-size: 0.8rem;
  text-align: center;
  color: var(--teal, #14E0DD);
}
.g9-license-status.is-error { color: #FF5A5A; }

/* Popover Permitted / Prohibited */
.g9-license-popover {
  position: absolute;
  z-index: 10000;
  width: 280px;
  background: var(--surface-2, #1A1D24);
  border: 1px solid var(--line, #2A2E37);
  border-radius: 12px;
  padding: 1rem 1.1rem;
  box-shadow: 0 12px 32px rgba(0,0,0,0.45);
}

.g9-pop-title {
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--text, #F5F7FA);
}
.g9-pop-desc {
  font-size: 0.75rem;
  color: var(--text-mute, #565D69);
  margin-top: 0.2rem;
  line-height: 1.4;
}

.g9-pop-section-title {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: 800;
  color: var(--text-mute, #565D69);
  margin: 0.85rem 0 0.4rem;
}

.g9-pop-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--text-dim, #9BA3AF);
  padding: 0.2rem 0;
}
.g9-pop-mark {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  font-weight: 800;
}
.g9-pop-ok .g9-pop-mark { background: rgba(38, 217, 128, 0.15); color: #26D980; }
.g9-pop-no .g9-pop-mark { background: rgba(255, 90, 90, 0.15); color: #FF5A5A; }

@media (max-width: 480px) {
  .g9-license-popover { width: 240px; }
}
