/* ==========================================================
   運営が広告を作る・直す画面
   ========================================================== */
.admin-title-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.admin-title-row h1 { margin: 0; }

.ad-form fieldset {
  margin: 0 0 18px;
  padding: 14px 18px 18px;
  border: 1px solid #dde3ea;
  border-radius: 10px;
}

.ad-form legend {
  padding: 0 8px;
  font-weight: 700;
  color: #1f3a56;
}

.ad-form label {
  display: block;
  margin-top: 12px;
  font-size: 0.9rem;
  font-weight: 700;
  color: #1f3a56;
}

.ad-form label input[type="text"],
.ad-form label input[type="date"],
.ad-form label select {
  display: block;
  margin-top: 4px;
  padding: 7px 9px;
  border: 1px solid #dde3ea;
  border-radius: 6px;
  font: inherit;
  font-weight: 400;
}

.ad-form label select { max-width: 100%; }
.ad-form .row { display: flex; flex-wrap: wrap; gap: 16px; }
.ad-form .row label { margin-top: 12px; }

.ad-form-errors {
  margin: 0 0 16px;
  padding: 12px 16px;
  border: 1px solid #e6bcbc;
  border-left: 4px solid #c0392b;
  border-radius: 8px;
  background: #fdf2f2;
}

.ad-form-errors ul { margin: 6px 0 0; padding-left: 1.2em; }

.ad-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 6px;
}

/* 外部の広告主のしるし */
.ad-outside-mark {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 999px;
  background: #ece5f7;
  color: #503a78;
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.inline-form { display: inline-block; margin: 0; }

/* ---------- 型の選択・チェック ---------- */
.ad-form-label {
  display: block;
  margin-top: 12px;
  font-size: 0.9rem;
  font-weight: 700;
  color: #1f3a56;
}

.ad-form-types {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.ad-form-types label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #e3e9ef;
  border-radius: 8px;
  background: #fbfdff;
  font-weight: 400;
  cursor: pointer;
}

.ad-form-types label strong { display: block; color: #1f3a56; }
.ad-form-types label .small { display: block; margin-top: 2px; }

.ad-form label.ad-form-check {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-weight: 400;
}

.ad-form-next { margin-top: 18px; }

/* ---------- 画像 ---------- */
.ad-images .ad-image-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
  margin-top: 12px;
}

.ad-images .ad-image-box {
  padding: 12px 14px;
  border: 1px solid #e3e9ef;
  border-radius: 8px;
  background: #fbfdff;
}

.ad-images .ad-image-box h3 { margin: 0 0 8px; font-size: 0.94rem; }

.ad-images .ad-image-now {
  display: flex;
  align-items: center;
  min-height: 46px;
  margin: 0 0 8px;
}

.ad-images .ad-image-now img { max-width: 200px; max-height: 60px; object-fit: contain; }
.ad-images label.ad-form-check { margin: 8px 0; font-size: 0.84rem; }
.ad-images input[type="file"] { max-width: 100%; }

.ad-shot { display: inline-block; margin: 0 14px 10px 0; vertical-align: top; }

/* ---------- 作る手順 ---------- */
.ad-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 18px;
  padding: 0;
  list-style: none;
}

.ad-steps li {
  padding: 5px 12px;
  border: 1px solid #dde3ea;
  border-radius: 999px;
  background: #fff;
  font-size: 0.84rem;
  color: #41576f;
}

.ad-steps li strong { color: #0a86c9; }

/* ---------- まだ下書きを作っていないときの画像の枠 ---------- */
.ad-images.is-waiting { background: #f7f9fb; }

.ad-images-wait {
  margin: 0 0 12px;
  padding: 10px 14px;
  border: 1px solid #f0d9ae;
  border-left: 4px solid #d98f00;
  border-radius: 8px;
  background: #fffaf0;
  line-height: 1.6;
}

.ad-image-locked {
  margin: 8px 0;
  padding: 10px 12px;
  border: 1px dashed #c8d3de;
  border-radius: 8px;
  background: #fff;
  color: #6b7f93;
  font-size: 0.84rem;
  text-align: center;
}
