/* ============================================================
   RIVER RUN MARATHON — 대회요강(guide.php) 전용 스타일
   board.css(페이지밴드/사이드바 레이아웃)와 함께 사용합니다.
   ============================================================ */

.guide-block{margin-bottom:3px;}
.guide-block:last-child{margin-bottom:0;}
.guide-block h3{
  font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--navy);
  padding-bottom:12px;margin-bottom:18px;border-bottom:2px solid var(--navy);
}
.guide-block p{font-size:14px;color:#555;line-height:1.8;}

/* ===== 인사말 ===== */
.guide-greeting{
  background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--coral);
  border-radius:4px;padding:28px 32px;
}
.guide-greeting h3{border-bottom:none;padding-bottom:0;margin-bottom:16px;}
.guide-greeting p{margin-bottom:16px;}
.guide-greeting p:last-of-type{margin-bottom:0;}
.guide-greeting-sign{
  text-align:right;font-weight:700;color:var(--navy) !important;margin-top:8px !important;
}

.guide-table{width:100%;border-collapse:collapse;font-size:14px;}
.guide-table tr{border-bottom:1px solid var(--line);}
.guide-table tr:first-child{border-top:1px solid var(--line);}
.guide-table th{
  width:160px;text-align:left;padding:14px 16px;background:#F1EEE5;
  color:var(--navy);font-weight:700;vertical-align:top;
}
.guide-table td{padding:14px 16px;color:#444;}

.guide-list{padding-left:2px;}
.guide-list li{
  position:relative;padding:8px 0 8px 18px;font-size:14px;color:#555;line-height:1.7;
}
.guide-list li::before{
  content:"";position:absolute;left:0;top:17px;width:6px;height:6px;border-radius:50%;background:var(--coral);
}

.guide-cta{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}

/* ===== 이미지 슬롯 공용 — public_html/images/ 에 해당 파일을 넣으면 자동으로 표시됨.
   <img> 대신 background-image를 써서, 아직 파일이 없어도 깨진 이미지 아이콘 없이 배경색만 조용히 보임. ===== */
.photo-slot{
  aspect-ratio:16/7;border-radius:8px;overflow:hidden;margin-bottom:20px;
  background:#EFEAE0 center/cover no-repeat;
  border:1px solid var(--line);
}
.photo-slot.course{background-image:url('../images/course-map.png');}
.photo-slot.gathering{background-image:url('../images/gathering-map.png');}

/* ===== 완주 기념품 사진 (샘플 이미지 + 설명 텍스트) ===== */
.gift-info{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap;}
.gift-photo-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;}
.gift-photo{
  width:240px;height:240px;object-fit:cover;border-radius:8px;
  border:1px solid var(--line);background:#EFEAE0;
}
.gift-photo-note{font-size:11px;color:#999;text-align:center;max-width:140px;}
.gift-info p{flex:1;min-width:200px;margin:0;}
@media (max-width:600px){
  .gift-info{flex-direction:column;align-items:flex-start;}
}

/* ===== 코스도 (출발/반환점 개략 다이어그램) ===== */
.course-map{
  display:flex;align-items:flex-start;gap:0;
  margin-bottom:20px;padding:32px 24px;
  background:var(--paper);border:1px solid var(--line);border-radius:8px;
}
.course-point{display:flex;flex-direction:column;align-items:center;text-align:center;width:140px;flex-shrink:0;}
.cp-dot{width:16px;height:16px;border-radius:50%;background:var(--navy);margin-bottom:10px;box-shadow:0 0 0 4px rgba(16,25,46,.1);}
.course-point.turn .cp-dot{background:var(--coral);box-shadow:0 0 0 4px rgba(255,90,54,.12);}
.cp-label{font-size:13px;font-weight:700;color:var(--navy);line-height:1.5;}
.cp-label small{display:block;font-weight:400;color:#999;font-size:11px;margin-top:2px;}
.course-line{
  flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;
  padding-top:7px;margin-top:1px;
}
.course-line::before{
  content:"";position:absolute;top:7px;left:0;right:0;height:2px;
  background-image:repeating-linear-gradient(90deg, var(--coral) 0 8px, transparent 8px 16px);
}
.course-arrow{
  position:relative;z-index:1;background:var(--paper);padding:0 10px;
  font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--coral);font-weight:700;
}
.course-dist{font-family:'JetBrains Mono',monospace;font-size:12px;color:#999;}
.course-total{
  text-align:center;font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--navy);
  letter-spacing:.02em;margin-bottom:16px;
}

/* ===== MOBILE ===== */
@media (max-width:900px){
  .guide-table th{width:110px;font-size:13px;}
  .guide-cta{flex-direction:column;}
  .guide-cta .btn{width:100%;justify-content:center;}
  .course-map{flex-direction:column;align-items:center;gap:16px;}
  .course-line{width:2px;min-height:60px;padding-top:0;margin-top:0;}
  .course-line::before{top:0;bottom:0;left:7px;right:auto;width:2px;height:auto;
    background-image:repeating-linear-gradient(180deg, var(--coral) 0 8px, transparent 8px 16px);}
  .course-arrow{writing-mode:vertical-rl;padding:10px 0;}
}
