/* JobPortal Core – widget + job-details styles. Uses theme skin variables, with safe fallbacks. */

/* Ticker */
.jp-ticker{display:flex;align-items:stretch;background:var(--jp-ticker-bg,#fff3cd);color:var(--jp-ticker-text,#7a0000);border:1px solid var(--jp-border,#ddd);overflow:hidden;font-weight:700}
.jp-ticker__label{flex:0 0 auto;background:var(--jp-primary,#c62828);color:#fff;padding:9px 14px;font-size:.9rem;white-space:nowrap;display:flex;align-items:center}
.jp-ticker__viewport{flex:1;overflow:hidden;position:relative}
.jp-ticker__track{display:inline-block;white-space:nowrap;padding:9px 0 9px 100%;animation:jp-ticker var(--jp-ticker-speed,40s) linear infinite}
.jp-ticker__track a,.jp-ticker__track span{margin:0 12px}
.jp-ticker__track a{color:inherit;text-decoration:none}
.jp-ticker__track a:hover{text-decoration:underline}
.jp-ticker__sep{opacity:.5}
.jp-ticker:hover .jp-ticker__track{animation-play-state:paused}
@keyframes jp-ticker{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.jp-ticker__track{animation:none;padding-left:0;white-space:normal}}

/* Colour button grid */
.jp-btn-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.jp-btn-grid a{display:flex;align-items:center;justify-content:center;min-height:68px;padding:8px 10px;text-align:center;color:#fff!important;font-weight:700;font-size:1rem;line-height:1.2;border:2px solid #fff;text-decoration:none!important;transition:filter .2s;box-sizing:border-box}
.jp-btn-grid a:hover,.jp-btn-grid a:focus{filter:brightness(1.15)}
@media (max-width:1024px){.jp-btn-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.jp-btn-grid{grid-template-columns:1fr}}

/* Post list box */
.jp-box{background:var(--jp-card-bg,#fff);border:2px solid var(--jp-box-head,#7a0000);height:100%;display:flex;flex-direction:column}
.jp-box__head{background:var(--jp-box-head,#7a0000);padding:9px 12px}
.jp-box__title{margin:0!important;font-size:1.15rem;font-weight:800;text-align:center;color:var(--jp-box-head-text,#fff);line-height:1.3}
.jp-box__list{list-style:none;margin:0;padding:6px 12px;flex:1}
.jp-box__list li{padding:7px 0 7px 18px;border-bottom:1px dashed var(--jp-border,#ddd);position:relative;line-height:1.4;font-size:.95rem;color:var(--jp-text,#222)}
.jp-box__list li:last-child{border-bottom:0}
.jp-box__list li::before{content:"\25B8";position:absolute;left:0;color:var(--jp-primary,#c62828)}
.jp-box__list a{color:var(--jp-link,#0b3d91);font-weight:600;text-decoration:none}
.jp-box__list a:hover{color:var(--jp-link-hover,#d32f2f);text-decoration:underline}
.jp-box__date{display:block;font-size:.75rem;opacity:.65}
.jp-box__more{text-align:center;padding:8px;border-top:1px solid var(--jp-border,#ddd);background:rgba(0,0,0,.025)}
.jp-box__more a{font-weight:700;color:var(--jp-link,#0b3d91);text-decoration:none}
.jp-new{display:inline-block;background:#e53935;color:#fff;font-size:.62rem;font-weight:800;padding:1px 5px;margin-left:6px;border-radius:2px;vertical-align:middle;animation:jp-blink 1s steps(2,start) infinite}
@keyframes jp-blink{to{visibility:hidden}}
@media (prefers-reduced-motion:reduce){.jp-new{animation:none}}

/* Info table */
.jp-info{border:2px solid var(--jp-box-head,#7a0000);background:var(--jp-card-bg,#fff);margin:0 0 16px;color:var(--jp-text,#222)}
.jp-info__head{background:var(--jp-box-head,#7a0000);padding:8px 12px}
.jp-info__title{margin:0!important;font-size:1.05rem;font-weight:800;text-align:center;color:var(--jp-box-head-text,#fff)}
.jp-info table{width:100%;border-collapse:collapse;margin:0!important}
.jp-info th,.jp-info td{padding:8px 12px;border:0;border-bottom:1px solid var(--jp-border,#ddd);text-align:left;vertical-align:top;font-size:.95rem}
.jp-info tr:last-child th,.jp-info tr:last-child td{border-bottom:0}
.jp-info th{width:40%;font-weight:700;background:rgba(0,0,0,.035)}
.jp-links-btn{display:inline-block;background:var(--jp-primary,#c62828);color:#fff!important;padding:4px 14px;border-radius:3px;font-weight:700;text-decoration:none!important}
.jp-links-btn:hover{filter:brightness(1.12)}
.jp-short{border-left:4px solid var(--jp-primary,#c62828);background:rgba(0,0,0,.04);padding:12px 14px;margin:0 0 16px}
.jp-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 16px}
.jp-info-grid .jp-info{margin:0}
@media (max-width:700px){.jp-info-grid{grid-template-columns:1fr}}
