/* 국제관(GLOBAL TASTE) 예약 화면과 같은 형식 */
.knucp-app{--k-pink:#e6157a;--k-blue:#1aa3e0;--k-ink:#222;--k-muted:#6b6b6b;--k-line:#e4e4e4;--k-ok:#12a150;--k-warn:#d97c00;
  max-width:760px;margin:0 auto;padding:0 16px 40px;color:var(--k-ink);font-family:-apple-system,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;line-height:1.55;font-size:16px}
.knucp-app *{box-sizing:border-box}
.knucp-hero{display:block;width:100%;height:auto;border-radius:14px;margin:0 0 16px}
.knucp-title{font-size:26px;margin:6px 0 4px;font-family:inherit;font-weight:700;line-height:1.3;color:var(--k-ink)}
.knucp-title small{display:block;font-size:17px;font-weight:500;color:var(--k-muted)}
.knucp-sub{color:var(--k-muted);margin:0 0 18px;font-size:15px}
.knucp-ko{color:var(--k-muted);font-weight:inherit}
small.knucp-ko{font-size:.9em}
.knucp-tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.knucp-tab{border:1px solid var(--k-line);background:#fff;padding:10px 14px;border-radius:999px;cursor:pointer;font-size:15px;color:var(--k-ink)!important;line-height:1.2;text-decoration:none!important}
.knucp-tab .knucp-ko-inline{opacity:.8}
.knucp-tab.on{background:var(--k-pink);border-color:var(--k-pink);color:#fff!important;font-weight:700}
.knucp-card{background:#fff;border:1px solid #eee;border-radius:14px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.05);margin-bottom:16px}
.knucp-card h3{margin:0 0 4px;font-size:21px;font-family:inherit;line-height:1.35;color:var(--k-ink)}
.knucp-card h3 small{font-size:15px;font-weight:500}
.knucp-desc{margin:0;color:var(--k-muted);font-size:15px}
.knucp-badge{display:inline-block;font-size:12px;font-weight:700;color:var(--k-pink);border:1px solid var(--k-pink);border-radius:4px;padding:1px 6px;margin-left:8px;vertical-align:middle}
.knucp-step{font-weight:700;margin:24px 0 10px;font-size:17px}
.knucp-step small{font-weight:500}
.knucp-step>span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--k-blue);color:#fff;font-size:13px;margin-right:8px;vertical-align:1px}
.knucp-sessions{display:grid;gap:8px}
.knucp-session{display:flex;gap:12px;align-items:center;border:1px solid var(--k-line);border-radius:12px;padding:14px;cursor:pointer;background:#fff;color:var(--k-ink);margin:0;position:relative}
.knucp-session input{position:absolute;opacity:0;width:1px;height:1px}
.knucp-session:has(input:checked){border-color:var(--k-pink);box-shadow:inset 0 0 0 2px var(--k-pink)}
.knucp-session:has(input:focus-visible){outline:2px solid var(--k-pink);outline-offset:2px}
.knucp-session.full{background:#f2f2f2;color:#aaa;cursor:not-allowed}
.knucp-session .when{min-width:92px;font-weight:700;font-size:17px}
.knucp-session .when small,.knucp-session .what small,.knucp-session .left small{display:block;font-weight:400;color:var(--k-muted);font-size:13px}
.knucp-session .what{flex:1;min-width:0}
.knucp-session .what b{display:block;font-size:16px;line-height:1.35}
.knucp-session .left{font-size:14px;text-align:right;white-space:nowrap;font-weight:700}
.knucp-session .left.ok{color:var(--k-ok)}.knucp-session .left.warn{color:var(--k-warn)}.knucp-session .left.off{color:#aaa}
.knucp-session.full small{color:#aaa!important}
.knucp-age{color:#b42318!important}
.knucp-detail{border:1px dashed var(--k-pink);background:#fff5fa;border-radius:10px;padding:12px 14px;font-size:15px}
.knucp-detail p{margin:0 0 6px}
.knucp-detail-img{display:block;width:100%;height:auto;border-radius:10px;margin-bottom:10px}
.knucp-notice{background:#fff8e1;border-left:4px solid #f2b705;border-radius:6px;padding:10px 12px;margin:8px 0}
.knucp-f{display:block;font-size:15px;font-weight:700;margin:14px 0 6px}
.knucp-f small{font-weight:400;color:var(--k-muted)}
.knucp-app input[type=text],.knucp-app input[type=tel],.knucp-app input[type=email],.knucp-app input[type=date],.knucp-app select{width:100%;padding:12px;border:1px solid #ccc;border-radius:8px;font-size:16px;background:#fff;color:var(--k-ink);min-height:48px;font-family:inherit}
.knucp-app input[type=file]{width:100%;font-size:15px;padding:10px;border:1px dashed #bbb;border-radius:8px;background:#fafafa}
.knucp-nat-other{margin-top:6px}
.knucp-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.knucp-field{margin-top:4px}
.knucp-chips{display:flex;flex-wrap:wrap;gap:8px}
.knucp-chips label{position:relative;cursor:pointer;margin:0}
.knucp-chips input{position:absolute;opacity:0;width:1px;height:1px}
.knucp-chips span{display:inline-block;border:1px solid #ccc;border-radius:999px;padding:9px 15px;font-size:15px;background:#fff;color:var(--k-ink);line-height:1.25}
.knucp-chips input:checked+span{background:var(--k-blue);border-color:var(--k-blue);color:#fff;font-weight:600}
.knucp-chips input:focus-visible+span{outline:2px solid var(--k-pink);outline-offset:2px}
.knucp-check{font-size:15px;display:flex;gap:10px;align-items:flex-start;margin-top:14px;cursor:pointer;line-height:1.5}
.knucp-check input{margin-top:4px;width:20px;height:20px;flex:0 0 20px}
.knucp-check b{color:var(--k-pink)}
.knucp-small{font-size:14px;color:#555;margin:6px 0}
.knucp-strong{font-weight:700;color:var(--k-ink)}
.knucp-summary{background:#fff5fa;border:1px dashed var(--k-pink);border-radius:8px;padding:12px 14px;margin-top:10px;font-size:15px;display:grid;gap:8px}
.knucp-btn{display:block;width:100%;margin-top:18px;padding:15px;border:0;border-radius:10px;background:var(--k-pink);color:#fff!important;font-size:18px;font-weight:700;cursor:pointer;text-align:center;text-decoration:none!important;font-family:inherit}
.knucp-btn:disabled{background:#ccc;cursor:not-allowed}
.knucp-btn.sm{display:inline-block;width:auto;margin:0;padding:7px 13px;font-size:14px;background:#fff;color:var(--k-pink)!important;border:1px solid var(--k-pink);justify-self:start}
.knucp-msg{padding:12px 14px;border-radius:8px;margin:14px 0;font-size:15px;line-height:1.6}
.knucp-msg.ok{background:#e8f7ee;color:#0c6b35}.knucp-msg.info{background:#eef4fc;color:#1d4f91}.knucp-msg.err{background:#fdecea;color:#a12a1c}
.knucp-msg .knucp-ko{color:inherit;opacity:.85}
.knucp-rule{font-size:14px;color:var(--k-muted);margin:14px 0 0;line-height:1.75}
.knucp-hr{border:0;border-top:1px solid var(--k-line);margin:18px 0}
.knucp-app table{width:100%;border-collapse:collapse;font-size:15px;margin-top:14px}
.knucp-app th,.knucp-app td{padding:9px 6px;border-bottom:1px solid var(--k-line);text-align:left;vertical-align:middle}
.knucp-app th{font-size:13px;color:var(--k-muted);font-weight:600}
.knucp-st{font-weight:700}.knucp-st.confirmed{color:var(--k-ok)}.knucp-st.waiting{color:var(--k-warn)}.knucp-st.cancelled,.knucp-st.full,.knucp-st.duplicate,.knucp-st.age{color:#999}
.knucp-scroll{overflow-x:auto}
.knucp-hide{display:none!important}
.knucp-hp{width:1px;height:1px;position:absolute!important;left:-9999px!important}
.knucp-loading{color:var(--k-muted);font-size:15px;margin:10px 0 0}
.knucp-items{display:grid;gap:10px;margin-top:14px}
.knucp-item{border:1px solid var(--k-line);border-radius:12px;padding:14px;background:#fff}
.knucp-item-top{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.knucp-item-date{font-size:14px;color:var(--k-muted)}
.knucp-item form{margin-top:10px}
@media (max-width:480px){.knucp-row2{grid-template-columns:1fr}.knucp-title{font-size:22px}
  .knucp-session{display:grid;grid-template-columns:1fr auto;grid-template-areas:"when left" "what what";gap:6px 10px}
  .knucp-session .when{grid-area:when;min-width:0}.knucp-session .left{grid-area:left}.knucp-session .what{grid-area:what}}
/* 프로그램 목록 (첫 화면) */
.knucp-listhead,.knucp-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.knucp-eyebrow{font-size:12px;letter-spacing:.06em;color:var(--k-muted);margin:0 0 2px;font-weight:600}
.knucp-h{font-size:24px!important;font-weight:800;margin:0 0 6px!important;line-height:1.3}
.knucp-h .knucp-ko{display:block;font-size:18px;font-weight:700;color:var(--k-ink)}
.knucp-cal{color:var(--k-ink);flex:0 0 auto;margin-top:6px}
.knucp-plist{display:grid;gap:10px;margin-top:16px}
.knucp-prog{display:flex;align-items:center;gap:12px;border:1px solid #ececec;border-radius:12px;padding:14px 16px;background:#fff;color:var(--k-ink)!important;text-decoration:none!important;transition:border-color .15s,box-shadow .15s}
.knucp-prog:hover{border-color:var(--k-pink);box-shadow:0 2px 8px rgba(230,21,122,.08)}
.knucp-prog-main{flex:1;min-width:0}
.knucp-prog-main b{display:block;font-size:17px;line-height:1.35}
.knucp-prog-en{font-weight:500;color:var(--k-muted);font-size:14px}
.knucp-prog-main small{display:block;font-size:14px;color:var(--k-muted);margin-top:2px}
.knucp-prog-main .knucp-ko-line{font-size:13px;color:#999}
.knucp-prog.is-closed{background:#f7f7f7}.knucp-prog.is-closed b{color:#999}
.knucp-pill{display:flex;align-items:center;gap:8px;white-space:nowrap;text-align:right;font-size:14px;font-weight:700;flex:0 0 auto}
.knucp-pill small{display:block;font-size:12px;font-weight:500;color:var(--k-muted)}
.knucp-pill i{display:inline-block;width:16px;height:16px;border-radius:50%;background:#9a9a9a;order:2}
.is-open .knucp-pill i,.knucp-pill.is-open i{background:var(--k-ok)}.is-open .knucp-pill,.knucp-pill.is-open{color:var(--k-ok)}
.is-wait .knucp-pill i,.knucp-pill.is-wait i{background:var(--k-warn)}.is-wait .knucp-pill,.knucp-pill.is-wait{color:var(--k-warn)}
.is-before .knucp-pill i,.knucp-pill.is-before i{background:#9a9a9a}.is-before .knucp-pill,.knucp-pill.is-before{color:#666}
.is-closed .knucp-pill i,.knucp-pill.is-closed i{background:#d0d0d0}.is-closed .knucp-pill,.knucp-pill.is-closed{color:#aaa}
/* 상세 */
.knucp-back{display:inline-block;margin-bottom:12px;font-size:15px;color:var(--k-pink)!important;text-decoration:none!important;font-weight:600}
.knucp-promo{font-size:16px;margin:10px 0}
.knucp-facts{list-style:none;padding:0;margin:12px 0;display:grid;gap:6px;font-size:15px}
.knucp-facts li span{display:inline-block;min-width:150px;color:var(--k-muted);font-size:14px}
@media (max-width:480px){.knucp-prog{padding:12px 14px}.knucp-pill span{display:none}.knucp-facts li span{display:block;min-width:0}.knucp-h{font-size:21px!important}}
