/* ============================================================
   IB Workshop 스킨  v20260624
   ============================================================ */
.pl_wrap{--pl-point:var(--color-point,#cf455e);--pl-ho:var(--color-ho,#ca1c3b);
  --pl-line:#e5e7eb;--pl-bg:#fafafa;--pl-tx:#111827;--pl-sub:#6b7280;
  font-family:'Pretendard','Malgun Gothic',sans-serif;color:var(--pl-tx);max-width:100%;}
.pl_wrap *{box-sizing:border-box;}
.pl_wrap a{text-decoration:none;}

/* ── 버튼 ── */
.pl_btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:9px 20px;border-radius:8px;font-size:14px;font-weight:600;line-height:1.2;
  border:1px solid transparent;transition:all .18s;cursor:pointer;white-space:nowrap;}
.pl_wrap .pl_btn-point{background:var(--pl-point);color:#fff !important;}
.pl_wrap .pl_btn-point:hover{background:var(--pl-ho);}
.pl_wrap .pl_btn-line{background:#fff;color:var(--pl-tx) !important;border-color:var(--pl-line);}
.pl_wrap .pl_btn-line:hover{border-color:var(--pl-point);color:var(--pl-point) !important;}
.pl_wrap .pl_btn-disabled{background:#f3f4f6;color:#9ca3af !important;cursor:default;pointer-events:none;}
.pl_btn-lg{width:100%;padding:15px 20px;font-size:15.5px;border-radius:10px;}

/* ── 뱃지 ── */
.pl_tag{display:inline-block;padding:5px 13px;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:.2px;background:#f3f4f6;color:#374151;}
.pl_tag-pyp{background:#e6f6f4;color:#0f8a7e;}
.pl_tag-myp{background:#e8f0fb;color:#2b6cb0;}
.pl_tag-dp{background:#fdf0e6;color:#c2680f;}
.pl_tag-ib-education{background:#f1ecfb;color:#6d3fc0;}
.pl_tag-na,.pl_tag-lv{background:#f3f4f6;color:#374151;}
.pl_tag-et{background:#fdf2f4;color:#be3a55;}
.pl_tag-closed{background:#f3f4f6;color:#9ca3af;}

/* ============================================================
   목록 — 카드 그리드
   ============================================================ */
.pl_list_top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:10px;}
.pl_total{font-size:15px;color:var(--pl-sub);}
.pl_total strong{color:var(--pl-tx);font-size:19px;font-weight:800;}

.pl_cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}

.pl_card{
  background:#fff;border:1px solid var(--pl-line);border-radius:14px;
  padding:26px 28px 22px;display:flex;flex-direction:column;
  transition:border-color .2s,box-shadow .2s;
}
.pl_card:hover{border-color:#c4c9d4;box-shadow:0 6px 24px rgba(0,0,0,.06);}
.pl_card-closed{opacity:.62;}

/* 대표 이미지 썸네일 16:9 (2026-09-23) */
.pl_card_thumb{display:block;margin:-26px -28px 20px;background:#f5f6f8;border-bottom:1px solid var(--pl-line);border-radius:13px 13px 0 0;overflow:hidden;}
.pl_card_thumb_in{display:block;position:relative;padding-top:56.25%;}
.pl_card_thumb img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.pl_card:hover .pl_card_thumb img{transform:scale(1.03);}


.pl_card_tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;}
.pl_card_title{
  font-family:'Paperlogy','Pretendard',sans-serif;
  font-size:20px;font-weight:800;color:#111827;
  line-height:1.45;letter-spacing:-.02em;margin-bottom:18px;flex:1;
}
.pl_card_title a{color:inherit;}
.pl_card_title a:hover{color:var(--pl-point);}

/* 일정·장소·과정 — 크게 (2026-09-23) */
.pl_wrap .pl_card_info{list-style:none;margin:0 0 18px;padding:16px 0;border-top:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;display:grid;gap:10px;}
.pl_wrap .pl_card_info li{display:flex;align-items:flex-start;gap:10px;margin:0;padding:0;font-size:17px;line-height:1.5;color:var(--pl-tx);}
.pl_card_info i{flex:none;width:18px;margin-top:5px;text-align:center;font-size:16px;color:var(--pl-point);}
.pl_card_info .k{flex:none;width:40px;font-size:14px;line-height:25px;font-weight:700;color:#374151;}
.pl_card_info b{flex:1;min-width:0;font-weight:800;word-break:keep-all;overflow-wrap:anywhere;}
.pl_card_info .pl_pstate{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;font-size:12.5px;font-weight:700;background:#e6f6f4;color:#0f8a7e;vertical-align:2px;}
.pl_wrap .pl_copy_btn{margin-right:auto;padding:8px 14px;font-size:13px;}

.pl_card_foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;}
.pl_cfoot_seat{font-size:13px;color:var(--pl-sub);}
.pl_seat-left b{color:var(--pl-tx);font-size:15px;font-weight:800;}
.pl_seat-closed{color:#9ca3af;font-weight:500;}
.pl_seat-na{color:#d1d5db;}
.pl_ncourse{display:inline-block;margin-left:8px;font-size:11px;color:var(--pl-sub);background:#f3f4f6;padding:2px 8px;border-radius:6px;font-weight:600;vertical-align:middle;}
.pl_empty{text-align:center;padding:60px 20px;color:#9ca3af;font-size:15px;grid-column:1/-1;}
.pl_list_bot{margin-top:18px;text-align:right;}

/* ============================================================
   상세 (view)
   ============================================================ */
.pl_v_head{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #f3f4f6;}
.pl_v_tags{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.pl_v_title{
  font-family:'Paperlogy','Pretendard',sans-serif;
  font-size:34px;font-weight:800;line-height:1.3;
  letter-spacing:-.03em;color:#111827;word-break:keep-all;
}

/* 상세 대표 이미지 (2026-09-23) */
.pl_v_hero{margin:0 0 28px;padding:0;background:#f5f6f8;border:1px solid var(--pl-line);border-radius:14px;overflow:hidden;text-align:center;}
.pl_v_hero a{display:block;}
.pl_v_hero img{display:block;margin:0 auto;width:auto !important;height:auto !important;max-width:100%;max-height:460px;}

.pl_v_grid{display:grid;grid-template-columns:360px 1fr;gap:32px;align-items:start;}
.pl_box_tit{font-size:16px;font-weight:700;color:#111827;margin-bottom:16px;}

.pl_side{position:sticky;top:20px;}
.pl_detail_box{background:#fff;border:1px solid var(--pl-line);border-radius:14px;padding:24px;}

/* 과정 선택 */
.pl_course_pick{margin:6px 0 16px;padding-top:18px;border-top:1px solid #f3f4f6;}
.pl_course_pick label{display:block;font-size:14px;font-weight:700;color:#111827;margin-bottom:8px;}
.pl_course_pick .frm_input{width:100%;height:46px;padding:0 12px;border:1px solid #d5d8dd;border-radius:9px;font-size:14px;background:#fff;}
.pl_course_pick .frm_input:focus{border-color:var(--pl-point);outline:none;box-shadow:0 0 0 2px rgba(207,69,94,.1);}
.pl_seat_info{margin-top:8px;font-size:13px;color:var(--pl-sub);text-align:center;}
.pl_seat_info b{color:var(--pl-tx);font-size:14px;font-weight:700;}
.pl_no_course{font-size:14px;color:#9ca3af;padding:8px 0;}

/* Event Details (왼쪽 본문 상단) */
.pl_detail_left{margin-bottom:28px;}

/* 과정 선택 및 신청 (오른쪽 사이드, 카테고리별 1열 카드) */
.pl_apply_area{background:#fff;border:1px solid var(--pl-line);border-radius:14px;padding:22px 22px;}
.pl_apply_area .pl_apply_tit{margin-bottom:18px;}
.pl_cat_grp{margin-bottom:22px;}
.pl_cat_grp:last-child{margin-bottom:0;}
.pl_cat_ttl{font-size:15px;font-weight:800;color:var(--pl-point);letter-spacing:-.01em;padding-bottom:10px;border-bottom:2px solid #f3f4f6;margin-bottom:12px;}
.pl_cat_list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:10px;}
.pl_cline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--pl-line);border-radius:11px;transition:border-color .15s,box-shadow .15s;}
.pl_cline:hover{border-color:#c4c9d4;box-shadow:0 3px 12px rgba(0,0,0,.04);}
.pl_cline_info{min-width:0;flex:1;}
.pl_cline_name{display:block;font-size:14.5px;font-weight:600;color:#374151;line-height:1.4;word-break:keep-all;}
.pl_cline_seat{display:block;font-size:12.5px;color:var(--pl-sub);margin-top:3px;}
.pl_cline_lang{display:inline-block;margin:4px 0 0;padding:2px 8px;border-radius:6px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:600;}
.pl_wrap .pl_cline_btn{flex:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:700;background:var(--pl-point);color:#fff !important;text-decoration:none;white-space:nowrap;}
.pl_wrap .pl_cline_btn:hover{background:var(--pl-ho);}
.pl_cline.is-off{background:#fafafa;}
.pl_cline.is-off .pl_cline_name{color:#9ca3af;}
.pl_cline.is-off .pl_cline_seat{color:#c9184a;}
.pl_wrap .pl_cline_btn.is-off{background:#f3f4f6;color:#9ca3af !important;pointer-events:none;}

.pl_dl{display:grid;grid-template-columns:auto 1fr;gap:0;margin-bottom:20px;}
.pl_dl dt{padding:10px 0;font-size:13px;color:var(--pl-sub);font-weight:500;border-top:1px solid #f3f4f6;}
.pl_dl dd{padding:10px 0 10px 12px;font-size:13.5px;color:#374151;font-weight:600;text-align:right;border-top:1px solid #f3f4f6;word-break:keep-all;}
.pl_dl dt:first-of-type,.pl_dl dd:first-of-type{border-top:none;}
.pl_status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;}
.pl_status.is-open{background:#e6f6f4;color:#0f8a7e;}
.pl_status.is-closed{background:#f3f4f6;color:#6b7280;}

.pl_fee{line-height:1.7;}
.pl_fee_now{display:block;font-size:22px;color:#111827;font-weight:800;}
.pl_fee_badge{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:6px;background:#374151;color:#fff;font-size:11px;font-weight:700;}
.pl_fee_was{display:block;font-size:12px;color:#9ca3af;text-decoration:line-through;font-weight:500;}
.pl_fee_note{display:block;font-size:12px;color:var(--pl-sub);font-weight:500;}
.pl_apply_cta{margin-top:4px;}

.pl_v_body{min-width:0;}
.pl_v_con{font-size:15px;line-height:1.85;color:#374151;min-height:120px;}
.pl_v_con img{max-width:100%;height:auto;}
.pl_v_files{margin-top:24px;padding-top:18px;border-top:1px solid var(--pl-line);}
.pl_v_files h3{font-size:15px;font-weight:700;margin-bottom:10px;}
.pl_v_files li{padding:6px 0;font-size:14px;color:#374151;}
.pl_v_files a:hover{color:var(--pl-point);}
.pl_v_btns{display:flex;gap:8px;justify-content:center;margin-top:32px;}

/* ============================================================
   등록폼 (write) — 관리자
   ============================================================ */
.pl_w .pl_lb{display:block;font-size:15px;font-weight:700;margin:18px 0 8px;color:#111827;}
.pl_w .pl_lb strong{color:var(--pl-point);font-size:12px;margin-left:4px;}
.pl_wfields{background:var(--pl-bg);border:1px solid var(--pl-line);border-radius:14px;padding:22px 24px;margin:8px 0 6px;}
.pl_fld_tit{font-size:14px;font-weight:700;color:#374151;margin:6px 0 14px;}
.pl_fld_tit:not(:first-child){margin-top:24px;padding-top:20px;border-top:1px dashed #e5e7eb;}
.pl_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.pl_f{display:flex;flex-direction:column;}
.pl_f-wide{grid-column:span 2;}
.pl_f label{font-size:13px;font-weight:600;color:#6b7280;margin-bottom:6px;}
.pl_f .frm_input{width:100%;height:44px;padding:0 12px;border:1px solid #d5d8dd;border-radius:8px;font-size:14px;background:#fff;}
.pl_f .frm_input:focus{border-color:var(--pl-point);outline:none;box-shadow:0 0 0 2px rgba(207,69,94,.1);}
.pl_help{font-size:13px;color:var(--pl-sub);margin-top:14px;line-height:1.6;background:#fff;border:1px solid var(--pl-line);border-radius:8px;padding:10px 14px;}
.pl_help b{color:var(--pl-ho);}

/* ============================================================
   반응형
   ============================================================ */
@media (max-width:900px){
  .pl_cards{grid-template-columns:1fr;}
  .pl_v_grid{grid-template-columns:1fr;}
  .pl_cat_list{grid-template-columns:1fr;}
  .pl_side{position:static;}
  .pl_grid{grid-template-columns:repeat(2,1fr);}
  .pl_f-wide{grid-column:span 2;}
  .pl_v_title{font-size:26px;}
  .pl_v_hero{margin-bottom:20px;border-radius:10px;}
  .pl_v_hero img{max-height:360px;}
}
@media (max-width:520px){
  .pl_card{padding:20px 18px 18px;}
  .pl_card_thumb{margin:-20px -18px 16px;}
  .pl_wrap .pl_card_info li{font-size:15px;}
  .pl_card_info .k{width:34px;font-size:12.5px;}
  .pl_grid{grid-template-columns:1fr;}
  .pl_f-wide{grid-column:span 1;}
}

/* 2026-10-02 예약석 (관리자에게만 표시) */
.pl_cline_res{display:inline-block;margin-left:6px;padding:2px 9px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:12px;font-weight:700;vertical-align:middle;}
