/* ===== form group 기본 ===== */
.counsel-form-group {
  margin: 0;
  padding: 0;
  width: 100%;
  min-width: 0;
}

/* ===== overlay ===== */
.counsel-popup-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0,0,0,.4);
  z-index: 9998;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

/* ===== container ===== */
.counsel-popup-container {
  max-width: 400px;
  width: 100%;
  position: relative;
}

.counsel-popup-content {
  padding: 0;
  max-height: 90vh;
  overflow-y: auto;
  border-radius: 4px;
}

/* ===== thumbnail ===== */
.counsel-popup-thumbnail {
  font-size: 0;
}

.counsel-popup-thumbnail img {
  max-width: 100%;
  height: auto;
}

/* ===== form ===== */
.counsel-popup-form {
  background-color: #8dc63f;
  padding: 12px 20px;
}

.counsel-popup-form .form_flex_wrap {
  display: flex;
  gap: 10px;
}

.counsel-popup-form .form_flex_inner {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

/* ===== label ===== */
.counsel-form-group label {
  display: block;
  font-weight: 600;
  color: #fff;
  font-size: 14px;
}

/* ===== input 초기화 + 통합 ===== */
.counsel-form-group input {
  all: unset;
  box-sizing: border-box;
  width: 100%;
  display: block;

  padding: 12px 14px;
  background: #fff;
  border-radius: 10px;

  font-size: 14px;
  font-weight: 500;
}

.counsel-form-group input:focus {
  outline: none;
}

/* ===== agree ===== */
.counsel-form-group-agree {
  margin-top: 8px;
}

.counsel-form-group-agree .counsel-checkbox-label-agree {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  font-size: 14px;
  color: #fff;
}

.counsel-form-group-agree
.counsel-checkbox-label-agree input[type=checkbox] {
  display: none;
}

.counsel-form-group-agree
.counsel-checkbox-label-agree input[type=checkbox] + .check_box {
  width: 14px;
  height: 14px;
  margin-right: 8px;
  border-radius: 4px;
  border: 1px solid #fff;
  cursor: pointer;
}

.counsel-form-group-agree
.counsel-checkbox-label-agree input[type=checkbox]:checked + .check_box {
  background-color: #27954e;
  border: 0;
}

.counsel-form-group-agree span {
  user-select: none;
}

/* ===== submit ===== */
.counsel-submit-btn {
  width: 100%;
  min-width: 88px;
  max-width: 120px;
  height: 100%;
  padding: 10px 16px;

  background-color: #27954e;
  color: #fff;

  display: flex;
  align-items: center;
  justify-content: center;

  border: none;
  border-radius: 10px;

  font-size: 18px;
  font-weight: 600;
  cursor: pointer;

  white-space: nowrap;
  transition: all .3s;
}

/* ===== footer ===== */
.counsel-popup-footer {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 10px;
}

.counsel-hide-today-btn,
.counsel-close-btn {
  padding: 10px 20px;
  background-color: #1d1818;
  color: #fff;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all .3s;
}
