/* minoo.osaka.jp /pickup/ 送迎の待ち合わせ場所
   元は pickup/build/assets/guide.css。サイト共通の style.css と衝突しないよう、
   すべて .pickup-page / .pk 配下に閉じ込めてある（pickup_pages.py だけが読み込む）。 */
.pickup-page{padding:22px 16px 56px}
.pk{
  --pk-ink:#15191D; --pk-muted:#5C666E; --pk-panel:#F0F3F5;
  --pk-rule:#D7DDE2; --pk-guide:#F3B31C; --route:#15191D;
  max-width:560px;margin:0 auto;background:#fff;color:var(--pk-ink);
  border:1px solid var(--pk-rule);border-radius:8px;overflow:hidden;
  line-height:1.75;letter-spacing:.01em;
}
.pk a{color:inherit}
.pk-crumbs,.pk-back{max-width:560px;margin-left:auto;margin-right:auto}
.pk-crumbs{margin-bottom:14px}
.pk-back{margin-top:20px}

/* ---- 駅名標 ---- */
.pk-plate{padding:22px 22px 20px;border-bottom:1px solid var(--pk-rule);position:relative}
.pk-plate::before{content:"";position:absolute;left:0;top:0;bottom:-1px;width:8px;background:var(--route)}
.pk-plate .kicker{font-size:13px;color:var(--pk-muted);margin:0 0 4px;font-weight:500}
.pk-plate h1{font-size:30px;font-weight:700;line-height:1.25}
.pk-plate .line{display:inline-block;margin-top:8px;font-size:12.5px;font-weight:700;
  color:#fff;background:var(--route);padding:3px 10px;border-radius:2px;line-height:1.6}

/* ---- 先に答え（待ち合わせ場所） ---- */
.pk-answer{padding:18px 22px;background:#FFFBEF;border-bottom:1px solid var(--pk-rule);
  border-left:8px solid var(--pk-guide)}
.pk-answer .k{font-size:12.5px;font-weight:700;color:#8A6A10;margin-bottom:2px}
.pk-answer .v{font-size:20px;font-weight:700;line-height:1.5}
.pk-answer p{margin-top:8px;font-size:14px;color:var(--pk-muted);line-height:1.7}
.pk-answer .other a{color:var(--brand-dark);font-weight:700}

/* ---- 道順 ---- */
.pk-steps{list-style:none}
.pk-step{border-bottom:1px solid var(--pk-rule);padding:20px 22px 22px}
.pk-step:last-child{border-bottom:0}
.pk-step .head{display:flex;gap:12px;align-items:flex-start}
.pk-step .no{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--pk-ink);color:#fff;
  font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;
  font-variant-numeric:tabular-nums}
.pk-step.goal .no{background:var(--pk-guide);color:#3A2B00}
.pk-step .copy{flex:1 1 auto;min-width:0}
.pk-step .dir{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;
  color:#5A4300;background:#FDF0CC;border-radius:2px;padding:2px 9px;margin-bottom:6px}
.pk-step .dir .g{font-size:15px;line-height:1}
.pk-step.goal .dir{background:var(--pk-guide);color:#3A2B00}
.pk-step .copy p{font-size:17px;font-weight:500;line-height:1.7}
.pk-step .copy p.variant{margin-bottom:6px;font-size:13.5px;font-weight:700;color:var(--pk-muted)}
.pk-step figure{margin-top:14px}
/* 写真は実寸が小さい。img の style="max-width:<実寸>px" で拡大を止めている */
.pk-step figure img{display:block;width:100%;height:auto;margin:0 auto;border-radius:6px;background:var(--pk-panel)}

/* ---- 電話 ---- */
.pk-help{padding:20px 22px;background:var(--pk-panel);border-top:1px solid var(--pk-rule)}
.pk-help p{margin-bottom:10px;font-size:14.5px;line-height:1.7}
.pk-tel{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;text-decoration:none;
  background:var(--pk-ink);color:#fff !important;padding:11px 18px;border-radius:4px;font-weight:700}
.pk-tel b{font-size:19px;letter-spacing:.02em}
.pk-tel span{font-size:12.5px;font-weight:500;opacity:.8}
.pk-foot{padding:14px 22px 20px;font-size:12.5px;color:var(--pk-muted);line-height:1.8}

/* ---- 駅の一覧 ---- */
.pk-lead{padding:20px 22px;border-bottom:1px solid var(--pk-rule)}
.pk-lead p{font-size:15px;color:var(--pk-muted);line-height:1.8}
.pk-routes{list-style:none}
.pk-routes li{border-bottom:1px solid var(--pk-rule)}
.pk-routes a{display:block;padding:18px 22px;text-decoration:none;border-left:8px solid var(--rc)}
.pk-routes a:hover,.pk-routes a:focus-visible{background:#FFFBEF}
.pk-routes .t{font-size:19px;font-weight:700;line-height:1.4}
.pk-routes .l{font-size:12.5px;color:var(--pk-muted);margin-top:2px}
.pk-routes .m{font-size:13.5px;margin-top:6px}

.pickup-page a:focus-visible{outline:3px solid #1A73E8;outline-offset:2px}

@media (max-width:600px){
  .pickup-page{padding:0 0 40px}
  .pk{border-left:0;border-right:0;border-radius:0}
  .pk-crumbs{padding:12px 16px 0;margin-bottom:12px}
  .pk-back{padding:0 16px}
}

/* ---- 印刷（お客様に紙で渡すとき）。サイトのヘッダー・フッターは出さない ---- */
@media print{
  .site-head,.site-foot,.pk-crumbs,.pk-back{display:none !important}
  body{background:#fff}
  .pickup-page{padding:0}
  .pk{max-width:none;border:0;border-radius:0}
  .pk-step{break-inside:avoid;page-break-inside:avoid;padding:12px 0 14px}
  .pk-plate,.pk-answer,.pk-lead,.pk-help{padding-left:14px;padding-right:14px;break-inside:avoid}
  .pk-step figure{margin-top:10px}
  .pk-step figure img{max-height:74mm;width:auto;max-width:100%;border-radius:4px;margin:0}
  .pk-step .copy p{font-size:13.5pt}
  .pk-foot{padding:14px}
}
