.terms-conditions-dialog {
  position: fixed !important;
  margin: 0 !important;
  padding: 0 !important;
}

.terms-conditions-dialog .ui-dialog-titlebar {
  padding: 15px !important;
  border-radius: 0 !important;
  border: none !important;
  background: #f5f5f5 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
}

.terms-conditions-dialog .ui-dialog-title {
  font-size: 1.2em !important;
  font-weight: bold !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Enhanced close button styles */
.terms-conditions-dialog .ui-dialog-titlebar-close {
  width: 20px !important;
  height: 20px !important;
  position: absolute !important;
  right: 15px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Style the X icon */
.terms-conditions-dialog .ui-dialog-titlebar-close::before {
  content: '×' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: bold !important;
  color: #000 !important; /* Pure black for maximum contrast */
}

/* Hover state */
.terms-conditions-dialog .ui-dialog-titlebar-close:hover::before {
  color: #333 !important;
}

/* Hide default jQuery UI icon */
.terms-conditions-dialog .ui-dialog-titlebar-close .ui-icon {
  display: none !important;
}

.terms-conditions-content {
  height: 400px !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.terms-conditions-text {
  flex: 1 1 auto !important;
  padding: 20px !important;
  margin: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  line-height: 1.5 !important;
  background: #fff !important;
}

.terms-conditions-buttons {
  flex: 0 0 auto !important;
  height: 80px !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  padding: 20px !important;
  background: #fff !important;
  border-top: 1px solid #eee !important;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1) !important;
  position: sticky !important;
  bottom: 0 !important;
  z-index: 1 !important;
}

.terms-conditions-agree,
.terms-conditions-cancel {
  min-width: 100px !important;
  padding: 10px 20px !important;
  border-radius: 4px !important;
  font-weight: bold !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.terms-conditions-agree {
  background-color: #032E41 !important;
  color: white !important;
  border: none !important;
}

.terms-conditions-agree:hover:not(.button--disabled) {
  background-color: #054569 !important;
}

.terms-conditions-agree.button--disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  background-color: #032E41 !important;
}

.terms-conditions-agree:focus {
  outline: 2px solid #054569 !important;
  outline-offset: 2px !important;
}

.terms-conditions-cancel {
  background-color: #f5f5f5 !important;
  color: #333 !important;
  border: 1px solid #ddd !important;
}

.terms-conditions-cancel:hover {
  background-color: #e5e5e5 !important;
}

/* Mobile Styles */
@media screen and (max-width: 768px) {
  .terms-conditions-dialog {
    width: 95% !important;
    max-width: 600px !important;
  }
}