/* ラインナップにない女優の依頼フォーム（/darake/request/）だけの見た目。共通の部品は style.css（.input・.btn・.err・.m-alert・.check など） */
.rq { padding-top: calc(var(--head-h) + 36px); padding-bottom: 80px; }
.rq-crumb { margin-bottom: 14px; color: var(--muted); }
.rq-crumb a.btn-link { margin-left: 0; }
.rq-eyebrow { font-size: 12px; font-weight: 800; letter-spacing: 0.3em; color: var(--accent2); }
.rq-h { margin-top: 6px; font-size: clamp(22px, 5.8vw, 30px); }
.rq-lead { margin-top: 14px; font-size: 15px; line-height: 1.9; }

.rq-box { margin-top: 24px; border: 5px solid rgba(212, 160, 23, 0.55); border-radius: 22px; background: linear-gradient(180deg, #11131b, #08090e); box-shadow: 0 0 30px rgba(212, 160, 23, 0.08); padding: 26px 22px 30px; }
.rq-form { display: grid; gap: 26px; }
.rq-field { min-width: 0; }
.rq-form .field > label, .rq-set > legend { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: #fff; }
.rq-set { margin: 0; padding: 0; border: 0; }
.rq-set > legend { padding: 0; margin-bottom: 10px; }
.rq-req, .rq-opt { display: inline-block; padding: 1px 8px; border-radius: 100px; font-size: 11px; font-weight: 700; line-height: 1.6; letter-spacing: 0.04em; }
.rq-req { color: #fff; background: var(--accent); }
.rq-opt { color: var(--muted); border: 1px solid rgba(255, 255, 255, 0.3); }
.rq-help { margin-top: 2px; font-size: 12.5px; line-height: 1.7; color: var(--muted); }
.rq-form .err { margin-top: 2px; }
.rq-textarea { min-height: 150px; line-height: 1.8; resize: vertical; }
.rq-count { margin-top: 2px; font-size: 12px; color: var(--muted); text-align: right; font-variant-numeric: tabular-nums; }

.rq-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.rq-choice { position: relative; display: inline-flex; cursor: pointer; }
.rq-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rq-choice span { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 100px; background: #000; font-size: 14px; line-height: 1.5; color: #d3d6de; transition: background 0.15s, border-color 0.15s; }
.rq-choice span::before { content: ""; flex: none; width: 14px; height: 14px; margin-right: 8px; border: 2px solid rgba(255, 255, 255, 0.55); border-radius: 50%; }
.rq-choice input:checked + span { border-color: var(--accent2); background: rgba(224, 33, 138, 0.16); color: #fff; }
.rq-choice input:checked + span::before { border-color: var(--accent2); background: radial-gradient(circle, var(--accent2) 45%, transparent 50%); }
.rq-choice input:focus-visible + span { outline: 3px solid var(--gold2); outline-offset: 2px; }
.rq-sub { margin-top: 14px; }
.rq-form .rq-sub > label { font-size: 13.5px; font-weight: 500; color: var(--muted); }

.rq-hint { margin-top: 8px; border: 1px solid rgba(63, 214, 196, 0.6); border-radius: 12px; background: rgba(63, 214, 196, 0.08); padding: 10px 14px; font-size: 14px; line-height: 1.7; }
.rq-hint-h { font-weight: 700; color: var(--teal); }
.rq-hint-list { margin: 4px 0 0; padding: 0; list-style: none; }
.rq-hint-list li { overflow-wrap: anywhere; }
.rq-hint-list a.text-link { color: #fff; }
.rq-hint-s { color: var(--muted); font-size: 12.5px; }

.rq-agree .rq-check { align-items: flex-start; min-height: 0; color: #fff; font-size: 15px; }
.rq-agree .rq-check input { margin-top: 3px; }
.rq-agree .rq-check > span { display: inline; line-height: 1.8; }
.rq-agree .rq-req { margin-left: 8px; vertical-align: 1px; }

.rq-submit { display: grid; justify-items: center; gap: 12px; margin-top: 4px; }
.rq-btn { width: 100%; max-width: 420px; }
.rq-btn[disabled] { filter: none; }
.rq-btn.rq-btn-done, .rq-btn.rq-btn-done[disabled] { opacity: 1; background: #10241f; border-color: rgba(63, 214, 196, 0.85); color: #e8fffb; box-shadow: none; text-shadow: none; cursor: default; }
.rq-status { width: 100%; max-width: 520px; font-size: 14px; line-height: 1.8; text-align: center; }
.rq-status-ng { border: 2px solid rgba(255, 155, 155, 0.6); border-radius: 14px; background: rgba(255, 155, 155, 0.08); color: var(--danger); padding: 10px 14px; }
.rq-status-ng a.text-link { color: #fff; }
.rq-alert p { margin: 0; }
.rq-alert a.text-link { color: #fff; }
.rq-alert-list { margin: 6px 0 0; padding-left: 1.4em; }
.rq-alert-list a { color: #fff; }

/* 人には見せない（ハニーポット欄・読み上げ用の文） */
.rq-hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.rq-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (min-width: 760px) {
  .rq-box { padding: 34px 40px 38px; }
}
