/* 杜王町運輸 — 集荷スケジュール（サイト本体側）
   参考: 新世紀海運の「本船スケジュール」＝BtoB物流は時刻表を持つ／今井運送の代表・配車の2電話 */

.pickup{position:relative;padding-block:var(--sp-5) var(--sp-6);background:var(--paper-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pickup__head{display:grid;grid-template-columns:1fr auto;gap:var(--sp-3);align-items:end;margin-bottom:var(--sp-3)}

/* 配車センター直通（今井運送に倣い、代表とは別に出す） */
.pk-dispatch{border-left:3px solid var(--shin);padding-left:1rem}
.pk-dispatch__l{font-size:.78rem;letter-spacing:.14em;color:var(--shin);font-weight:500}
.pk-dispatch__n{font-size:clamp(1.2rem,2.6vw,1.6rem);font-weight:700;letter-spacing:.02em;
  font-variant-numeric:tabular-nums;color:var(--fuka);line-height:1.3}
.pk-dispatch__t{font-size:.8rem;color:var(--ink-soft)}

/* --- スケジュール表 --- */
.pk-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.4rem}
.pk-tbl{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;background:#fff;
  border:1px solid var(--line);border-radius:3px}
.pk-tbl th,.pk-tbl td{border-bottom:1px solid var(--line);padding:0}
.pk-tbl tbody tr:last-child th,.pk-tbl tbody tr:last-child td{border-bottom:none}

.pk-th,.pk-th-area{background:var(--paper);font-weight:500;padding:.6rem .4rem;text-align:center;
  border-bottom:1px solid var(--line);font-size:.82rem}
.pk-th-area{text-align:left;padding-left:1rem;width:11.5rem}
.pk-th__d{display:block;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.pk-th__w{display:block;font-size:.72rem;color:var(--ink-soft);margin-top:.1rem}
.pk-th.is-sun .pk-th__d{color:#a33}
.pk-th.is-sat .pk-th__d{color:#2f6690}

.pk-area{text-align:left;padding:.7rem .6rem .7rem 1rem;border-right:1px solid var(--line);
  border-left:3px solid var(--fuka);background:#fff;font-weight:500}
.pk-area__n{display:block;font-size:.95rem}
.pk-area__s{display:block;font-size:.72rem;color:var(--ink-soft);font-weight:400;margin-top:.1rem;
  font-variant-numeric:tabular-nums}
.pk-cell{padding:.28rem !important;text-align:center;vertical-align:middle}

.pk-slot{display:flex;flex-direction:column;gap:.1rem;align-items:center;justify-content:center;
  width:100%;min-height:2.9rem;padding:.3rem .2rem;cursor:pointer;font-family:var(--f);
  background:#fff;border:1px solid var(--line);border-radius:2px;
  transition:border-color .16s,background .16s,transform .16s}
.pk-slot:hover:not(:disabled){border-color:var(--fuka);transform:translateY(-1px)}
.pk-slot:disabled{cursor:default}
.pk-slot__s{font-size:.8rem;font-weight:500;line-height:1.2}
.pk-slot__r{font-size:.68rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}

.pk-slot.is-open{background:#eef5e8;border-color:#c9dfb8}
.pk-slot.is-open .pk-slot__s{color:#2c5c1f}
.pk-slot.is-few{background:#fbf1dc;border-color:#e8d3a6}
.pk-slot.is-few .pk-slot__s{color:#8a5606}
.pk-slot.is-full{background:#f2ecea;border-color:#ddcdc8}
.pk-slot.is-full .pk-slot__s{color:#8a5347}
.pk-slot.is-late{background:#f2ecea;border-color:#ddcdc8}
.pk-slot.is-late .pk-slot__s{color:#8a5347}
.pk-slot.is-off{background:transparent;border-style:dashed}
.pk-slot.is-off .pk-slot__s{color:var(--ink-soft);opacity:.7}
.pk-slot.is-sel{border-color:var(--shin);box-shadow:inset 0 0 0 1px var(--shin)}

/* --- 依頼フォーム --- */
.pk-form{margin-top:var(--sp-4);background:#fff;border:1px solid var(--line);border-radius:3px;
  padding:clamp(1.2rem,2.6vw,1.8rem);max-width:44rem}
.pk-empty{color:var(--ink-soft);font-size:.94rem}
.pk-empty b{color:var(--ink);font-weight:500}
.pk-form__h{font-size:1.05rem;font-weight:500;padding-bottom:.6rem;border-bottom:1px solid var(--line);
  margin-bottom:.9rem}
.pk-pick{display:grid;grid-template-columns:5rem 1fr;gap:.1rem .9rem;font-size:.94rem;margin-bottom:1.1rem}
.pk-pick dt{color:var(--ink-soft);padding:.45rem 0;border-top:1px solid var(--line)}
.pk-pick dd{padding:.45rem 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}

.pk-fields{display:grid;gap:.7rem;margin-bottom:1rem}
.pk-fields__row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.pk-fields label{display:grid;gap:.28rem;font-size:.84rem;color:var(--ink-soft)}
.pk-fields input,.pk-fields select,.pk-fields textarea{font-family:var(--f);font-size:.95rem;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:2px;padding:.6em .7em;width:100%}
.pk-fields input:focus,.pk-fields select:focus,.pk-fields textarea:focus{outline:2px solid var(--shin);outline-offset:1px}
.pk-error{color:#a3341f;font-size:.88rem;margin-bottom:.7rem}
.pk-submit{width:100%;margin-bottom:.7rem}

.pk-done__h{font-size:1.1rem;font-weight:500;margin-bottom:.3rem}
.pk-done__id{font-size:.9rem;color:var(--ink-soft);margin-bottom:1rem}
.pk-done__id strong{font-size:1.1rem;color:var(--fuka);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.pk-done__cta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (max-width:820px){
  .pickup__head{grid-template-columns:1fr}
  .pk-fields__row{grid-template-columns:1fr}
  .pk-pick{grid-template-columns:4.5rem 1fr}
}
@media (prefers-reduced-motion:reduce){
  .pk-slot:hover:not(:disabled){transform:none}
}

/* --- 依頼フォーム＋管理画面への導線 --- */
.pk-columns{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--sp-3);align-items:start;margin-top:var(--sp-4)}
.pk-form{margin-top:0;max-width:none}
.pk-admin{background:#fff;border:1px solid var(--line);border-left:3px solid var(--shin);
  border-radius:3px;padding:1.3rem 1.4rem}
.pk-admin__l{font-size:.72rem;letter-spacing:.16em;color:var(--shin);font-weight:500;margin-bottom:.4rem}
.pk-admin__h{font-size:1rem;font-weight:500;margin-bottom:.5rem;line-height:1.6}
.pk-admin__d{font-size:.86rem;color:var(--ink-soft);margin-bottom:1rem}
.pk-admin .btn{width:100%;text-align:center;margin-bottom:.6rem}

@media (max-width:900px){
  .pk-columns{grid-template-columns:1fr}
}
