/* Outer module container */
.gmp-wrap {
  display: flex;
  justify-content: center; /* center the inner block horizontally */
  background: #000;
  color: #fff;
  width: 100%;
  margin: 0;
  padding: 40px;
}

/* Inner block: table + image side by side */
.gmp-inner {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  max-width: 800px;       /* cap width for symmetry */
  width: 100%;
}

/* Left column: table area */
.gmp-main {
  flex: 0 0 360px;        /* fixed width for table */
}

/* Right column: image area */
.gmp-image-panel {
  flex: 0 0 360px;        /* fixed width for image */
  display: flex;
  align-items: flex-start;
}
#gmp-image-container img {
  width: 100%;            /* fill the 360px column */
  height: auto;
  object-fit: contain;
  border: none;           /* remove white border */
}

/* Title */
.gmp-subtitle {
  margin: 0 0 20px;
  color: #fff;
  text-align: left;
  font-size: 1.6em;
}

/* Plan list */
.gmp-plan-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 360px;
}
.innovan-btn {
  background: #000;
  color: #fff;
  border: 1px solid #fff;
  padding: 12px 16px;
  cursor: pointer;
  text-align: left;
}
.innovan-btn:hover,
.innovan-btn.active {
  border-color: #fb0208;
  color: #fb0208;
}

/* Billing cycle block injected under the clicked plan */
.gmp-details {
  margin-top: 20px;
  background: #000;
  padding: 16px;
}
.gmp-options {
  display: grid;
  gap: 10px;
  border: 1px solid #fff;
  padding: 12px;
}

/* Option buttons */
.gmp-option-btn {
  background: #000;
  color: #fff;
  border: 1px solid #fff;
  padding: 10px;
  cursor: pointer;
}
.gmp-option-btn.active {
  border-color: #fb0208;
  color: #fb0208;
}

/* Custom input */
.gmp-input {
  display: flex;
  gap: 8px;
  align-items: center;
}
.gmp-input label { color: #fff; }
.gmp-input input[type='number'] {
  border: 1px solid #fff;
  padding: 8px;
  width: 120px;
  background: #000;
  color: #fff;
}

/* Register button: spacing and color logic */
.gmp-actions {
  margin-top: 20px;
  display: flex;
  gap: 12px;
  justify-content: flex-start;
}
.innovan-register {
  background: red;
  color: #fff;
  border: 2px solid red;
  padding: 12px 18px;
  cursor: pointer;
}
.innovan-register.active-red {
  background: #fb0208;
  border-color: #fb0208;
}
.innovan-register[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}
.gmp-feedback { color: #fff; }