/* JOBnaru™ 구인구직 화면 (2026-10-19) — 학교 목록과 같은 틀(sch-layout · sch-filters)에 공고 카드만 더한다 */
.jb-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.jb-card{position:relative;padding:1rem 1.1rem .4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.jb-card:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(29,78,216,.10)}
.jb-card.t-premium{border:2px solid #1d4ed8;background:linear-gradient(180deg,color-mix(in srgb,#1d4ed8 6%,var(--card)),var(--card))}
.jb-card.t-powerlink{border-left:5px solid #dc2626}
.jb-card.t-photo .jb-title{font-weight:800}
.jb-top{display:flex;gap:.9rem;align-items:flex-start}
.jb-logo{flex:0 0 52px;width:52px;height:52px;border-radius:12px;background:var(--soft);display:flex;align-items:center;justify-content:center;font:700 1.25rem var(--font-display);color:#1d4ed8;overflow:hidden;border:1px solid var(--line)}
.jb-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.jb-main{flex:1;min-width:0}
.jb-title{display:block;font-size:1.06rem;font-weight:700;color:var(--text);line-height:1.35}
.jb-title:hover{color:#1d4ed8}
.jb-co{font-size:.9rem;color:var(--muted);margin-top:.1rem}
.jb-co a{color:inherit}
.jb-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0 .2rem}
.jb-pill{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;background:var(--soft);color:var(--text);white-space:nowrap}
.jb-pill.visa-sponsor{background:#dcfce7;color:#166534}.jb-pill.visa-opt{background:#e0f2fe;color:#075985}.jb-pill.visa-us_only{background:#f3f4f6;color:#4b5563}
.jb-pill.ko-required{background:#fee2e2;color:#991b1b}.jb-pill.ko-preferred{background:#ffedd5;color:#9a3412}
.jb-pill.pay{background:#eef2ff;color:#3730a3}
.jb-pill.flag{background:#fef3c7;color:#92400e}
:root[data-theme="dark"] .jb-pill{filter:brightness(.85)}
.jb-side{text-align:right;flex:0 0 auto;display:flex;flex-direction:column;gap:.3rem;align-items:flex-end}
.jb-badge{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:6px;color:#fff;background:#1d4ed8}
.jb-badge.powerlink{background:#dc2626}.jb-badge.photo{background:#0b1f4d}
.jb-when{font-size:.75rem;color:var(--muted)}
@media(max-width:640px){.jb-top{flex-wrap:wrap}.jb-side{flex-direction:row;width:100%;justify-content:space-between;align-items:center}.jb-logo{flex-basis:44px;width:44px;height:44px}}
/* 상세 */
.jb-detail{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.4rem;align-items:start}
@media(max-width:900px){.jb-detail{grid-template-columns:1fr}}
.jb-head{padding:1.3rem 1.4rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:1rem}
.jb-head h1{font-size:1.6rem;margin:.2rem 0 .3rem}
.jb-body{padding:1.3rem 1.4rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--line)}
.jb-body h2,.jb-body h3{margin-top:1.2rem}
.jb-body ul{padding-left:1.2rem}
.jb-aside{position:sticky;top:84px;display:grid;gap:.8rem}
.jb-aside .card{padding:1rem 1.1rem}
.jb-facts{display:grid;grid-template-columns:auto 1fr;gap:.35rem .8rem;font-size:.9rem;margin:0}
.jb-facts dt{color:var(--muted)}.jb-facts dd{margin:0;font-weight:600}
.jb-apply{width:100%;justify-content:center;font-size:1rem;padding:.75rem 1rem}
.jb-note{font-size:.8rem;padding:.7rem .9rem;border-radius:10px;background:#fef3c7;color:#78350f;margin:.6rem 0}
:root[data-theme="dark"] .jb-note{background:#3a2a0a;color:#fde68a}
/* 홈 */
.jh-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.6rem;align-items:center;padding:2rem 2rem;border-radius:22px;background:radial-gradient(1200px 400px at 0% 0%,#1d4ed8 0%,#0b1f4d 70%);color:#fff;position:relative;overflow:hidden}
.jh-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(90deg,#dc2626 0 40px,#fff 40px 80px);opacity:.9}
.jh-hero h1{font-size:2.3rem;line-height:1.15;margin:.3rem 0 .6rem;color:#fff}
.jh-hero h1 em{font-style:normal;color:#fca5a5}
.jh-hero .lede{color:#dbeafe;font-size:1.02rem}
.jh-kicker{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#bfdbfe;font-weight:700}
.jh-nums{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1rem}
.jh-nums a{color:#fff;text-decoration:none}.jh-nums b{display:block;font:700 1.7rem var(--font-display)}.jh-nums span{font-size:.8rem;color:#bfdbfe}
.jh-find{background:var(--card);color:var(--text);border-radius:18px;padding:1.2rem 1.2rem 1rem;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.jh-find h2{font-size:1.1rem;margin:0 0 .7rem}
.jh-find label{display:block;font-size:.78rem;font-weight:700;color:var(--muted);margin:.55rem 0 .25rem}
.jh-find input,.jh-find select{width:100%;padding:.6rem .7rem;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit}
.jh-find .row2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.jh-find .chk{display:flex;gap:.45rem;align-items:center;font-size:.85rem;margin:.55rem 0 0;font-weight:500;color:var(--text);text-transform:none;letter-spacing:normal}
.jh-find .chk input{width:auto}
.jh-find .go{width:100%;justify-content:center;margin-top:.8rem;padding:.7rem}
@media(max-width:860px){.jh-hero{grid-template-columns:1fr;padding:1.4rem}.jh-hero h1{font-size:1.75rem}}
.jh-sec{margin:2rem 0 0}
.jh-sec>h2{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-size:1.2rem}
.jh-sec>h2 a{font-size:.85rem;font-weight:600}
.jh-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6rem}
.jh-cat{display:flex;justify-content:space-between;align-items:center;padding:.75rem .9rem;border-radius:12px;background:var(--card);border:1px solid var(--line);color:var(--text);font-weight:600;font-size:.9rem}
.jh-cat:hover{border-color:#1d4ed8;text-decoration:none;color:#1d4ed8}
.jh-cat small{color:var(--muted);font-weight:500}
.jh-cat.focus{border-color:color-mix(in srgb,#1d4ed8 40%,var(--line));background:color-mix(in srgb,#1d4ed8 5%,var(--card))}
.jh-focus{padding:1.2rem 1.3rem;border-radius:18px;border:1px solid var(--line);background:var(--card);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem}
@media(max-width:860px){.jh-focus{grid-template-columns:1fr}}
.jh-metros{display:flex;flex-wrap:wrap;gap:.4rem}
.jh-metros a{padding:.35rem .7rem;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:.85rem;color:var(--text)}
.jh-metros a:hover{border-color:#1d4ed8;color:#1d4ed8;text-decoration:none}
.jh-cos{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.6rem}
.jh-co{display:flex;gap:.6rem;align-items:center;padding:.7rem .8rem;border-radius:12px;background:var(--card);border:1px solid var(--line);color:var(--text)}
.jh-co:hover{border-color:#1d4ed8;text-decoration:none}
.jh-co .jb-logo{flex-basis:38px;width:38px;height:38px;font-size:1rem}
.jh-co b{display:block;font-size:.9rem}.jh-co span{font-size:.75rem;color:var(--muted)}
/* 가격 */
.jp-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}
.jp-tier{padding:1.2rem;border-radius:16px;border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;gap:.4rem}
.jp-tier.best{border:2px solid #1d4ed8}
.jp-tier .price{font:700 2rem var(--font-display)}.jp-tier .price small{font-size:.9rem;color:var(--muted);font-weight:500}
.jp-form label{display:block;font-weight:600;font-size:.85rem;margin:.9rem 0 .3rem}
.jp-form input[type=text],.jp-form input[type=url],.jp-form input[type=email],.jp-form input[type=tel],.jp-form select,.jp-form textarea{width:100%;padding:.6rem .7rem;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit}
.jp-form textarea{min-height:260px}
.jp-form .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 .8rem}
.jp-form .hint{font-size:.78rem;color:var(--muted);margin:.25rem 0 0}
.jp-errs{padding:.8rem 1rem;border-radius:10px;background:#fee2e2;color:#991b1b;margin-bottom:1rem}
.jb-apply-top{display:none;margin:.6rem 0 .2rem}.jb-apply-top .btn{width:100%;justify-content:center}@media(max-width:900px){.jb-apply-top{display:block}}
