.pkg-apply-page { --theme-primary:#006dff; --theme-primary-dark:#0056cc; --theme-primary-soft:#eef4ff; --theme-gradient:linear-gradient(135deg,#006dff 0%,#0047b3 100%); --apply-content-max:980px; --apply-nav-gutter:clamp(16px,2.5vw,48px); }
.pkg-apply-page.theme-sa { --theme-primary:#006dff; --theme-primary-dark:#0056cc; --theme-primary-soft:#eef4ff; --theme-gradient:linear-gradient(135deg,#006dff 0%,#003d99 100%); }
.pkg-apply-page.theme-bo { --theme-primary:#ff6c00; --theme-primary-dark:#e05a00; --theme-primary-soft:#fff4eb; --theme-gradient:linear-gradient(135deg,#ff6c00 0%,#cc5500 100%); }
.pkg-apply-page.theme-edu { --theme-primary:#1c8036; --theme-primary-dark:#156629; --theme-primary-soft:#edf7ef; --theme-gradient:linear-gradient(135deg,#1c8036 0%,#125222 100%); }
.pkg-apply-page.theme-kor { --theme-primary:#454343; --theme-primary-dark:#2e2d2d; --theme-primary-soft:#f3f3f3; --theme-gradient:linear-gradient(135deg,#454343 0%,#222 100%); }
.pkg-apply-page.theme-hls { --theme-primary:#3034b5; --theme-primary-dark:#252890; --theme-primary-soft:#eeeffc; --theme-gradient:linear-gradient(135deg,#3034b5 0%,#1f2280 100%); }
.pkg-apply-page.theme-psy { --theme-primary:#09a769; --theme-primary-dark:#078554; --theme-primary-soft:#e8f8f0; --theme-gradient:linear-gradient(135deg,#09a769 0%,#067a4e 100%); }
.pkg-apply-page.theme-jido { --theme-primary:#006dff; --theme-primary-dark:#0056cc; --theme-primary-soft:#eef4ff; --theme-gradient:linear-gradient(135deg,#006cff 0%,#003d99 100%); }
.pkg-apply-page.theme-bs { --theme-primary:#8942c1; --theme-primary-dark:#6d34a0; --theme-primary-soft:#f5eefb; --theme-gradient:linear-gradient(135deg,#8942c1 0%,#6a2f99 100%); }
.pkg-apply-page.theme-fm { --theme-primary:#51df80; --theme-primary-dark:#2fc862; --theme-primary-soft:#edfcf2; --theme-gradient:linear-gradient(135deg,#006dff 0%,#09a769 100%); }
.pkg-apply-page.theme-beauty { --theme-primary:#8942c1; --theme-primary-dark:#6d34a0; --theme-primary-soft:#f5eefb; --theme-gradient:linear-gradient(135deg,#8942c1 0%,#ff0b73 100%); }
.pkg-apply-page.theme-dis { --theme-primary:#f03448; --theme-primary-dark:#c9283a; --theme-primary-soft:#fdeef0; --theme-gradient:linear-gradient(135deg,#f03448 0%,#ff6c00 100%); }
.pkg-apply-page.theme-yellow { --theme-primary:#f5b800; --theme-primary-dark:#d9a300; --theme-primary-soft:#fff8e6; --theme-gradient:linear-gradient(135deg,#f5b800 0%,#e09a00 100%); }

/* Hero banner-only (no text overlay) */
.pkg-apply-hero.has-banner-only { padding:0; overflow:hidden; border-left:none; border:1px solid #ebebeb; background:transparent; box-shadow:0 1px 6px rgba(0,0,0,.04); }
.pkg-apply-hero-banner-wrap { width:100%; background:#f5f7fa; line-height:0; }
.pkg-apply-hero-banner { display:block; width:100%; height:auto; margin:0; border-radius:12px; object-fit:contain; vertical-align:top; }

/* Hero background + text overlay */
.pkg-apply-hero.has-banner-overlay { position:relative; min-height:260px; padding:36px 24px; border-left:none; border:none; border-radius:12px; overflow:hidden; background-color:var(--theme-primary-soft); background-size:cover; background-position:center; margin-bottom:24px; box-shadow:0 2px 12px rgba(0,0,0,.08); display:flex; align-items:center; justify-content:center; }
.pkg-apply-hero.has-banner-overlay::before { content:""; position:absolute; inset:0; background:rgba(255,255,255,.78); pointer-events:none; }
.pkg-apply-hero-overlay-body { position:relative; z-index:1; width:100%; text-align:center; color:#222; }
.pkg-apply-hero.has-banner-overlay .pkg-apply-hero-badge { margin-bottom:10px; }
.pkg-apply-hero-overlay-hook { margin:0 0 6px; font-size:18px; font-weight:700; color:var(--theme-primary); letter-spacing:-.02em; line-height:1.4; }
.pkg-apply-hero-overlay-title { margin:0 0 18px; font-size:30px; font-weight:800; color:#1a2456; letter-spacing:-.03em; line-height:1.25; }
.pkg-apply-hero-ticket { display:inline-block; max-width:100%; margin-top:4px; }
.pkg-apply-hero-ticket-bar { width:min(420px,92vw); height:14px; margin:0 auto -1px; background:var(--theme-primary); border-radius:10px 10px 0 0; box-shadow:0 2px 8px rgba(0,0,0,.12); }
.pkg-apply-hero-ticket-body { width:min(420px,92vw); margin:0 auto; background:#fff; padding:22px 28px 26px; border-radius:0 0 10px 10px; box-shadow:0 8px 24px rgba(0,0,0,.12); position:relative; box-sizing:border-box; }
.pkg-apply-hero-ticket-body::before, .pkg-apply-hero-ticket-body::after { content:""; position:absolute; top:50%; width:18px; height:18px; border-radius:50%; background:var(--theme-primary-soft); transform:translateY(-50%); box-shadow:inset 0 0 0 1px rgba(0,0,0,.04); }
.pkg-apply-hero.has-banner-overlay .pkg-apply-hero-ticket-body::before, .pkg-apply-hero.has-banner-overlay .pkg-apply-hero-ticket-body::after { background:rgba(255,255,255,.78); }
.pkg-apply-hero-ticket-body::before { left:-9px; }
.pkg-apply-hero-ticket-body::after { right:-9px; }
.pkg-apply-hero-ticket-org { display:flex; align-items:center; justify-content:center; gap:10px; margin:0 0 8px; font-size:16px; color:#aaa; text-decoration:line-through; font-weight:400; }
.pkg-apply-hero-ticket-org-line { flex:1; max-width:48px; height:1px; background:#ddd; }
.pkg-apply-hero-ticket-pay { display:block; font-size:42px; font-weight:800; color:var(--theme-primary); letter-spacing:-.03em; line-height:1.1; }
.pkg-apply-hero-ticket-rate { display:inline-block; margin-top:8px; background:#ff545f; color:#fff; font-size:12px; font-weight:700; padding:4px 10px; border-radius:4px; }

.pkg-apply-wrap { max-width:var(--apply-content-max); margin:0 auto; padding:0 20px 50px; }

/* Free consultation banner */
.pkg-apply-consult-banner { display:flex; align-items:center; gap:20px; width:100%; max-width:100%; padding:20px 28px; margin-bottom:24px; border-radius:12px; background-color:var(--theme-primary); background-image:var(--theme-gradient); position:relative; overflow:hidden; color:#fff; text-decoration:none; box-shadow:0 2px 10px rgba(0,0,0,.08); box-sizing:border-box; }
.pkg-apply-consult-banner::before { content:""; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); pointer-events:none; }
.pkg-apply-consult-text { position:relative; z-index:1; flex-shrink:0; }
.pkg-apply-consult-text strong { display:block; font-size:22px; font-weight:800; letter-spacing:-.02em; line-height:1.3; }
.pkg-apply-consult-text span { display:block; margin-top:4px; font-size:14px; font-weight:400; opacity:.95; }
.pkg-apply-consult-line { position:relative; z-index:1; flex:1; height:1px; background:rgba(255,255,255,.85); min-width:24px; }
.pkg-apply-consult-btn { position:relative; z-index:1; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; min-width:210px; padding:14px 24px; border:2px solid #fff; border-radius:4px; color:#fff; font-size:16px; font-weight:700; letter-spacing:-.02em; transition:background .2s,color .2s; box-sizing:border-box; max-width:100%; text-align:center; line-height:1.35; word-break:keep-all; }
.pkg-apply-consult-banner:hover .pkg-apply-consult-btn { background:#fff; color:var(--theme-primary); }

/* Online consultation quick link (below hero banner) */
.pkg-apply-consult-quick { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:16px 16px 16px 28px; margin-bottom:24px; border-radius:999px; background-color:var(--theme-primary); background-image:var(--theme-gradient); color:#fff; text-decoration:none; box-shadow:0 4px 14px rgba(0,0,0,.14); transition:transform .2s,box-shadow .2s; box-sizing:border-box; }
.pkg-apply-consult-quick:hover { transform:translateY(-1px); box-shadow:0 6px 18px rgba(0,0,0,.18); color:#fff; }
.pkg-apply-consult-quick-text { font-size:18px; font-weight:700; letter-spacing:-.02em; line-height:1.3; }
.pkg-apply-consult-quick-icon { flex-shrink:0; display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:999px; background:rgba(0,0,0,.18); position:relative; }
.pkg-apply-consult-quick-icon::before { content:""; display:block; width:14px; height:14px; border-top:2px solid #fff; border-right:2px solid #fff; transform:rotate(45deg) translate(-2px,2px); }

/* Apply steps */
.pkg-apply-steps { display:flex; align-items:stretch; margin:0 0 24px; padding:0; border:1px solid #e0e0e0; border-radius:4px; overflow:hidden; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.04); }
.pkg-apply-step { flex:1; position:relative; display:flex; align-items:center; justify-content:center; min-height:56px; padding:12px 22px 12px 18px; text-align:center; background:#fff; color:#333; font-size:13px; line-height:1.45; letter-spacing:-.02em; box-sizing:border-box; }
.pkg-apply-step + .pkg-apply-step { border-left:1px solid #ececec; }
.pkg-apply-step.is-muted { background:#f3f3f3; color:#555; }
.pkg-apply-step.is-active { background-color:var(--theme-primary); background-image:var(--theme-gradient); color:#fff; font-weight:600; z-index:2; border-left:none; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
.pkg-apply-step.is-active::before { content:""; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); pointer-events:none; }
.pkg-apply-step.is-active + .pkg-apply-step { border-left:none; }
.pkg-apply-step:not(:last-child)::after { content:""; position:absolute; top:0; right:-18px; width:36px; height:100%; background:inherit; transform:skewX(-24deg); border-right:1px solid #e0e0e0; z-index:3; pointer-events:none; }
.pkg-apply-step.is-active:not(:last-child)::after { border-right:1px solid rgba(255,255,255,.25); box-shadow:2px 0 6px rgba(0,0,0,.08); }
.pkg-apply-step-text { position:relative; z-index:4; display:block; padding:0 4px; }
.pkg-apply-step .step-num { font-weight:800; margin-right:2px; }
.pkg-apply-step:not(.is-active) .step-num { color:var(--theme-primary); }
.pkg-apply-step.is-active .step-num { color:#fff; }
.pkg-apply-step .step-em { color:#ffe566; font-weight:800; }

/* Focus layout - override PC common.css (width:1000px) */
.pkg-apply-focus-body { margin:0; background:#f0f0f0; min-height:100vh; overflow-x:hidden; -webkit-text-size-adjust:100%; --focus-bar-h:56px; --focus-promo-h:0px; --focus-scroll-offset:calc(var(--focus-bar-h) + 24px); }
.pkg-apply-focus-body.has-focus-promo { --focus-promo-h:44px; --focus-scroll-offset:calc(var(--focus-bar-h) + var(--focus-promo-h) + 24px); }
.pkg-apply-focus-body #skip_container .container,
.pkg-apply-focus-body #sub_contents,
.pkg-apply-focus-body .pkg-apply-wrap { width:100% !important; max-width:var(--apply-content-max); min-width:0 !important; box-sizing:border-box; }
.pkg-apply-focus-body #skip_container .container { margin:0 auto; padding:0 20px; }
.pkg-apply-focus-body #sub_contents { position:relative; padding:0; }
.pkg-apply-focus-header { position:sticky; top:0; z-index:200; background:#fff; border-bottom:1px solid #e5e5e5; box-shadow:0 1px 6px rgba(0,0,0,.06); }
.pkg-apply-focus-inner { width:100%; max-width:var(--apply-content-max); margin:0 auto; padding:0 20px; height:var(--focus-bar-h); display:flex; align-items:center; justify-content:space-between; gap:12px; box-sizing:border-box; }
.pkg-apply-focus-left { display:flex; align-items:center; gap:14px; min-width:0; flex-shrink:0; }
.pkg-apply-focus-logo img { display:block; height:32px; width:auto; }
.pkg-apply-focus-hub { display:inline-flex; align-items:center; padding:6px 12px; font-size:12px; font-weight:700; color:#006dff; text-decoration:none; white-space:nowrap; border:1px solid rgba(0,109,255,.25); border-radius:999px; background:#f5f9ff; transition:background .2s,border-color .2s; }
.pkg-apply-focus-hub:hover { background:#006dff; color:#fff; border-color:#006dff; text-decoration:none; }
.pkg-apply-focus-title-wrap { flex:1; min-width:0; text-align:center; }
.pkg-apply-focus-title { margin:0; font-size:15px; font-weight:700; color:#222; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.3; }
.pkg-apply-focus-sub { display:block; margin-top:2px; font-size:11px; font-weight:600; color:#006dff; letter-spacing:-.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pkg-apply-focus-auth { display:flex; align-items:center; gap:10px; font-size:13px; flex-shrink:0; }
.pkg-apply-focus-user { color:#444; }
.pkg-apply-focus-auth a { color:#006dff; text-decoration:none; font-weight:600; }
.pkg-apply-focus-auth a:hover { text-decoration:underline; }
.pkg-apply-focus-promo { background:linear-gradient(90deg,#0047b3 0%,#006dff 52%,#0084ff 100%); color:#fff; }
.pkg-apply-focus-promo-inner { width:100%; max-width:var(--apply-content-max); margin:0 auto; padding:0 20px; min-height:var(--focus-promo-h); display:flex; align-items:center; justify-content:center; gap:10px 14px; flex-wrap:wrap; box-sizing:border-box; }
.pkg-apply-focus-promo-badge { flex-shrink:0; display:inline-block; padding:3px 10px; border-radius:999px; background:#ff545f; color:#fff; font-size:11px; font-weight:800; letter-spacing:-.02em; }
.pkg-apply-focus-promo-text { margin:0; font-size:13px; font-weight:700; letter-spacing:-.02em; line-height:1.35; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pkg-apply-focus-promo-sub { font-size:12px; font-weight:500; opacity:.92; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pkg-apply-focus-promo-cta { flex-shrink:0; display:inline-flex; align-items:center; padding:6px 14px; border-radius:999px; border:1px solid rgba(255,255,255,.85); color:#fff; font-size:12px; font-weight:700; text-decoration:none; transition:background .2s,color .2s; white-space:nowrap; }
.pkg-apply-focus-promo-cta:hover { background:#fff; color:#006dff; text-decoration:none; }
.pkg-apply-focus-main { min-height:calc(100vh - var(--focus-bar-h) - var(--focus-promo-h) - 44px); }
.pkg-apply-focus-contents { padding:0 0 24px; }
.pkg-apply-focus-foot { background:#fff; border-top:1px solid #eee; padding:12px 16px; }
.pkg-apply-focus-foot-inner { max-width:var(--apply-content-max); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12px; color:#888; flex-wrap:wrap; }
.pkg-apply-focus-foot a { color:#666; text-decoration:none; }
.pkg-apply-focus-foot a:hover { color:#006dff; text-decoration:underline; }

/* Nav ? fluid full viewport, content below stays capped */
.pkg-apply-nav-wrap { position:sticky; top:calc(var(--focus-bar-h) + var(--focus-promo-h)); z-index:50; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); margin-bottom:24px; padding:0 var(--apply-nav-gutter); background:#fff; border-bottom:1px solid #e8e8e8; box-shadow:0 2px 8px rgba(0,0,0,.06); box-sizing:border-box; }
.pkg-apply-nav-inner { max-width:none; width:100%; margin:0; padding:16px 0 14px; }
.pkg-apply-nav-label { font-size:13px; color:#666; margin:0 0 12px; font-weight:700; }
.pkg-apply-nav-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr)); gap:10px; }
.pkg-apply-nav-item { min-width:0; display:flex; }
.pkg-apply-nav-link { display:flex; align-items:center; justify-content:center; flex:1; width:100%; height:68px; min-height:68px; max-height:68px; padding:10px 12px; border-radius:10px; border:1px solid #ddd; color:#333; text-decoration:none; font-size:14px; font-weight:600; line-height:1.35; text-align:center; transition:all .2s; background:#fafafa; box-sizing:border-box; }
.pkg-apply-nav-text { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; word-break:keep-all; overflow-wrap:break-word; }
.pkg-apply-nav-link:hover { border-color:var(--theme-primary); color:var(--theme-primary); background:var(--theme-primary-soft); }
.pkg-apply-nav-item.is-active .pkg-apply-nav-link { background:var(--theme-primary); border-color:var(--theme-primary); color:#fff; font-weight:700; box-shadow:0 2px 8px rgba(0,0,0,.1); }
.pkg-apply-nav-select { display:none; width:100%; min-height:48px; padding:10px 36px 10px 14px; font-size:16px; font-weight:600; color:#222; border:2px solid var(--theme-primary); border-radius:10px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center; appearance:none; -webkit-appearance:none; box-sizing:border-box; }

/* Hero */
.pkg-apply-hero { background:#fff; border:1px solid #ebebeb; border-left:4px solid var(--theme-primary); border-radius:12px; margin-bottom:24px; padding:28px 26px; box-shadow:0 1px 6px rgba(0,0,0,.04); }
.pkg-apply-hero.is-skin { position:relative; overflow:hidden; min-height:180px; padding:32px 28px; background:var(--theme-primary-soft); background:linear-gradient(135deg,var(--theme-primary-soft) 0%,#fff 68%); border:1px solid #e8e8e8; border-left:5px solid var(--theme-primary); box-shadow:0 4px 16px rgba(0,0,0,.06); }
.pkg-apply-hero.is-skin::after { content:""; position:absolute; top:-40px; right:-40px; width:160px; height:160px; border-radius:50%; background:var(--theme-gradient); opacity:.08; pointer-events:none; }
.pkg-apply-hero.is-skin .pkg-apply-hero-badge { background:var(--theme-primary); color:#fff; border:none; font-size:12px; padding:6px 14px; }
.pkg-apply-hero.is-skin .pkg-apply-hero-title { color:#1a1a1a; font-size:28px; letter-spacing:-.03em; }
.pkg-apply-hero.is-skin .pkg-apply-hero-sub { color:#444; font-size:15px; max-width:640px; }
.pkg-apply-hero.is-skin .pkg-apply-hero-price { margin-top:8px; padding-top:16px; border-top:1px solid rgba(0,0,0,.08); align-items:center; }
.pkg-apply-hero.is-skin .pkg-apply-hero-count { color:var(--theme-primary-dark); font-weight:600; background:rgba(255,255,255,.7); padding:4px 10px; border-radius:999px; }
.pkg-apply-hero.is-skin .pkg-apply-hero-pay { font-size:32px; }
.pkg-apply-hero-body { color:#222; width:100%; padding:0; }
.pkg-apply-hero-badge { display:inline-block; background:var(--theme-primary-soft); color:var(--theme-primary); font-size:12px; font-weight:700; padding:5px 12px; border-radius:20px; margin-bottom:12px; border:1px solid rgba(0,0,0,.06); }
.pkg-apply-hero-title { font-size:24px; font-weight:800; margin:0 0 10px; line-height:1.4; color:#111; letter-spacing:-.02em; }
.pkg-apply-hero-sub { font-size:14px; margin:0 0 16px; color:#666; line-height:1.6; }
.pkg-apply-hero-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 12px; padding-top:4px; border-top:1px solid #f0f0f0; }
.pkg-apply-hero-rate { background:#ff545f; color:#fff; font-size:13px; font-weight:700; padding:4px 10px; border-radius:4px; }
.pkg-apply-hero-pay { font-size:28px; font-weight:800; color:var(--theme-primary); }
.pkg-apply-hero-org { font-size:15px; text-decoration:line-through; color:#aaa; }
.pkg-apply-hero-count { font-size:13px; color:#888; }

/* Box */
.pkg-apply-box { background:#fff; border:1px solid #e5e5e5; border-radius:12px; padding:22px; margin-bottom:20px; box-shadow:0 2px 12px rgba(0,0,0,.04); }
.pkg-apply-section-tit { font-size:18px; margin:0 0 16px; padding-bottom:10px; border-bottom:2px solid var(--theme-primary); color:#222; }
.pkg-apply-summary { margin:0 0 16px; line-height:1.6; }
.pkg-apply-price { color:var(--theme-primary); font-weight:700; margin-left:8px; }
.pkg-apply-rate { display:inline-block; margin-left:8px; color:#e74c3c; font-size:13px; }

/* Seasons highlight (validation scroll) */
#pkg_apply_season_anchor { scroll-margin-top:var(--focus-scroll-offset, 80px); }
#pkg_apply_season_anchor.is-shake { animation:pkgApplyShake .45s ease; }
.pkg-apply-season-item.is-highlight { border-color:var(--theme-primary) !important; box-shadow:0 0 0 3px var(--theme-primary-soft); background:#fff; }
.pkg-apply-season-item.is-highlight .pkg-apply-season-head { background:var(--theme-primary-soft); }
.pkg-apply-season-list { list-style:none; margin:0; padding:0; }
.pkg-apply-season-item { border:1px solid #ddd; border-radius:8px; margin-bottom:12px; overflow:hidden; transition:border-color .2s; }
.pkg-apply-season-item:hover { border-color:var(--theme-primary); }
.pkg-apply-season-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; background:var(--theme-primary-soft); flex-wrap:wrap; }
.pkg-apply-season-check { display:flex; align-items:flex-start; gap:8px; flex:1; cursor:pointer; }
.pkg-apply-season-check input { margin-top:4px; accent-color:var(--theme-primary); }
.pkg-apply-season-label { line-height:1.5; }
.pkg-apply-toggle-btn { border:1px solid var(--theme-primary); color:var(--theme-primary); background:#fff; border-radius:6px; padding:7px 14px; cursor:pointer; white-space:nowrap; font-size:13px; font-weight:600; }
.pkg-apply-toggle-btn:hover { background:var(--theme-primary); color:#fff; }
.pkg-apply-season-detail { padding:12px 16px 16px; border-top:1px solid #eee; overflow-x:auto; }
.pkg-apply-block-tit { font-size:15px; margin:0 0 10px; padding:8px 12px; background:var(--theme-primary-soft); border-left:3px solid var(--theme-primary); color:#333; }
.pkg-apply-subject-table { width:100%; border-collapse:collapse; font-size:13px; table-layout:fixed; }
@media (min-width:769px) {
	.pkg-apply-subject-table.hide-subject-pay { min-width:420px; }
}
.pkg-apply-subject-table.mgb15 { margin-bottom:15px; }
.pkg-apply-subject-table th, .pkg-apply-subject-table td { border:1px solid #e5e5e5; padding:8px 6px; text-align:center; }
.pkg-apply-subject-table th { background:#f5f5f5; }
.pkg-apply-subject-table .a_left { text-align:left; }
.pkg-apply-subject-table .cost { text-decoration:line-through; color:#aaa; font-weight:400; }
.pkg-apply-box .cost { text-decoration:line-through; color:#aaa; font-weight:400; }
.pkg-apply-note { color:#666; font-size:13px; margin:12px 0 0; }
.pkg-apply-pay-btns a { display:inline-block; margin-bottom:8px; }
.pkg-apply-page .pkg-apply-pay-btns .pack_btn_01.btn_sa { background:var(--theme-primary); color:#fff; border:1px solid var(--theme-primary); }
.pkg-apply-page .pkg-apply-pay-btns .pack_btn_01.btn_sa:hover { background:var(--theme-primary-dark); color:#fff; border:1px solid var(--theme-primary-dark); }
.pkg-apply-page #send_btn2 .btn_style02.blue_bg { background:var(--theme-primary) !important; color:#fff !important; border:1px solid var(--theme-primary) !important; }
.pkg-apply-page #send_btn2 .btn_style02.blue_bg:hover { background:var(--theme-primary-dark) !important; color:#fff !important; border:1px solid var(--theme-primary-dark) !important; }

.pkg-apply-step.is-done { background:#f7faff; color:#444; }
.pkg-apply-step.is-done .step-num { color:var(--theme-primary); }

/* Pay entry bar */
.pkg-apply-pay-entry-bar { display:flex; align-items:center; gap:20px; padding:20px 28px; margin-bottom:20px; border-radius:12px; background-color:var(--theme-primary); background-image:var(--theme-gradient); position:relative; overflow:hidden; color:#fff; text-decoration:none; box-shadow:0 4px 16px rgba(0,0,0,.12); transition:transform .2s,box-shadow .2s; }
.pkg-apply-pay-entry-bar::before { content:""; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); pointer-events:none; }
.pkg-apply-pay-entry-bar:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(0,0,0,.16); color:#fff; }
.pkg-apply-pay-entry-text { position:relative; z-index:1; flex:1; min-width:0; }
.pkg-apply-pay-entry-text strong { display:block; font-size:22px; font-weight:800; letter-spacing:-.02em; line-height:1.3; }
.pkg-apply-pay-entry-sub { display:block; margin-top:6px; font-size:14px; opacity:.95; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pkg-apply-pay-entry-line { position:relative; z-index:1; flex:1; height:1px; background:rgba(255,255,255,.85); min-width:24px; }
.pkg-apply-pay-entry-btn { position:relative; z-index:1; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; min-width:160px; padding:14px 24px; border:2px solid #fff; border-radius:4px; color:#fff; font-size:16px; font-weight:700; letter-spacing:-.02em; transition:background .2s,color .2s; }
.pkg-apply-pay-entry-bar:hover .pkg-apply-pay-entry-btn { background:#fff; color:var(--theme-primary); }

/* Sticky pay CTA (PC) */
.pkg-apply-sticky-cta { display:none; position:fixed; bottom:0; left:0; right:0; z-index:120; align-items:center; justify-content:center; gap:16px; padding:12px 20px; background:var(--theme-gradient); color:#fff; text-decoration:none; box-shadow:0 -4px 16px rgba(0,0,0,.18); transform:translateY(110%); transition:transform .25s ease; }
.pkg-apply-sticky-cta.is-visible { transform:translateY(0); }
.pkg-apply-sticky-cta-label { font-size:15px; font-weight:700; letter-spacing:-.02em; }
.pkg-apply-sticky-cta-pay { font-size:20px; font-weight:800; letter-spacing:-.02em; }

/* Pay recap & cards */
#pkg_apply_pay_anchor { scroll-margin-top:var(--focus-scroll-offset, 80px); border:2px solid var(--theme-primary); box-shadow:0 4px 20px rgba(0,0,0,.08); }
.pkg-apply-pay-recap { background:var(--theme-primary-soft); border:1px solid rgba(0,0,0,.06); border-radius:10px; padding:16px 18px; }
.pkg-apply-pay-recap-list { margin:0; padding:0; }
.pkg-apply-pay-recap-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px dashed rgba(0,0,0,.08); font-size:14px; line-height:1.5; }
.pkg-apply-pay-recap-row:last-child { border-bottom:none; padding-bottom:0; }
.pkg-apply-pay-recap-row dt { margin:0; font-weight:600; color:#555; flex-shrink:0; }
.pkg-apply-pay-recap-row dd { margin:0; text-align:right; color:#222; word-break:keep-all; }
.pkg-apply-pay-recap-row.is-highlight dd { font-size:18px; color:var(--theme-primary); font-weight:800; }

/* °áÁ¦ »óÅÂº° Ä«µå (ÀÔ±Ý´ë±â / ¿Ï·á / ÁøÇàÁß) */
.pkg-apply-pay-status-head { margin-bottom:18px; }
.pkg-apply-pay-status-badge { display:inline-block; padding:6px 14px; border-radius:20px; font-size:13px; font-weight:800; letter-spacing:-.02em; }
.pkg-apply-pay-status-badge.is-wait { background:#fff3e0; color:#e65100; border:1px solid #ffcc80; }
.pkg-apply-pay-status-badge.is-done { background:#e8f5e9; color:#1b5e20; border:1px solid #a5d6a7; }
.pkg-apply-pay-status-lead { margin:10px 0 0; font-size:15px; line-height:1.55; color:#444; }
.pkg-apply-pay-expired { color:#c62828; font-weight:700; }
.pkg-apply-vbank-card,
.pkg-apply-paid-card,
.pkg-apply-pending-card { margin-bottom:8px; padding:20px 22px; border-radius:12px; background:#fff; border:1px solid #e0e0e0; box-shadow:0 2px 10px rgba(0,0,0,.06); }
.pkg-apply-pay-state-vbank_pending .pkg-apply-vbank-card { border-color:#ffb74d; background:linear-gradient(180deg,#fff8f0 0%,#fff 48%); }
.pkg-apply-pay-state-paid .pkg-apply-paid-card { border-color:#81c784; background:linear-gradient(180deg,#f1f8f2 0%,#fff 48%); }
.pkg-apply-pay-state-pending .pkg-apply-pending-card { border-color:#90caf9; background:linear-gradient(180deg,#f0f7ff 0%,#fff 48%); }
.pkg-apply-vbank-list { margin:0; padding:0; }
.pkg-apply-vbank-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px dashed rgba(0,0,0,.08); font-size:14px; line-height:1.5; }
.pkg-apply-vbank-row:last-child { border-bottom:none; }
.pkg-apply-vbank-row dt { margin:0; font-weight:600; color:#555; flex-shrink:0; min-width:88px; }
.pkg-apply-vbank-row dd { margin:0; text-align:right; color:#222; word-break:keep-all; }
.pkg-apply-vbank-row.is-accent dt { color:var(--theme-primary); font-weight:800; }
.pkg-apply-vbank-row.is-accent dd { font-size:16px; font-weight:800; color:#111; }
.pkg-apply-vbank-num strong { font-size:18px; letter-spacing:.04em; color:var(--theme-primary); }
.pkg-apply-vbank-note { margin:14px 0 0; padding:12px 14px; font-size:13px; line-height:1.6; color:#666; background:rgba(0,0,0,.03); border-radius:8px; }
.pkg-apply-vbank-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:18px; padding-top:16px; border-top:1px solid rgba(0,0,0,.08); }
.pkg-apply-vbank-cancel-hint { font-size:12px; color:#888; line-height:1.5; }
.pkg-apply-paid-actions { margin-top:16px; padding-top:14px; border-top:1px solid rgba(0,0,0,.08); }

/* ÇÐ±â ¼±ÅÃ Àá±Ý (ÀÔ±Ý´ë±â/°áÁ¦¿Ï·á) */
.is-season-locked .pkg-apply-season-check input[type="checkbox"] { pointer-events:none; }
.is-season-locked .pkg-apply-season-item.is-applied { border-color:var(--theme-primary); background:var(--theme-primary-soft); box-shadow:0 0 0 1px rgba(0,109,255,.15); }
.is-season-locked .pkg-apply-season-item.is-applied .pkg-apply-season-label strong { color:var(--theme-primary); }

.pkg-apply-pay-card { margin:0 0 16px; padding:18px 20px; border:1px solid #e0e0e0; border-radius:10px; background:#fff; box-shadow:0 1px 6px rgba(0,0,0,.04); }
.pkg-apply-pay-card-tit { margin:0 0 14px; font-size:16px; font-weight:800; color:#222; display:flex; align-items:center; gap:8px; letter-spacing:-.02em; }
.pkg-apply-pay-card-num { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:var(--theme-primary); color:#fff; font-size:13px; font-weight:800; flex-shrink:0; }
.pkg-apply-pay-card .Required { color:#e74c3c; font-weight:800; }

/* Notice */
.pkg-apply-notice-wrap { background:#fafafa; border:1px solid #ddd !important; padding:15px 20px; margin:0 0 16px; border-radius:8px; font-size:13px; line-height:1.65; color:#333; }
.pkg-apply-notice-head { margin:0 0 12px !important; padding:0 0 10px !important; border-bottom:1px solid #e0e0e0 !important; }
.pkg-apply-notice-wrap .b_bottom { margin:0 0 10px; padding:0 0 10px; border-bottom:1px dotted #ddd; }
.pkg-apply-notice-wrap .b_bottom:last-child { border-bottom:none; padding-bottom:0; margin-bottom:0; }
.pkg-apply-notice-wrap .pack_contxt { background:#f0f0f0; padding:10px; border:1px solid #eee; margin:0 0 10px; border-radius:4px; }
.pkg-apply-notice-wrap .pack_contxt p { margin:0; }
.pkg-apply-notice-wrap .ls_0 { letter-spacing:0; }

/* Agree card */
.pkg-apply-pay-agree { border-left:4px solid var(--theme-primary); background:linear-gradient(135deg,var(--theme-primary-soft) 0%,#fff 72%); }
.pkg-apply-pay-agree.is-unchecked { border-left-color:#f5a623; background:linear-gradient(135deg,#fff8eb 0%,#fff 72%); box-shadow:0 0 0 1px rgba(245,166,35,.35); }
.pkg-apply-pay-agree.is-checked { border-left-color:#1c8036; background:linear-gradient(135deg,#edf7ef 0%,#fff 72%); }
.pkg-apply-pay-agree.is-shake { animation:pkgApplyShake .45s ease; }
@keyframes pkgApplyShake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-6px)} 40%{transform:translateX(6px)} 60%{transform:translateX(-4px)} 80%{transform:translateX(4px)} }
.pkg-apply-pay-agree .pay_agree { border:none; background:transparent; padding:0; border-radius:0; }
.pkg-apply-pay-agree-label { display:flex; align-items:flex-start; gap:10px; cursor:pointer; margin:0 0 10px; }
.pkg-apply-pay-agree-label input[type="checkbox"] { width:22px; height:22px; margin-top:2px; accent-color:var(--theme-primary); flex-shrink:0; }
.pkg-apply-pay-agree-title { font-size:16px; font-weight:800; color:#222; line-height:1.4; }
.pkg-apply-pay-agree-desc { margin:0; padding-left:32px; font-size:13px; line-height:1.65; color:#444; }

/* Contact card */
.pkg-apply-pay-contact { border-color:var(--theme-primary); background:#fff; }
.pkg-apply-pay-tel-input { display:block; width:100%; max-width:320px; min-height:46px; padding:10px 14px; font-size:16px; border:2px solid #ccc; border-radius:8px; box-sizing:border-box; transition:border-color .2s; }
.pkg-apply-pay-tel-input:focus { border-color:var(--theme-primary); outline:none; box-shadow:0 0 0 3px rgba(0,109,255,.12); }
.pkg-apply-pay-field-hint { margin:8px 0 0; font-size:12px; color:#888; line-height:1.5; }

/* Identity card */
.pkg-apply-pay-identity-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:10px; font-size:14px; }
.pkg-apply-pay-identity-row:last-child { margin-bottom:0; }
.pkg-apply-pay-identity-label { font-weight:700; color:#555; min-width:100px; }
.pkg-apply-pay-jumin-inputs { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }

/* Payment method grid */
.pkg-apply-pay-method { border:2px solid var(--theme-primary); background:var(--theme-primary-soft); background:linear-gradient(180deg,var(--theme-primary-soft) 0%,#fff 40%); }
.pkg-apply-pay-ars-quota { margin-bottom:14px; padding:12px 14px; background:#fff; border:1px solid #ddd; border-radius:8px; }
.pkg-apply-pay-ars-label { display:block; margin-bottom:8px; font-size:13px; font-weight:700; color:#333; }
.pkg-apply-pay-method-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.pkg-apply-pay-method-btn { display:flex !important; align-items:center; justify-content:center; min-height:52px; padding:12px 10px !important; margin:0 !important; width:100% !important; text-align:center; font-size:14px !important; font-weight:700 !important; border-radius:8px !important; box-sizing:border-box; box-shadow:0 2px 6px rgba(0,0,0,.08); transition:transform .15s,box-shadow .15s; }
.pkg-apply-pay-method-btn:hover { transform:translateY(-1px); box-shadow:0 4px 10px rgba(0,0,0,.12); }
.pkg-apply-pay-cardnum { margin-top:16px; border:1px solid #ddd; }
.pkg-apply-pay-cardnum-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }

/* Legacy agree (fallback) */
.pkg-apply-box .pay_agree ul { list-style:none; margin:0; padding:0; display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.pkg-apply-box .pay_agree li.check { flex-shrink:0; }
.pkg-apply-box .pay_agree li.txt { flex:1; font-size:13px; line-height:1.55; color:#333; min-width:200px; }

/* Bottom banner */
.pkg-apply-bottom-banner { margin:0 0 24px; border-radius:12px; overflow:hidden; background:#fff; border:1px solid #e8e8e8; box-shadow:0 1px 6px rgba(0,0,0,.04); line-height:0; }
.pkg-apply-bottom-banner img { display:block; width:100%; height:auto; object-fit:contain; vertical-align:top; }

/* Learning support service */
.pkg-apply-support { margin:0 0 28px; padding:28px 16px 10px; background:#fff; border-radius:12px; border:1px solid #eee; box-shadow:0 1px 6px rgba(0,0,0,.04); }
.pkg-apply-support-head { text-align:center; margin-bottom:22px; }
.pkg-apply-support-lead { margin:0 0 4px; font-size:24px; font-weight:800; color:#111; letter-spacing:-.03em; line-height:1.3; }
.pkg-apply-support-title { margin:0; font-size:28px; font-weight:800; color:var(--theme-primary); letter-spacing:-.03em; line-height:1.25; }
.pkg-apply-support-stars { display:flex; justify-content:center; gap:8px; margin-top:12px; }
.pkg-apply-support-stars span { display:inline-block; width:auto; height:auto; background:none; transform:none; border-radius:0; color:var(--theme-primary); font-size:16px; line-height:1; opacity:.95; }
.pkg-apply-support-stars span::before { content:"\2605"; }
.pkg-apply-support-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.pkg-apply-support-item { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:96px; padding:14px 16px; border:2px solid var(--theme-primary); border-radius:18px; background:#fff; box-sizing:border-box; }
.pkg-apply-support-text { margin:0; font-size:14px; line-height:1.55; color:#333; letter-spacing:-.02em; flex:1; min-width:0; word-break:keep-all; }
.pkg-apply-support-text strong { color:var(--theme-primary); font-weight:800; }
.pkg-apply-support-icon { flex-shrink:0; width:68px; height:68px; border-radius:16px; background:var(--theme-primary-soft); position:relative; overflow:hidden; }
.pkg-apply-support-icon::before, .pkg-apply-support-icon::after { content:""; position:absolute; box-sizing:border-box; }
/* ¸ð¹ÙÀÏ ¼ö°­ - ½º¸¶Æ®Æù + Àç»ý */
.pkg-apply-support-icon.is-mobile::before { width:28px; height:44px; left:20px; top:12px; border:3px solid var(--theme-primary); border-radius:8px; background:#fff; }
.pkg-apply-support-icon.is-mobile::after { width:0; height:0; left:31px; top:30px; border-style:solid; border-width:7px 0 7px 12px; border-color:transparent transparent transparent var(--theme-primary); background:none; }
/* 1:1 ÇÐ½À°ü¸® - »ó´ã»ç + ¸»Ç³¼± */
.pkg-apply-support-icon.is-planner::before { width:18px; height:18px; left:14px; top:16px; border-radius:50%; background:var(--theme-primary); box-shadow:0 20px 0 -5px var(--theme-primary); }
.pkg-apply-support-icon.is-planner::after { width:24px; height:18px; right:10px; top:22px; border-radius:10px; background:#fff; border:2px solid var(--theme-primary); }
/* 3.6.5 - ÇÐ½À ÀÏÁ¤(Ä¶¸°´õ) */
.pkg-apply-support-icon.is-schedule::before { width:38px; height:36px; left:15px; top:16px; border-radius:6px; background:#fff; border:2px solid var(--theme-primary); box-shadow:inset 0 11px 0 var(--theme-primary); }
.pkg-apply-support-icon.is-schedule::after { width:5px; height:5px; left:22px; top:30px; border-radius:50%; background:var(--theme-primary); box-shadow:9px 0 0 var(--theme-primary), 18px 0 0 var(--theme-primary), 0 9px 0 var(--theme-primary), 9px 9px 0 var(--theme-primary); }
/* ÇÐ½À°¡ÀÌµå¡¤ÀüÀÚÃ¥ - ÅÂºí¸´/¹®¼­ */
.pkg-apply-support-icon.is-ebook::before { width:32px; height:40px; left:18px; top:14px; border-radius:4px; background:#fff; border:2px solid var(--theme-primary); }
.pkg-apply-support-icon.is-ebook::after { width:18px; height:3px; left:25px; top:24px; border-radius:2px; background:var(--theme-primary); box-shadow:0 7px 0 var(--theme-primary), 0 14px 0 rgba(0,0,0,.12); }
/* Àü¹®ÇÐ»ç¡¤ÇÐ»ç - Á¹¾÷¸ð */
.pkg-apply-support-icon.is-degree::before { width:44px; height:8px; left:12px; top:38px; border-radius:2px; background:var(--theme-primary-dark); transform:rotate(-8deg); }
.pkg-apply-support-icon.is-degree::after { width:0; height:0; left:18px; top:14px; border-left:16px solid transparent; border-right:16px solid transparent; border-bottom:20px solid var(--theme-primary); background:none; }
/* ÀÌ¼öÀ²¡¤¸¸Á·µµ - Æ®·ÎÇÇ */
.pkg-apply-support-icon.is-satisfaction::before { width:30px; height:22px; left:19px; top:14px; border:3px solid var(--theme-primary); border-radius:0 0 14px 14px; background:#fff; }
.pkg-apply-support-icon.is-satisfaction::after { width:36px; height:7px; left:16px; top:42px; border-radius:4px; background:var(--theme-primary); box-shadow:-14px -24px 0 -10px var(--theme-primary), 14px -24px 0 -10px var(--theme-primary); }

/* Mobile CTA */
	.pkg-apply-mobile-cta { display:none; position:fixed; bottom:0; left:0; right:0; z-index:120; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:14px 16px calc(14px + env(safe-area-inset-bottom, 0px)); background:var(--theme-gradient); color:#fff; text-align:center; font-weight:700; text-decoration:none; box-shadow:0 -4px 16px rgba(0,0,0,.18); transform:translateY(110%); transition:transform .25s ease; touch-action:manipulation; }
.pkg-apply-mobile-cta.is-visible { transform:translateY(0); }
.pkg-apply-mobile-cta-label { font-size:14px; letter-spacing:-.02em; opacity:.95; }
.pkg-apply-mobile-cta-pay { font-size:20px; font-weight:800; letter-spacing:-.02em; }

@media (min-width:769px) {
	.pkg-apply-sticky-cta { display:flex; }
	.pkg-apply-wrap { padding-bottom:70px; }
}

/* Hub index */
.pkg-apply-hub-head { text-align:center; padding:30px 0 24px; }
.pkg-apply-hub-head h1 { font-size:28px; margin:0 0 10px; color:#222; }
.pkg-apply-hub-head p { color:#666; margin:0; font-size:15px; }
.pkg-apply-hub-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; padding-bottom:40px; }
.pkg-apply-hub-card { display:block; background:#fff; border:1px solid #e5e5e5; border-radius:12px; padding:20px; text-decoration:none; color:#333; transition:all .2s; box-shadow:0 2px 8px rgba(0,0,0,.04); }
.pkg-apply-hub-card:hover { border-color:#006dff; box-shadow:0 4px 16px rgba(0,109,255,.12); transform:translateY(-2px); }
.pkg-apply-hub-card-name { display:block; font-size:16px; font-weight:700; margin-bottom:8px; line-height:1.4; color:#222; }
.pkg-apply-hub-card-rate { display:inline-block; font-size:12px; color:#ff545f; font-weight:700; margin-bottom:6px; }
.pkg-apply-hub-card-pay { display:block; font-size:22px; color:#006dff; margin:4px 0; }
.pkg-apply-hub-card-count { display:block; font-size:13px; color:#888; margin-bottom:10px; }
.pkg-apply-hub-card-btn { display:block; font-size:13px; color:#006dff; font-weight:600; }
.pkg-apply-hub-empty { grid-column:1/-1; text-align:center; padding:40px 20px; background:#fff; border-radius:12px; }
.pkg-apply-hub-sangdam { display:inline-block; margin-top:12px; padding:10px 24px; background:#006dff; color:#fff; border-radius:6px; text-decoration:none; }

@media (min-width:1200px) {
	.pkg-apply-nav-list { grid-template-columns:repeat(auto-fill,minmax(min(100%,195px),1fr)); gap:12px; }
}

@media (max-width:768px) {
	.pkg-apply-wrap { padding:0 12px calc(88px + env(safe-area-inset-bottom, 0px)); }
	.pkg-apply-focus-body #skip_container .container { width:100% !important; max-width:100% !important; padding:0 12px; }
	.pkg-apply-focus-body { --focus-bar-h:50px; }
	.pkg-apply-focus-body.has-focus-promo { --focus-promo-h:72px; }
	.pkg-apply-focus-inner { padding:0 12px; height:var(--focus-bar-h); }
	.pkg-apply-focus-logo img { height:26px; }
	.pkg-apply-focus-hub { display:none; }
	.pkg-apply-focus-title { font-size:13px; }
	.pkg-apply-focus-sub { font-size:10px; }
	.pkg-apply-focus-promo-inner { padding:8px 12px; justify-content:flex-start; }
	.pkg-apply-focus-promo-text { font-size:12px; white-space:normal; flex:1 1 100%; text-align:center; }
	.pkg-apply-focus-promo-sub { display:none; }
	.pkg-apply-focus-promo-cta { margin-left:auto; }
	.pkg-apply-focus-auth { font-size:12px; gap:6px; }
	.pkg-apply-focus-user { display:none; }
	.pkg-apply-nav-wrap { position:relative; top:auto; width:100%; margin-left:0; margin-right:0; margin-bottom:14px; --apply-nav-gutter:12px; padding:0 12px; }
	.pkg-apply-nav-inner { padding:12px 0 10px; }
	.pkg-apply-nav-label { margin-bottom:8px; font-size:12px; }
	.pkg-apply-nav-select { display:block; }
	.pkg-apply-nav-list { display:none; }
	.pkg-apply-hub-head { padding:20px 0 16px; }
	.pkg-apply-hub-head h1 { font-size:22px; }
	.pkg-apply-hub-head p { font-size:14px; }
	.pkg-apply-hub-card { padding:18px 16px; }
	.pkg-apply-hub-card-pay { font-size:20px; }
	.pkg-apply-section-tit { font-size:16px; }
	.pkg-apply-season-detail { overflow-x:visible; padding:12px 10px 14px; }
	.pkg-apply-hero.has-banner-only .pkg-apply-hero-banner { border-radius:8px; }
	.pkg-apply-hero.has-banner-overlay { min-height:220px; padding:24px 16px; border-radius:8px; margin-bottom:20px; }
	.pkg-apply-hero-overlay-hook { font-size:16px; }
	.pkg-apply-hero-overlay-title { font-size:22px; margin-bottom:14px; }
	.pkg-apply-hero-ticket-pay { font-size:32px; }
	.pkg-apply-hero-ticket-body { padding:18px 20px 22px; }
	.pkg-apply-hero { padding:20px 16px; border-radius:8px; margin-bottom:20px; }
	.pkg-apply-consult-banner { flex-direction:column; align-items:stretch; flex-wrap:nowrap; padding:16px 14px; gap:12px; margin-bottom:20px; border-radius:8px; overflow:visible; width:100%; max-width:100%; box-sizing:border-box; }
	.pkg-apply-consult-line { display:none; }
	.pkg-apply-consult-text { width:100%; flex-shrink:1; min-width:0; }
	.pkg-apply-consult-text strong { font-size:18px; word-break:keep-all; }
	.pkg-apply-consult-text span { word-break:keep-all; }
	.pkg-apply-consult-btn { width:100%; min-width:0; max-width:100%; font-size:15px; padding:12px 14px; white-space:normal; }
	.pkg-apply-consult-quick { padding:14px 14px 14px 20px; margin-bottom:20px; border-radius:999px; }
	.pkg-apply-consult-quick-text { font-size:16px; }
	.pkg-apply-consult-quick-icon { width:40px; height:40px; }
	.pkg-apply-support { padding:22px 12px 8px; margin-bottom:20px; }
	.pkg-apply-support-lead { font-size:20px; }
	.pkg-apply-support-title { font-size:22px; }
	.pkg-apply-support-grid { grid-template-columns:1fr; gap:10px; }
	.pkg-apply-support-item { min-height:84px; padding:12px 14px; border-radius:14px; }
	.pkg-apply-support-text { font-size:13px; }
	.pkg-apply-support-icon { width:56px; height:56px; border-radius:12px; }
	.pkg-apply-steps { flex-direction:column; margin-bottom:20px; border-radius:8px; }
	.pkg-apply-step { min-height:48px; padding:10px 14px; justify-content:flex-start; text-align:left; }
	.pkg-apply-step + .pkg-apply-step { border-left:none; border-top:1px solid #ececec; }
	.pkg-apply-step:not(:last-child)::after { display:none; }
	.pkg-apply-step-text { font-size:12px; }
	.pkg-apply-hero-title { font-size:19px; }
	.pkg-apply-hero-pay { font-size:22px; }
	.pkg-apply-box { padding:16px 12px; border-radius:8px; }
	.pkg-apply-season-head { flex-direction:column; align-items:stretch; }
	.pkg-apply-toggle-btn { width:100%; text-align:center; }
	.pkg-apply-subject-table { font-size:13px; min-width:0 !important; max-width:100%; width:100%; border:none; table-layout:auto; }
	.pkg-apply-subject-table.hide-subject-pay { min-width:0 !important; max-width:100%; width:100%; }
	.pkg-apply-subject-table thead { display:none; }
	.pkg-apply-subject-table tbody tr { display:block; margin-bottom:10px; padding:12px; border:1px solid #e5e5e5; border-radius:10px; background:#fafafa; box-sizing:border-box; max-width:100%; }
	.pkg-apply-subject-table tbody td { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; border:none; padding:6px 0; text-align:right; min-width:0; max-width:100%; box-sizing:border-box; }
	.pkg-apply-subject-table tbody td::before { content:attr(data-label); flex:0 0 auto; max-width:42%; font-weight:700; color:#666; text-align:left; font-size:12px; word-break:keep-all; }
	.pkg-apply-subject-table tbody td > :not(input[type="hidden"]) { flex:1 1 auto; min-width:0; max-width:100%; text-align:right; }
	.pkg-apply-subject-table tbody td input[type="hidden"] { display:none; }
	.pkg-apply-subject-table tbody td.a_left { text-align:left; word-break:break-word; overflow-wrap:anywhere; }
	.pkg-apply-subject-table tbody td[data-label=""]::before,
	.pkg-apply-subject-table tbody td:not([data-label])::before { display:none; }
	.pkg-apply-subject-table tbody td[colspan] { display:block; text-align:center; justify-content:center; }
	.pkg-apply-subject-table .pack_btn_01 { width:auto; min-width:88px; max-width:100%; flex-shrink:0; white-space:normal; }
	.pkg-apply-subject-table tbody td.pkg-apply-plan-cell { align-items:center; }
	.pkg-apply-subject-table tbody td.pkg-apply-plan-cell > .pack_btn_01 { flex:0 0 auto; width:auto !important; min-width:88px; max-width:none; margin-left:auto; padding:7px 12px; text-align:center; display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; }
	.pkg-apply-subject-table tbody td.pkg-apply-pay-cell { align-items:center; }
	.pkg-apply-subject-table tbody td.pkg-apply-pay-cell > .pkg-apply-pay-wrap { flex:0 1 auto; display:inline-flex; align-items:baseline; justify-content:flex-end; flex-wrap:wrap; gap:4px; margin-left:auto; text-align:right; white-space:normal; }
	.pkg-apply-subject-table tbody td.pkg-apply-pay-cell .cost { font-size:12px; font-weight:400; }
	.pkg-apply-pay-btns a { display:block; width:100%; text-align:center; box-sizing:border-box; }
	.pkg-apply-pay-entry-bar { display:none; }
	.pkg-apply-pay-entry-line { display:none; }
	.pkg-apply-pay-method-grid { grid-template-columns:1fr; }
	.pkg-apply-pay-tel-input { max-width:none; }
	.pkg-apply-pay-card { padding:16px 14px; }
	.pkg-apply-vbank-card,
	.pkg-apply-paid-card,
	.pkg-apply-pending-card { padding:16px 14px; }
	.pkg-apply-vbank-row { flex-direction:column; align-items:stretch; gap:4px; }
	.pkg-apply-vbank-row dd { text-align:left; }
	.pkg-apply-pay-recap-row { flex-direction:column; gap:4px; }
	.pkg-apply-pay-recap-row dd { text-align:left; }
	.pkg-apply-mobile-cta { display:flex; }
	.pkg-apply-mobile-cta.is-visible { transform:translateY(0); }
	.pkg-apply-pay-tel-input,
	.pkg-apply-pay-jumin-inputs input { font-size:16px; }
	.pkg-apply-vbank-actions { flex-direction:column; align-items:stretch; }
	.pkg-apply-vbank-actions .pack_btn_01 { width:100%; text-align:center; box-sizing:border-box; margin:0; }
	.pkg-apply-vbank-cancel-hint { text-align:center; }
	.pkg-apply-paid-actions .pack_btn_01 { width:100%; text-align:center; box-sizing:border-box; }
	.pkg-apply-pay-status-lead { font-size:14px; }
	.pkg-apply-vbank-num strong { font-size:20px; word-break:break-all; }
	.pkg-apply-pay-state-vbank_pending .pkg-apply-box,
	.pkg-apply-pay-state-paid .pkg-apply-box,
	.pkg-apply-pay-state-pending .pkg-apply-box { margin-bottom:8px; }
	.pkg-apply-wrap.is-pay-settled { padding-bottom:24px; }
	.pkg-v2-shell .pkg-v2-sub .pkg-apply-wrap { padding-left:0; padding-right:0; max-width:100%; }
	.pkg-v2-shell .pkg-apply-consult-banner { margin-left:0; margin-right:0; }
	.pkg-apply-embed-root { width:100%; max-width:100%; box-sizing:border-box; }
body.pkg-apply-embed-body { margin:0; background:#f0f0f0; overflow-x:hidden; width:100%; max-width:100%; -webkit-text-size-adjust:100%; }
body.pkg-apply-embed-body .container,
body.pkg-apply-embed-body #sub_contents,
body.pkg-apply-embed-body .pkg-apply-page,
body.pkg-apply-embed-body .pkg-apply-wrap { width:100% !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box; }
body.pkg-apply-embed-body .container { margin:0 auto; padding:0 12px; }
body.pkg-apply-embed-body .pkg-apply-wrap { padding:0 0 24px; }
body.pkg-apply-embed-body .pkg-apply-focus-contents { min-height:0 !important; padding-bottom:0; }
body.pkg-apply-embed-body .pkg-apply-nav-wrap { position:relative; top:auto; width:100%; margin:0 0 14px; padding:0 12px; --apply-nav-gutter:12px; box-sizing:border-box; }
body.pkg-apply-embed-body .pkg-apply-nav-inner { padding:12px 0 10px; }
body.pkg-apply-embed-body .pkg-apply-nav-select { display:block; }
body.pkg-apply-embed-body .pkg-apply-nav-list { display:none; }
body.pkg-apply-embed-body .pkg-apply-steps { flex-direction:column; margin-bottom:20px; border-radius:8px; }
body.pkg-apply-embed-body .pkg-apply-step { min-height:48px; padding:10px 14px; justify-content:flex-start; text-align:left; }
body.pkg-apply-embed-body .pkg-apply-step + .pkg-apply-step { border-left:none; border-top:1px solid #ececec; }
body.pkg-apply-embed-body .pkg-apply-step:not(:last-child)::after { display:none; }
body.pkg-apply-embed-body .pkg-apply-hero-ticket-bar,
body.pkg-apply-embed-body .pkg-apply-hero-ticket-body { width:100%; max-width:420px; }
body.pkg-apply-embed-body .pkg-apply-consult-banner { flex-direction:column; align-items:stretch; padding:16px 14px; gap:12px; overflow:visible; }
body.pkg-apply-embed-body .pkg-apply-season-detail { overflow-x:visible; padding:12px 10px 14px; max-width:100%; }
body.pkg-apply-embed-body .pkg-apply-subject-table { min-width:0 !important; max-width:100%; width:100%; border:none; table-layout:auto; }
body.pkg-apply-embed-body .pkg-apply-subject-table.hide-subject-pay { min-width:0 !important; max-width:100%; width:100%; }
body.pkg-apply-embed-body .pkg-apply-subject-table thead { display:none; }
body.pkg-apply-embed-body .pkg-apply-subject-table tbody tr { display:block; margin-bottom:10px; padding:12px; border:1px solid #e5e5e5; border-radius:10px; background:#fafafa; box-sizing:border-box; max-width:100%; }
body.pkg-apply-embed-body .pkg-apply-subject-table tbody td { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; border:none; padding:6px 0; text-align:right; min-width:0; max-width:100%; box-sizing:border-box; }
body.pkg-apply-embed-body .pkg-apply-subject-table tbody td::before { content:attr(data-label); flex:0 0 auto; max-width:42%; font-weight:700; color:#666; text-align:left; font-size:12px; word-break:keep-all; }
body.pkg-apply-embed-body .pkg-apply-subject-table tbody td > :not(input[type="hidden"]) { flex:1 1 auto; min-width:0; max-width:100%; text-align:right; }
body.pkg-apply-embed-body .pkg-apply-subject-table tbody td input[type="hidden"] { display:none; }
body.pkg-apply-embed-body .pkg-apply-subject-table tbody td.a_left { text-align:left; word-break:break-word; overflow-wrap:anywhere; }
body.pkg-apply-embed-body .pkg-apply-subject-table tbody td[data-label=""]::before,
body.pkg-apply-embed-body .pkg-apply-subject-table tbody td:not([data-label])::before { display:none; }
body.pkg-apply-embed-body .pkg-apply-subject-table .pack_btn_01 { width:auto; min-width:88px; max-width:100%; flex-shrink:0; white-space:normal; }
body.pkg-apply-embed-body .pkg-apply-subject-table tbody td.pkg-apply-plan-cell { align-items:center; }
body.pkg-apply-embed-body .pkg-apply-subject-table tbody td.pkg-apply-plan-cell > .pack_btn_01 { flex:0 0 auto; width:auto !important; min-width:88px; max-width:none; margin-left:auto; padding:7px 12px; text-align:center; display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; }
body.pkg-apply-embed-body .pkg-apply-subject-table tbody td.pkg-apply-pay-cell { align-items:center; }
body.pkg-apply-embed-body .pkg-apply-subject-table tbody td.pkg-apply-pay-cell > .pkg-apply-pay-wrap { flex:0 1 auto; display:inline-flex; align-items:baseline; justify-content:flex-end; flex-wrap:wrap; gap:4px; margin-left:auto; text-align:right; white-space:normal; }
body.pkg-apply-embed-body .pkg-apply-subject-table tbody td.pkg-apply-pay-cell .cost { font-size:12px; font-weight:400; }
body.pkg-apply-embed-body .pkg-apply-consult-line { display:none; }
body.pkg-apply-embed-body .pkg-apply-consult-btn { width:100%; min-width:0; }
body.pkg-apply-embed-body .pkg-apply-mobile-cta { display:none !important; }
body.pkg-apply-embed-body img { max-width:100%; height:auto; }
	.pkg-apply-hub-grid { grid-template-columns:1fr; }
	.pack_table_02 table, .pack_table_02 tbody, .pack_table_02 tr, .pack_table_02 th, .pack_table_02 td { display:block; width:100%; box-sizing:border-box; }
	.pack_table_02 th { background:#f5f5f5; }
}

/* Page loading overlay (PC apply + mobile v2 shell) */
.pkg-apply-page-loading { position:fixed; inset:0; z-index:12000; display:flex; align-items:center; justify-content:center; padding:24px; box-sizing:border-box; pointer-events:none; opacity:0; visibility:hidden; transition:opacity .22s ease, visibility .22s ease; }
.pkg-apply-page-loading.is-visible { pointer-events:auto; opacity:1; visibility:visible; }
.pkg-apply-page-loading-backdrop { position:absolute; inset:0; background:rgba(255,255,255,.82); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.pkg-apply-page-loading-card { position:relative; z-index:1; min-width:min(280px,88vw); max-width:320px; padding:28px 24px 24px; border-radius:16px; background:#fff; border:1px solid rgba(0,0,0,.06); box-shadow:0 12px 40px rgba(0,45,120,.12); text-align:center; box-sizing:border-box; }
.pkg-apply-page-loading-spinner { width:44px; height:44px; margin:0 auto 16px; border-radius:50%; border:3px solid #e8eef5; border-top-color:var(--theme-primary,#006dff); animation:pkgApplySpin .75s linear infinite; }
.pkg-apply-page-loading-text { margin:0; font-size:15px; font-weight:600; color:#334155; letter-spacing:-.02em; line-height:1.45; word-break:keep-all; }
.pkg-apply-page-loading.is-embed { position:relative; inset:auto; z-index:2; min-height:180px; padding:32px 16px; opacity:1; visibility:visible; pointer-events:none; }
.pkg-apply-page-loading.is-embed:not(.is-visible) { display:none; }
.pkg-apply-page-loading.is-embed .pkg-apply-page-loading-backdrop { background:#f5f7fa; backdrop-filter:none; -webkit-backdrop-filter:none; }
.pkg-apply-page-loading.is-embed .pkg-apply-page-loading-card { box-shadow:0 4px 20px rgba(0,45,120,.08); border-color:#e8edf3; }
.pkg-apply-page-loading.is-error .pkg-apply-page-loading-spinner { display:none; }
.pkg-apply-page-loading.is-error .pkg-apply-page-loading-text { color:#c62828; font-weight:500; }
.pkg-apply-page-loading.is-embed.is-error { display:none; min-height:160px; align-items:center; justify-content:center; }
.pkg-apply-page-loading.is-embed.is-error.is-visible,
.pkg-apply-page-loading.is-embed.is-error[style*="flex"] { display:flex !important; }
@keyframes pkgApplySpin { to { transform:rotate(360deg); } }
body.pkg-apply-embed-body .pkg-apply-page-loading { position:fixed; z-index:500; }
body.pkg-apply-focus-body .pkg-apply-page-loading-backdrop { background:rgba(240,240,240,.88); }
