.ejobb-container{max-width:1200px;margin:0 auto;padding:24px}
.ejobb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.ejobb-grid-small{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.ejobb-card,.ejobb-panel,.ejobb-job-summary,.ejobb-success{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.ejobb-card-title{margin:0 0 10px;font-size:1.15rem;line-height:1.35}
.ejobb-badge{display:inline-block;background:#111827;color:#fff;font-size:12px;padding:6px 10px;border-radius:999px;margin-bottom:12px}
.ejobb-btn{display:inline-block;background:#0f62fe;color:#fff!important;text-decoration:none;padding:12px 18px;border-radius:12px;font-weight:600;border:none;cursor:pointer}
.ejobb-btn-secondary{background:#111827}
.ejobb-link{font-weight:600;text-decoration:none}
.ejobb-single-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}
.ejobb-meta-inline{display:flex;flex-wrap:wrap;gap:10px;color:#4b5563}
.ejobb-meta-inline span{background:#f3f4f6;padding:8px 10px;border-radius:999px;font-size:14px}
.ejobb-single-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px}
.ejobb-panel h2,.ejobb-success h2{margin-top:0}
.ejobb-job-summary h3{margin-top:0}
.ejobb-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ejobb-cv-form p{margin:0 0 16px}
.ejobb-cv-form label{display:block;font-weight:600;margin-bottom:8px}
.ejobb-cv-form input[type=text],.ejobb-cv-form input[type=email],.ejobb-cv-form input[type=file],.ejobb-cv-form textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box}
.ejobb-notice{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;padding:14px 16px;border-radius:14px;margin:0 0 18px}
.ejobb-notice strong{color:inherit}
.ejobb-notice__job-link,.ejobb-notice__job-link:visited{color:inherit;text-decoration:underline;font-weight:inherit}
.ejobb-notice__job-link:hover,.ejobb-notice__job-link:focus{color:inherit;opacity:.85}

.ejobb-warning{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.ejobb-section{margin-top:28px}
.ejobb-pagination{margin-top:24px}
.ejobb-pagination .page-numbers{display:inline-block;padding:8px 12px;margin:0 6px 6px 0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none}
@media (max-width:900px){.ejobb-single-grid{grid-template-columns:1fr}.ejobb-single-header{flex-direction:column}.ejobb-summary-grid{grid-template-columns:1fr}}

.ejobb-single-column-wrap{max-width:900px}
.ejobb-single-column{display:block}
.ejobb-single-header-stack{display:block}
.ejobb-single-header-stack .ejobb-notice{margin-top:16px}
.ejobb-job-summary-panel .ejobb-job-summary{border:0;padding:0;box-shadow:none;background:transparent}
.ejobb-panel-tight{padding:20px}
.ejobb-apply-panel{text-align:center}
.ejobb-btn-full{display:block;width:100%;max-width:320px;margin:0 auto;padding:14px 20px}
.ejobb-stack{display:flex;flex-direction:column;gap:16px}
.ejobb-success{max-width:900px;margin:0 auto}
.ejobb-success .ejobb-card{box-shadow:none}



.ejobb-grid{display:flex;flex-direction:column;gap:18px}
.ejobb-list-card{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px 20px;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.ejobb-list-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.ejobb-list-card__identity{display:flex;align-items:center;gap:14px;min-width:0;flex:1}
.ejobb-list-card__media{flex:0 0 64px}
.ejobb-list-card__image-link{display:block}
.ejobb-list-card__image{width:64px;height:64px;object-fit:contain;border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:8px}
.ejobb-list-card__heading{min-width:0;flex:1}
.ejobb-list-card__title{margin:0 0 4px;font-size:1.2rem;line-height:1.25}
.ejobb-list-card__title a{text-decoration:none;color:#111827}
.ejobb-list-card__company{font-weight:600;color:#4b5563}
.ejobb-list-card__side{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex:0 0 auto}
.ejobb-salary-badge{background:#16a34a;color:#fff;border-radius:12px;padding:8px 12px;font-size:14px;font-weight:700;line-height:1.2;text-align:center}
.ejobb-list-card__btn{white-space:nowrap}
.ejobb-list-card__meta-row{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center}
.ejobb-list-card__item{display:inline-flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:8px 12px;font-size:14px;line-height:1.3;color:#374151}
.ejobb-list-card__item strong{color:#111827}
.ejobb-list-card__closing{text-align:center;color:#374151;font-size:14px}
.ejobb-list-card__closing strong{color:#111827}
.ejobb-list-card.is-featured{border-color:#cbd5e1}
.ejobb-course-stack .ejobb-course-card{display:flex;flex-direction:column;gap:12px}
.ejobb-course-image{display:block;width:100%;max-width:220px;height:auto;border-radius:14px}
.ejobb-course-image-link{display:inline-block}
.ejobb-all-courses-wrap{text-align:center;margin-top:20px}
.ejobb-modal{position:fixed;inset:0;display:none;z-index:999999}
.ejobb-modal.is-open{display:block}
.ejobb-modal__backdrop{position:absolute;inset:0;background:rgba(17,24,39,.55)}
.ejobb-modal__dialog{position:relative;max-width:440px;margin:10vh auto 0;background:#fff;border-radius:20px;padding:24px;box-shadow:0 20px 50px rgba(0,0,0,.25);z-index:2}
.ejobb-modal__close{position:absolute;top:12px;right:12px;background:#f3f4f6;border:0;border-radius:999px;width:36px;height:36px;font-size:24px;line-height:1;cursor:pointer}
.ejobb-modal__actions{display:flex;flex-direction:column;gap:12px;margin-top:18px}
body.ejobb-modal-open{overflow:hidden}
@media (max-width:700px){
  .ejobb-list-card{padding:16px}
  .ejobb-list-card__header{align-items:flex-start}
  .ejobb-list-card__identity{align-items:flex-start}
  .ejobb-list-card__media{flex:0 0 50px}
  .ejobb-list-card__image{width:50px;height:50px;padding:6px}
  .ejobb-list-card__title{font-size:1rem;margin-bottom:3px}
  .ejobb-list-card__company{font-size:14px}
  .ejobb-list-card__side{align-items:flex-end;gap:10px}
  .ejobb-salary-badge{font-size:12px;padding:7px 10px;border-radius:10px;max-width:130px}
  .ejobb-list-card__btn{padding:10px 14px;border-radius:10px;font-size:14px}
  .ejobb-list-card__meta-row{justify-content:center;gap:10px}
  .ejobb-list-card__item{font-size:12px;padding:7px 10px}
  .ejobb-list-card__closing{font-size:12px}
  .ejobb-modal__dialog{margin:8vh 16px 0;padding:22px}
}

.ejobb-ad-slot{margin:24px 0;overflow:hidden}
.ejobb-ad-slot ins.adsbygoogle{max-width:100%}
.ejobb-ad-slot-after-content{margin-bottom:28px}


.ejobb-ad-slot-breakout{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  margin-top:40px;
  margin-bottom:40px;
  padding:18px 20px;
  display:flex;
  justify-content:center;
  overflow:visible;
  box-sizing:border-box;
}
.ejobb-ad-slot-breakout ins.adsbygoogle{
  display:block;
  width:100%;
  max-width:1280px;
  min-height:280px;
}
.ejobb-ad-slot-summary,
.ejobb-ad-slot-description,
.ejobb-ad-slot-responsibilities,
.ejobb-ad-slot-requirements{
  min-height:320px;
  align-items:center;
}
.ejobb-ad-slot-after-content{
  margin-top:48px;
  margin-bottom:36px;
}
.ejobb-panel + .ejobb-ad-slot-breakout{
  border-top:1px solid #eef2f7;
  border-bottom:1px solid #eef2f7;
  background:linear-gradient(180deg, rgba(248,250,252,.9) 0%, rgba(255,255,255,1) 100%);
}
@media (min-width:1200px){
  .ejobb-ad-slot-breakout{
    padding-left:32px;
    padding-right:32px;
  }
  .ejobb-ad-slot-breakout ins.adsbygoogle{
    min-height:320px;
  }
}
@media (max-width:700px){
  .ejobb-ad-slot-breakout{
    margin-top:28px;
    margin-bottom:28px;
    padding:16px 12px;
  }
  .ejobb-ad-slot-breakout ins.adsbygoogle{
    min-height:250px;
    max-width:100%;
  }
  .ejobb-ad-slot-summary,
  .ejobb-ad-slot-description,
  .ejobb-ad-slot-responsibilities,
  .ejobb-ad-slot-requirements{
    min-height:280px;
  }
}


.ejobb-cv-page-wrap{max-width:900px}
.ejobb-cv-intro{margin-bottom:0}
.ejobb-cv-form-panel .ejobb-notice:last-child{margin-bottom:0}
.ejobb-cv-copy{margin:0 0 18px;color:#4b5563}


.ejobb-cv-intent-panel{margin-bottom:0}
.ejobb-cv-copy-strong{font-size:1.02rem;color:#111827}
.ejobb-ad-slot-cv-top,
.ejobb-ad-slot-cv-summary,
.ejobb-ad-slot-cv-after-form{min-height:320px;align-items:center}
@media (max-width:700px){
  .ejobb-ad-slot-cv-top,
  .ejobb-ad-slot-cv-summary,
  .ejobb-ad-slot-cv-after-form{min-height:280px}
}


.ejobb-cv-intent-panel{
  background:linear-gradient(135deg,#0f62fe 0%,#2563eb 100%);
  border-color:#1d4ed8;
  color:#fff;
}
.ejobb-cv-intent-panel h2,
.ejobb-cv-intent-panel .ejobb-cv-copy,
.ejobb-cv-intent-panel .ejobb-cv-copy-strong{color:#fff}
.ejobb-cv-intent-panel strong{color:#fff}
.ejobb-cv-form-panel .ejobb-btn{min-width:220px}
.ejobb-cv-upload-wrap{margin:0 0 18px}
.ejobb-cv-upload-wrap > label{display:block;font-weight:600;margin-bottom:8px}
.ejobb-file-upload{position:relative}
.ejobb-file-upload__input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.ejobb-file-upload__label{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border:1px solid #cbd5e1;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  box-shadow:0 8px 24px rgba(15,23,42,.06);
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.ejobb-file-upload__label:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(15,23,42,.1);
  border-color:#93c5fd;
}
.ejobb-file-upload__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:120px;
  padding:11px 14px;
  border-radius:12px;
  background:#0f62fe;
  color:#fff;
  font-weight:700;
  line-height:1;
}
.ejobb-file-upload__text{color:#475569;line-height:1.4;word-break:break-word}
.ejobb-file-upload__hint{display:block;margin-top:8px;font-size:13px;color:#64748b}
.ejobb-file-upload__input:focus + .ejobb-file-upload__label,
.ejobb-file-upload__input:focus-visible + .ejobb-file-upload__label{
  outline:2px solid #93c5fd;
  outline-offset:3px;
}
@media (max-width:700px){
  .ejobb-file-upload__label{align-items:flex-start;flex-direction:column}
  .ejobb-file-upload__button{min-width:0;width:100%}
}


.ejobb-job-theme{background:#f8fafc;color:#111827;margin:0}
.ejobb-site-main{min-height:calc(100vh - 160px)}
.ejobb-site-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid #e5e7eb}
.ejobb-site-header__inner,.ejobb-site-footer__inner{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.ejobb-site-header__brand{text-decoration:none;color:#111827;display:flex;flex-direction:column;line-height:1.1}
.ejobb-site-header__brand-text{font-size:1.05rem;font-weight:800}
.ejobb-site-header__brand-subtitle{font-size:.82rem;color:#4b5563;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ejobb-site-nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ejobb-site-nav a,.ejobb-mobile-nav a{text-decoration:none;color:#111827;font-weight:600}
.ejobb-site-nav a:hover,.ejobb-mobile-nav a:hover{color:#0f62fe}
.ejobb-menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:4px;width:42px;height:42px;border:1px solid #d1d5db;border-radius:12px;background:#fff;padding:0;cursor:pointer;margin-left:auto}
.ejobb-menu-toggle span{display:block;width:18px;height:2px;background:#111827;border-radius:999px}
.ejobb-mobile-nav{display:none;border-top:1px solid #e5e7eb;background:#fff;padding:12px 16px;text-align:right}
.ejobb-mobile-nav a{display:block;padding:10px 0}
.ejobb-site-footer{border-top:1px solid #e5e7eb;background:#fff;margin-top:32px}
.ejobb-site-footer__inner{align-items:flex-start;flex-direction:column}
.ejobb-site-footer__authority{max-width:760px}
.ejobb-site-footer__title{margin:0 0 8px;font-size:1rem;font-weight:800;color:#111827}
.ejobb-site-footer__text{margin:0;color:#4b5563;line-height:1.65}
.ejobb-site-footer__copy{margin:6px 0 0;color:#6b7280;font-size:.95rem}
.ejobb-job-listings-header h1,.ejobb-job-success-header h1{text-align:center;margin-bottom:12px}
.ejobb-listings-copy{text-align:center;max-width:760px;margin:0 auto;color:#4b5563}
.ejobb-multiplex-ad{margin:40px 0 20px;padding:0 10px}
@media (max-width:700px){
  .ejobb-site-header__inner,.ejobb-site-footer__inner{padding:14px 16px}
  .ejobb-menu-toggle{display:flex}
  .ejobb-site-nav--desktop{display:none !important}
  .ejobb-mobile-nav{display:none;padding-top:8px}
  .ejobb-mobile-nav.is-open{display:block}
}
@media (min-width:701px){
  .ejobb-menu-toggle{display:none !important}
  .ejobb-site-nav--desktop{display:flex !important}
  .ejobb-mobile-nav{display:none !important}
}


.ejobb-listings-inline-ad{margin:18px 0 8px}
.ejobb-auth-page-wrap{padding-top:28px;padding-bottom:28px}
.ejobb-auth-header{margin-bottom:18px}
.ejobb-auth-copy{margin:0 0 10px;color:#374151;line-height:1.7}
.ejobb-auth-copy-strong{font-size:1.02rem;color:#111827}
.ejobb-auth-panel{max-width:760px}
