/* Shared public recruitment previews: two fixed columns, with a single item left aligned. */
.public-recruitment-section,.public-recruitment-section *,.recruitment-public-page,.recruitment-public-page *{box-sizing:border-box}
.public-recruitment-section{padding:24px;background:#fbf7f9;border-top:3px solid #a34e70;border-bottom:1px solid #e9dce4}
.public-recruitment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.public-recruitment-card{display:grid!important;grid-template-columns:128px minmax(0,1fr);gap:18px;padding:16px;background:#fff;border:1px solid #e5d9e1;border-radius:8px;text-decoration:none!important;color:#352d33!important;min-width:0;height:100%}
.public-recruitment-card:hover{border-color:#ad6a85}
.public-recruitment-card:focus-visible,.recruitment-public-filters a:focus-visible{outline:2px solid #a34e70;outline-offset:3px}
.public-recruitment-card__photo{overflow:hidden;min-width:0;border-radius:5px;align-self:start;aspect-ratio:4/5}
.public-recruitment-card__photo img{display:block;width:100%;height:100%;object-fit:cover}
.public-recruitment-card__body{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.public-recruitment-card .public-recruitment-card__kind{font-size:11px;line-height:1.4;color:#9a4164;background:#f7edf2;padding:3px 7px;border-radius:3px;white-space:nowrap}
.public-recruitment-card h3{font-size:16px!important;font-weight:700;line-height:1.55!important;margin:0!important;overflow-wrap:anywhere;text-wrap:pretty}
.public-recruitment-card__area{display:flex;align-items:flex-start;gap:4px;max-width:100%;color:#7e3656;background:#f7edf2;border-radius:3px;padding:4px 6px;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.public-recruitment-card svg{width:16px!important;height:16px!important;min-width:16px;flex:none}
.public-recruitment-card p{padding:0!important;margin:0!important;border:0!important}
.public-recruitment-card__date{display:flex;align-items:center;gap:4px;font-size:12px!important;color:#655860;line-height:1.5!important}
.public-recruitment-card__summary{font-size:12px!important;line-height:1.7!important;color:#6e626b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.public-recruitment-card__deadline{font-size:11px!important;color:#766b73;line-height:1.5!important;font-variant-numeric:tabular-nums}
.public-recruitment-card__action{display:flex;align-self:flex-end;text-align:right;align-items:center;justify-content:flex-end;gap:3px;font-size:11px;color:#9a4164;line-height:1.5;margin-top:auto;padding-top:2px}
.recruitment-public-page{max-width:1200px;margin:0 auto!important;padding:0 24px 48px!important}
.recruitment-public-heading{margin:28px 0 20px}.recruitment-public-heading h1{font-size:clamp(23px,3vw,32px);line-height:1.4;margin:0 0 10px;text-wrap:balance}
.recruitment-public-heading p,.recruitment-public-note{font-size:14px;color:#786b74;line-height:1.7;margin:0}
.recruitment-public-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.recruitment-public-filters a{border:1px solid #dfd1da;border-radius:20px;padding:8px 16px;min-height:40px;font-size:13px;color:#7c566a;text-decoration:none}
.recruitment-public-filters a[aria-current=page]{background:#a34e70;color:#fff;border-color:#a34e70}
.recruitment-public-count{font-size:13px;color:#786b74;font-variant-numeric:tabular-nums;margin:0 0 16px}
.recruitment-public-note{margin-top:20px}.recruitment-public-member-link{display:inline-flex;font-size:13px;color:#984968;margin-top:12px;min-height:40px;align-items:center}
.public-recruitment-empty{padding:24px 0;font-size:14px;line-height:1.7;color:#766b73}.public-recruitment-empty a{color:#984968;display:inline-flex;margin-left:8px}
.recruitment-public-pagination{margin-top:24px}
.tkl-home-news>.tkl-home-news__more{display:flex;justify-content:flex-end;margin-bottom:16px}
.home-section-accessible-title{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1000px) and (min-width:701px){.public-recruitment-card{grid-template-columns:92px minmax(0,1fr);gap:12px;padding:12px}}
@media(max-width:700px){.public-recruitment-grid{grid-template-columns:1fr;gap:12px}.public-recruitment-section{padding:16px}.public-recruitment-section .tkl-home-head{gap:12px;align-items:center}.public-recruitment-section .tkl-home-head h2{font-size:19px!important}.public-recruitment-card{grid-template-columns:92px minmax(0,1fr);gap:12px;padding:12px}.public-recruitment-card h3{font-size:14px!important}.recruitment-public-page{padding:0 16px 32px!important}.recruitment-public-heading{margin-top:20px}}
/* Public detail: photography and practical information form one card. */
.recruitment-public-detail{max-width:1040px}
.recruitment-public-detail>.recruitment-public-member-link{font-size:12px;color:#81747d;margin:8px 0 12px;min-height:32px}
.recruitment-detail-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);overflow:hidden;border:1px solid #e5d9e1;border-radius:12px;background:#fff}
.recruitment-detail-card__photo{min-width:0;background:#f7f0f4}.recruitment-detail-card__photo img{width:100%;height:100%;min-height:340px;object-fit:cover;display:block}
.recruitment-detail-card__body{padding:28px;min-width:0}
.recruitment-detail-card__labels{display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.5}
.recruitment-detail-card__status{padding:4px 10px;border-radius:4px;background:#f5e9ef;color:#984968;font-weight:600;white-space:nowrap}
.recruitment-detail-card__kind{display:flex;gap:5px;align-items:center;color:#786b74}
.recruitment-detail-card svg,.recruitment-detail-note svg{width:18px!important;height:18px!important;flex:none}
.recruitment-detail-card h1{font-size:clamp(21px,2.2vw,28px)!important;line-height:1.55!important;margin:14px 0!important;overflow-wrap:anywhere;text-wrap:pretty}
.recruitment-detail-card__summary{font-size:14px;line-height:1.9;color:#655860;margin:0 0 20px!important}
.recruitment-detail-card__facts{margin:0;border-top:1px solid #eee4e9}
.recruitment-detail-card__facts>div{display:grid;grid-template-columns:116px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid #eee4e9;align-items:start}
.recruitment-detail-card__facts dt{display:flex;gap:6px;align-items:center;color:#81747d;font-size:12px;line-height:1.7;white-space:nowrap}
.recruitment-detail-card__facts dd{font-size:14px;font-weight:500;line-height:1.6;margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.recruitment-detail-card__facts small{font-size:10px;color:#81747d;display:inline-block;font-weight:400}
.recruitment-detail-card__jump{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:44px;margin-top:8px;color:#984968;font-size:13px;text-decoration:none}
.recruitment-detail-note{padding:0 4px;margin:12px 0 28px;color:#81747d;font-size:12px;line-height:1.8}.recruitment-detail-note summary{display:flex;align-items:center;gap:7px;cursor:pointer;min-height:40px;list-style:none}.recruitment-detail-note summary::-webkit-details-marker{display:none}.recruitment-detail-note summary>svg:last-child{margin-left:auto}.recruitment-detail-note[open] summary>svg:last-child{transform:rotate(180deg)}.recruitment-detail-note p{margin:4px 0 12px}
.recruitment-public-next{margin:24px 0;padding:20px;background:#fbf7f9;border:1px solid #e5d9e1;border-radius:8px}.recruitment-public-next h2{font-size:20px}.recruitment-public-next a{color:#984968}.recruitment-public-next__button{display:inline-flex;padding:12px 16px;background:#984968;color:#fff!important;border-radius:5px}.recruitment-public-next p{font-size:13px;line-height:1.7}
@media(max-width:700px){.recruitment-detail-card{grid-template-columns:1fr}.recruitment-detail-card__photo{aspect-ratio:16/9}.recruitment-detail-card__photo img{min-height:0;height:100%}.recruitment-detail-card__body{padding:20px}.recruitment-detail-card h1{font-size:21px!important}.recruitment-detail-card__facts>div{grid-template-columns:104px minmax(0,1fr);gap:8px}.recruitment-detail-card__summary{font-size:13px}.recruitment-detail-note{margin-bottom:20px}}
@media(max-width:360px){.recruitment-detail-card__body{padding:16px}.recruitment-detail-card__facts>div{grid-template-columns:94px minmax(0,1fr)}.recruitment-detail-card__facts dt{font-size:11px}.recruitment-detail-card__facts dd{font-size:13px}}

.recruitment-detail-card__actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px}.recruitment-detail-card__activities{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:9px 12px;border:1px solid #d9bdcd;border-radius:5px;color:#984968;font-size:12px;line-height:1.6;text-decoration:none;white-space:nowrap}.recruitment-detail-card__activities:hover{background:#fbf7f9}.recruitment-detail-card__activities:focus-visible{outline:2px solid #984968;outline-offset:3px}.recruitment-detail-card__actions .recruitment-detail-card__jump{margin:0 0 0 auto}@media(max-width:700px){.recruitment-detail-card__actions{flex-direction:column;align-items:stretch}.recruitment-detail-card__activities{width:100%}}

/* Keep anchored recruitment headings below the fixed public header. */
#current-recruitments{scroll-margin-top:84px}

/* Signed-in next step: one compact action, aligned with its context. */
.recruitment-public-next--apply,.recruitment-public-next--apply *{box-sizing:border-box}
.recruitment-public-next--apply{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:16px;padding:24px;background:#fbf7f9;border-color:#e5d9e1}
.recruitment-public-next__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #eadbe4;border-radius:50%;background:#fff;color:#984968}
.recruitment-public-next__icon svg{width:22px;height:22px}
.recruitment-public-next--apply .recruitment-public-next__copy{min-width:0}
.recruitment-public-next--apply h2{font-size:18px;line-height:1.5;font-weight:600;margin:0 0 6px;text-wrap:balance}
.recruitment-public-next--apply p{font-size:12px;line-height:1.8;color:#81747d;margin:0;overflow-wrap:anywhere;text-wrap:pretty}
.recruitment-public-next--apply .recruitment-public-next__button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:11px 16px;font-size:13px;line-height:1.6;font-weight:600;text-decoration:none;border-radius:5px;white-space:nowrap}
.recruitment-public-next__button svg{width:18px;height:18px;flex:none}
.recruitment-public-next__button:hover{background:#843b5a}
.recruitment-public-next__button:focus-visible{outline:2px solid #984968;outline-offset:4px}
@media(max-width:800px){.recruitment-public-next--apply{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:18px 16px}.recruitment-public-next__icon{width:36px;height:36px}.recruitment-public-next--apply h2{font-size:17px}.recruitment-public-next--apply .recruitment-public-next__button{grid-column:1/-1;width:100%;margin-top:2px;min-height:48px}}
