/* ========== Base layout ========== */
.qep-hubspot-meeting {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  align-items: start;
}

.qep-hubspot-left {
  background: #0c1730;
  color: #fff;
  border-radius: 16px;
  padding: 24px;
}

.qep-hubspot-right {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 24px;
}

.qep-hubspot-brand { font-weight: 700; opacity: .8; margin-bottom: 8px; }

.qep-hubspot-title {
  margin: 0 0 12px;
  font-size: 22px;
  color: #fff;
}

.qep-hubspot-label {
  display: block;
  font-size: 13px;
  margin: 10px 0 6px;
  color: #6b7280;
}

.qep-hubspot-duration { font-weight: 600; margin-bottom: 6px; }

.qep-hubspot-tz { font-size: 12px; color: #6b7280; margin-bottom: 12px; }

.qep-hubspot-times {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
}

.qep-hubspot-time {
  appearance: none;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.qep-hubspot-time:hover {
  border-color: #06F;
  color: #fff;
  background: #06F;
}

.qep-hubspot-time.is-active {
  border-color: #06F;
  color: #fff;
  background: #06F;
  box-shadow: 0 0 0 2px rgba(37,99,235,.15);
}

.qep-hubspot-selected-note {
  margin-top: 12px;
  font-size: 13px;
  color: #002050;
}

/* ========== Calendar (Air Datepicker) ========== */
.qep-hubspot-calendar { margin-top: 12px; }

.qep-hubspot-left .air-datepicker {
  width: 100%;
  max-width: none;
  background: #0c1730;
  color: #fff;
  border: 0;
  box-shadow: none;
  --adp-cell-size: 40px;
  --adp-day-cell-size: 40px;
}

.qep-hubspot-left .air-datepicker--content { background: transparent; }

.qep-hubspot-left .air-datepicker-nav--title,
.qep-hubspot-left .air-datepicker-nav--action { color: #fff; }

.qep-hubspot-left .air-datepicker-body { color: #fff; }

/* Hover = Quantum blue */
.qep-hubspot-left .air-datepicker-cell.-day-:hover {
  background: #06F !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* Selected day */
.qep-hubspot-left .air-datepicker-cell.-day-.-selected- {
  background: #06F !important;
  color: #fff !important;
  box-shadow: 0 0 0 2px rgba(0,102,255,0.25);
}

#qep-hubspot-meeting-1-title-2{
  color: #002050;
}

/* Disabled / blocked days */
.qep-hubspot-left .air-datepicker-cell.-disabled-,
.qep-hubspot-left .air-datepicker-cell.-blocked- {
  pointer-events: none !important;
  cursor: not-allowed !important;
  opacity: .45;
}

.qep-hubspot-left .air-datepicker-cell.-disabled-:hover,
.qep-hubspot-left .air-datepicker-cell.-blocked-:hover {
  background: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
}

/* ========== Timezone dropdown ========== */
.qep-hubspot-tz-select {
  width: 100%;
  appearance: none;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 12px;
  font: inherit;
}

.qep-hubspot-tz-select:focus {
  outline: none;
  border-color: #06F;
  box-shadow: 0 0 0 2px rgba(0,102,255,.15);
}

/* ========== Steps (wizard) ========== */
.qep-hubspot-meeting .qep-step { display: none; grid-template-columns: 1fr 1fr; gap: 24px; }
.qep-hubspot-meeting .qep-step.is-active { display: grid; }
@media (max-width:900px){ .qep-step { grid-template-columns: 1fr; } }

.qep-stepper { display:flex; gap:16px; align-items:center; margin:0 0 16px; position: relative; }
.qep-stepper-item {
  font-weight: 600;
  opacity: .5;
  padding: 6px 10px;
  border-radius: 9999px;
  background: rgba(255,255,255,0.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
}

/* Active step (highlight) */
.qep-stepper-item.is-active {
  opacity: 1;
  background: #061a3a;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 0 0 2px rgba(0,102,255,.15) inset;
}

/* Completed step (Choose Time when on Your Info) */
.qep-stepper-item.is-complete {
  opacity: 1;
  color: #9fb7ff;
  background: rgba(6,102,255,0.12);
  border: 1px solid rgba(6,102,255,0.35);
}

.qep-stepper::before { content: none; }

/* Subtle connector line */
.qep-stepper::before {
  content: "";
  display: none;
  position: absolute;
  top: 50%; left: 0; right: 0; height: 2px;
  background: rgba(255,255,255,0.08);
  transform: translateY(-50%);
}
.qep-stepper > .qep-stepper-item { position: relative; z-index: 1; }

/* Actions */
.qep-actions { margin-top: 16px; display: flex; gap: 10px; }
.qep-btn { appearance: none; border: 0; padding: 10px 14px; border-radius: 10px; cursor: pointer; font: inherit;color:#fff; }
.qep-btn-primary { background: #06F; color: #fff; }
.qep-btn-primary[disabled] { opacity: .5; cursor: not-allowed; }
.qep-btn-ghost { background: transparent; border: 1px solid #e5e7eb; }

/* ========== Step 2 (centered card like HubSpot) ========== */
.qep-step-2.is-active { display: block; }   /* overrides 2-col grid for this step */
.qep-step2-card {
  max-width: 760px;
  margin: 0 auto;
}

.qep-info-header,
.qep-info-grid {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 16px;
}

.qep-info-header { margin-bottom: 16px; }
.qep-info-header h3 { margin: 0 0 6px; }

.qep-summary {
  font-size: 14px;
  color: #002050;
  display: flex;
  gap: 10px;
  align-items: center;
}

.qep-link { background: none; border: 0; color: #06F; cursor: pointer; padding: 0; }

.qep-info-grid { display: grid; gap: 12px; }
.qep-info-grid label { display: block; font-size: 14px; color: #374151; }
.qep-info-grid input {
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
}
.qep-info-grid input:focus {
  outline: none;
  border-color: #06F;
  box-shadow: 0 0 0 2px rgba(0,102,255,.15);
}

.qep-step2-actions { display: flex; justify-content: space-between; margin-top: 16px; }


/* When "Choose Time" step is complete */
.qep-stepper-item.is-complete {
  position: relative;
  background: #06F !important;         /* full Quantum Blue */
  color: transparent !important;       /* hide label but keep spacing */
  border: 1px solid #06F !important;
  opacity: 1;
}

/* White check mark centered within the button */
.qep-stepper-item.is-complete::after {
  content: "✓";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
}

/* Keep consistent button size and radius */
.qep-stepper-item {
  min-width: 120px;                    /* ensures buttons align evenly */
  text-align: center;
  border-radius: 9999px;
  transition: background 0.3s ease, color 0.3s ease;
}


/* Full-card overlay loader */
.qep-overlay {
  position: absolute;
  inset: 0;
  background: rgba(12,23,48,0.60); /* navy veil */
  display: none;
  place-items: center;
  border-radius: 12px;
  z-index: 10;
}
.qep-overlay.is-visible { display: grid; }

/* Spinner */
.qep-spinner {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 3px solid rgba(255,255,255,0.25);
  border-top-color: #06F;          /* Quantum blue */
  animation: qepSpin 0.9s linear infinite;
  background: transparent;
}
@keyframes qepSpin { to { transform: rotate(360deg); } }

/* Optional success flash */
.qep-success {
  background: #0f172a;
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  padding: 10px 14px;
  border-radius: 10px;
  font-weight: 600;
}



/* ========== Responsive calendar cell sizes ========== */
@media (max-width: 640px) {
  .qep-hubspot-left .air-datepicker {
    --adp-cell-size: 34px;
    --adp-day-cell-size: 34px;
  }
}

/* Ensure meeting wrapper stays single-column on small screens */
@media (max-width: 900px) {
  .qep-hubspot-meeting { grid-template-columns: 1fr; }
}
