/* 밤알바톡 1.1.5 · 공고 목록 / 상세 전용. 본문 구조를 수정하며 기존 설정·저장소는 그대로 사용. */
.pb-job-archive,.pb-job-detail-page{padding:0 0 90px;min-height:500px}
.pb-job-archive .pb-breadcrumb,.pb-job-detail-page .pb-breadcrumb{color:#fff}
.pb-job-archive-head{text-align:center;color:#fff;padding:29px 10px 28px}
.pb-job-overline{display:inline-block;font-size:12px;letter-spacing:1.4px;font-weight:900;color:#fff3e7;margin-bottom:11px}
.pb-job-archive-head h1{font-size:clamp(29px,4.8vw,46px);font-weight:950;letter-spacing:-.05em;margin:0 0 9px;text-shadow:0 3px 20px #69224929}
.pb-job-archive-head p{font-size:14px;color:#fffdfd;margin:0 auto 18px;max-width:580px;line-height:1.8;word-break:keep-all}
.pb-job-match-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:999px;background:#ffffffee;color:#c72c86;font-weight:900;font-size:12px;box-shadow:0 10px 28px #8a24572b;text-align:center}
.pb-job-match-link:hover{background:#fff;color:#bb177a}
.pb-job-search-panel{background:#fff;border-radius:24px;padding:24px;box-shadow:0 17px 47px #72276120;border:1px solid #ffffffb8}
.pb-job-filter{display:grid;gap:14px}.pb-job-search-input{display:flex;align-items:center;gap:8px;background:#fff7fb;border:1px solid #edd7e4;border-radius:15px;padding:0 15px;min-height:50px}
.pb-job-search-input>span:first-child{font-size:19px}.pb-job-search-input input{display:block;width:100%;border:0!important;background:transparent!important;color:#3f3145;min-height:48px;outline:0!important;box-shadow:none!important}
.pb-job-filter-row{display:flex;gap:10px;align-items:center}.pb-job-filter-row label{flex:1;min-width:0}.pb-job-filter-row select{width:100%;min-height:45px;background:#fff;border:1px solid #f1dbe8;border-radius:12px;padding:9px 12px;color:#51445a;outline-color:#e765ad;font-size:14px}
.pb-job-filter-row .pb-btn{min-height:45px;border:0;border-radius:12px;flex:0 0 80px;font-size:13px}
.pb-job-category-filter{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:thin;scrollbar-color:#efd2e2 transparent;white-space:nowrap}
.pb-job-filter-chip{flex:0 0 auto;min-height:38px;padding:7px 14px;border:1px solid #f0dbe7;border-radius:99px;background:#fff8fc;color:#7d6075;font-size:12px;font-weight:850}
.pb-job-filter-chip:hover,.pb-job-filter-chip.is-active{color:white;background:linear-gradient(110deg,#f2379a,#a954d0);border-color:transparent;box-shadow:0 7px 20px #cb429b25}
.pb-job-results-heading{display:flex;gap:14px;align-items:end;justify-content:space-between;margin:33px 0 18px;color:#fff}
.pb-job-results-heading h2{font-size:24px;font-weight:950;margin:0}.pb-job-results-heading h2 span{font-size:17px;color:#fffad7}.pb-job-results-heading p{margin:0;font-size:12px;color:#fffafc}
.pb-job-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.pb-job-card-premium{overflow:hidden!important;min-height:0!important;padding:0!important;border:1px solid #f8d5e9!important;border-radius:21px!important;background:#fff!important;box-shadow:0 10px 27px #8f3b711d!important;transition:box-shadow .18s,transform .18s}
.pb-job-card-premium:hover{transform:translateY(-3px);box-shadow:0 16px 34px #8f3b7130!important}
.pb-job-card-edit{padding:0 16px 14px;display:flex;justify-content:flex-end}
.pb-job-card-edit a,.pb-job-admin-edit a{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:8px 14px;border-radius:12px;background:#fff0f8;border:1px solid #efbede;color:#b5287a!important;font-size:12px;font-weight:850}
.pb-job-card-edit a:focus-visible,.pb-job-admin-edit a:focus-visible{outline:3px solid #772fc1;outline-offset:3px}
.pb-job-admin-edit{display:flex;justify-content:flex-end;padding-top:15px}
.pb-job-card-hit{display:flex;flex-direction:column;height:100%;color:#2e2636;text-decoration:none}
.pb-job-card-hit:hover{color:#2e2636}
.pb-job-card-photo{height:190px;position:relative;background:radial-gradient(circle at 40% 38%,#ffebf9 0%,#ff9dce 43%,#a96bd7 100%);overflow:hidden;isolation:isolate}
.pb-job-card-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.pb-job-card-hit:hover .pb-job-card-img{transform:scale(1.035)}
.pb-job-card-photo-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#10071910 20%,#241122b8 100%);pointer-events:none}
.pb-job-card-photo-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:94px;height:94px;border:2px solid #fffc;border-radius:100%;background:linear-gradient(140deg,#ff3e9c,#a04bd0);color:#fff;font-size:50px;box-shadow:0 12px 27px #712a773b}
.pb-job-card-state{position:absolute;z-index:1;top:13px;right:13px;background:#ffffffec;border-radius:99px;padding:6px 11px;font-size:11px;font-weight:900;color:#c02e87;box-shadow:0 4px 12px #32112d18}
.pb-job-card-photo-title{position:absolute;z-index:1;left:17px;bottom:15px;right:17px;color:white;font-size:21px;font-weight:950;letter-spacing:-.04em;line-height:1.3;text-shadow:0 1px 7px #0007;word-break:keep-all}
.pb-job-card-content{display:flex;flex-direction:column;gap:10px;padding:18px 18px 14px;flex:1;min-width:0}
.pb-job-card-content .pb-tags{gap:5px}.pb-job-card-content .pb-tag{font-size:11px;color:#bd2b81;background:#ffeff8;padding:5px 9px}
.pb-job-card-content .pb-job-tag-verified{background:#edf9f4;color:#278562}
.pb-job-card-content h3{font-size:17px;font-weight:950;line-height:1.4;margin:0!important;word-break:keep-all}
.pb-job-card-content .pb-job-card-intro{font-size:12px;color:#786c7b;line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pb-job-card-facts{display:flex;flex-direction:column;gap:5px;padding:11px 0;color:#685a69;font-size:12px;line-height:1.5}
.pb-job-card-facts span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-job-card-footer{display:flex;justify-content:space-between;gap:6px;margin-top:auto;border-top:1px solid #f5e5ef;padding-top:11px;color:#9b8d9c;font-size:11px}
.pb-job-list-empty{grid-column:1/-1;background:white;border-radius:24px;text-align:center;padding:60px 20px;color:#59445b}
.pb-job-list-empty>span{font-size:50px}.pb-job-list-empty h3{font-size:22px;font-weight:900}.pb-job-list-empty p{font-size:13px}
.pb-job-archive .pb-pagination{padding:24px 0 0;display:flex;justify-content:center}
/* Detail */
.pb-job-detail-wrap{max-width:930px}
.pb-job-detail{overflow:hidden;border-radius:24px;background:white;box-shadow:0 19px 55px #792b6526;margin:18px auto 0;border:1px solid #fff7}
.pb-job-detail-cover{position:relative;isolation:isolate;height:330px;background:radial-gradient(circle at 50% 20%,#ffc5eb,#ff7fc2 36%,#ae5de0 100%);color:#fff;overflow:hidden}
.pb-job-detail-cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pb-job-detail-cover-empty{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:145px;height:145px;background:linear-gradient(140deg,#f52995,#a753dc);border:2px solid #fff9;border-radius:50%;font-size:90px;box-shadow:0 20px 40px #7d278e30}
.pb-job-detail-cover:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#150b190f 0%,#1f0a2873 57%,#160a20d4 100%)}
.pb-job-detail-cover-top,.pb-job-detail-cover-text{position:absolute;z-index:1;left:28px;right:28px}
.pb-job-detail-cover-top{top:22px;display:flex;align-items:start;justify-content:space-between;gap:7px}
.pb-job-top-badge{display:inline-flex;background:#fae6f5;color:#ab2979;border-radius:100px;padding:7px 12px;font-size:12px;font-weight:950}
.pb-job-cover-category{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}.pb-job-cover-category .pb-tag{background:#ffffffdb;color:#a32a72}
.pb-job-detail-cover-text{bottom:25px;color:#fff}.pb-job-cover-name{font-size:14px;font-weight:900;color:#ffe3f3;margin:0 0 7px}
.pb-job-detail-cover-text h1{font-size:clamp(23px,4vw,37px);font-weight:950;line-height:1.25;max-width:650px;word-break:keep-all;margin:0 0 9px;color:#fff;text-shadow:0 2px 9px #0005}
.pb-job-cover-location{font-size:13px;margin:0;font-weight:800;color:#fff}
.pb-job-gallery{display:flex;gap:9px;padding:14px 16px;overflow-x:auto;background:#fff;scrollbar-width:thin}
.pb-job-gallery a{flex:0 0 90px;height:78px;border-radius:10px;overflow:hidden;background:#fdeaf4}.pb-job-gallery img{display:block;width:100%;height:100%;object-fit:cover}
.pb-job-detail-inner{padding:23px 30px 33px}
.pb-job-detail-stats{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:#8b7c8a;padding-bottom:15px;border-bottom:1px solid #f4e5ef}
.pb-job-like,.pb-job-share{border:1px solid #f2dfeb;background:#fff9fc;border-radius:99px;color:#865174;padding:7px 12px;font-weight:800;font-size:12px;min-height:35px}
.pb-job-like{margin-left:auto}
.pb-job-verified{background:#ebf9f2;border-radius:12px;color:#237852;padding:13px 15px;font-weight:900;font-size:12px;margin-top:20px;line-height:1.7}.pb-job-verified small{display:block;font-size:11px;font-weight:500;color:#5a907b}
.pb-job-detail-section{padding:28px 0;border-bottom:1px solid #f4e9ef}.pb-job-detail-section:last-of-type{border:0}
.pb-job-detail-section h2{font-size:21px;font-weight:950;color:#312437;margin:0 0 19px;display:flex;align-items:center;gap:9px}
.pb-job-lead{font-size:15px;font-weight:800;color:#c53586;line-height:1.75;margin:0 0 12px;word-break:keep-all}
.pb-job-main-copy{font-size:14px;color:#514957;line-height:1.9;word-break:break-word}.pb-job-main-copy p:last-child{margin-bottom:0}.pb-job-main-copy img{border-radius:13px}
/* Each condition takes a full row on every screen size. */
.pb-job-fact-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.pb-job-fact{display:flex;gap:10px;align-items:center;border-radius:14px;background:#fff8fc;border:1px solid #f7e6ef;padding:15px;min-width:0}.pb-job-fact-icon{font-size:22px}
.pb-job-fact>div{min-width:0}.pb-job-fact small{display:block;color:#9c7894;font-size:11px}.pb-job-fact strong{display:block;font-size:13px;color:#3c3440;line-height:1.45;overflow-wrap:anywhere}
.pb-job-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pb-job-benefit{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:17px 15px;border-radius:16px;background:linear-gradient(125deg,#fff3f9,#fff8fc);border:1px solid #f8e8f1}
.pb-job-benefit-icon{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;background:white;border-radius:13px;font-size:24px;box-shadow:0 3px 14px #e9aec827}
.pb-job-benefit h3{font-size:14px;font-weight:950;color:#cf308b;margin:0 0 6px;word-break:keep-all}
.pb-job-benefit p{font-size:12px;line-height:1.65;color:#655b67;margin:0;overflow-wrap:anywhere}
.pb-job-contact-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:17px}
.pb-job-contact-info>div{display:flex;align-items:start;gap:12px;padding:14px;border-radius:14px;background:#fcf8fb}
.pb-job-contact-info>div>span{font-size:23px;line-height:1.3}.pb-job-contact-info small{display:block;color:#9c879b;font-size:11px}.pb-job-contact-info strong{display:block;font-size:13px;color:#433747;overflow-wrap:anywhere;margin-top:3px}
.pb-job-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.pb-job-contact-btn{display:flex;align-items:center;justify-content:center;padding:13px 10px;min-height:49px;border-radius:12px;border:1px solid transparent;color:white!important;text-align:center;font-size:13px;font-weight:950;box-shadow:0 7px 16px #71214f14}
.pb-job-phone{background:linear-gradient(120deg,#ef2993,#b54bbd)}.pb-job-sms{background:#12b95d}.pb-job-kakao{background:#fee600;color:#3e3102!important}.pb-job-telegram{background:#2b9ed3}.pb-job-other{background:#7062c9}
.pb-job-no-contact,.pb-job-closed-message{border-radius:12px;padding:14px;background:#fff5fa;color:#ab397c;font-weight:800;font-size:13px}
.pb-job-legal{padding:17px 18px;background:#fffaf0;border-radius:14px;color:#73695f;font-size:12px;line-height:1.75;margin:18px 0}
.pb-job-back-list{display:inline-flex;border:1px solid #f2d7e8;border-radius:99px;padding:9px 15px;color:#ad337e;font-weight:800;font-size:13px}
.pb-job-mobile-cta{display:none}
@media(max-width:980px){.pb-job-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
 .pb-job-archive,.pb-job-detail-page{padding-bottom:55px}
 .pb-job-archive-head{padding:18px 1px 20px}.pb-job-archive-head h1{font-size:29px}.pb-job-archive-head p{font-size:12px}
 .pb-job-match-link{width:100%;font-size:11px;min-height:43px;padding:9px 12px}
 .pb-job-search-panel{padding:13px;border-radius:19px;margin:0 -2px}
 .pb-job-filter-row{gap:7px}.pb-job-filter-row select{font-size:12px;padding:7px;min-height:43px}.pb-job-filter-row .pb-btn{flex-basis:66px;font-size:12px;padding:8px}
 .pb-job-results-heading{display:block;margin:22px 0 13px}.pb-job-results-heading h2{font-size:20px;margin:0 0 3px}.pb-job-results-heading p{font-size:11px}
 .pb-job-list-grid{grid-template-columns:1fr;gap:12px}
 .pb-job-card-premium{border-radius:18px!important}
 .pb-job-card-photo{height:172px}.pb-job-card-photo-title{font-size:21px}
 .pb-job-card-content{padding:15px;gap:9px}.pb-job-card-content h3{font-size:16px}
 .pb-job-card-footer{font-size:11px}
 .pb-job-detail{margin-top:10px;border-radius:19px}
 .pb-job-detail-cover{height:260px}
 .pb-job-detail-cover-top,.pb-job-detail-cover-text{left:17px;right:17px}
 .pb-job-detail-cover-top{top:15px}.pb-job-detail-cover-text{bottom:15px}
 .pb-job-detail-cover-text h1{font-size:24px;line-height:1.25}
 .pb-job-gallery{gap:7px}.pb-job-gallery a{flex-basis:76px;height:66px}
 .pb-job-detail-inner{padding:15px 15px 22px}
 .pb-job-detail-stats{gap:9px;font-size:11px}.pb-job-like{margin-left:0}.pb-job-share{margin-left:auto}
 .pb-job-detail-section{padding:25px 0}.pb-job-detail-section h2{font-size:18px;margin-bottom:15px}
 .pb-job-benefits{grid-template-columns:1fr;gap:8px}.pb-job-benefit{padding:14px 12px}
 .pb-job-fact-grid{gap:8px}.pb-job-fact{padding:12px 9px;gap:7px}.pb-job-fact-icon{font-size:18px}.pb-job-fact strong{font-size:12px}
 .pb-job-contact-info{grid-template-columns:1fr;gap:5px}.pb-job-contact-info>div{padding:12px}
 .pb-job-contact-actions{grid-template-columns:1fr;gap:8px}
 body.single-pb_job .pb-mobile-dock, body.single-pb_job .pb-floating, body.single-pb_job .pb-floating-options, body.single-pb_job .pb-floating-picker{display:none!important}
 body.single-pb_job .pb-site-footer{padding-bottom:85px}
 body.single-pb_job .pb-job-detail-page{padding-bottom:112px}
 .pb-job-mobile-cta{position:fixed;z-index:175;bottom:0;left:0;right:0;display:block;width:100%;background:#fffffffa;padding:9px 12px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -5px 24px #82395b2a;border-top:1px solid #f5dfeb}
 .pb-job-mobile-cta-main{width:100%;min-width:0;max-width:100%;min-height:52px;border-radius:13px;background:#ffe300;color:#322500;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 14px;text-align:center;font-size:15px;font-weight:900;line-height:1.35;white-space:nowrap;overflow:hidden}
 .pb-job-mobile-cta-main span{display:inline-block;flex:0 0 auto;min-width:0}
 .pb-job-mobile-cta-main span:last-child{overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:375px){.pb-job-archive-head h1{font-size:27px}.pb-job-filter-chip{font-size:11px;padding:8px 10px}}

/* Mobile sticky button: the introduction is displayed only inside the consultation dialog. */
.pb-job-mobile-cta{box-sizing:border-box}.pb-job-mobile-cta-main{box-sizing:border-box;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;min-height:44px!important}.pb-job-mobile-cta-main span:last-child{overflow:visible!important;text-overflow:clip!important}@media(max-width:600px){body.single-pb_job .pb-main{padding-bottom:110px}}
