/* Job Cards for Elementor */

.jce-cards-wrapper { display:flex; flex-direction:column; gap:20px; width:100%; }

.jce-card { background:#fff; border:1px solid #e0e0e0; border-radius:12px; overflow:hidden; transition:border-color .25s; }
.jce-card.is-expanded { border-color:#9b1c1c; }
.jce-card-inner { padding:28px; }

.jce-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.jce-card-left { display:flex; flex-direction:column; gap:10px; flex:1; min-width:0; }
.jce-card-right { flex-shrink:0; }

.jce-job-title { margin:0; font-size:1.5rem; font-weight:700; color:#1a1a1a; line-height:1.2; }

.jce-badge { display:inline-block; font-size:.78rem; font-weight:500; color:#9b1c1c; background:#fff; border:1.5px solid #9b1c1c; border-radius:999px; padding:4px 14px; width:fit-content; }

.jce-apply-btn { display:inline-block; background:#9b1c1c; color:#fff; padding:12px 24px; border-radius:8px; font-size:.95rem; font-weight:600; text-decoration:none; cursor:pointer; border:none; transition:background .2s,transform .15s; white-space:nowrap; }
.jce-apply-btn:hover { background:#7f1515; color:#fff; text-decoration:none; transform:translateY(-1px); }

/* Footer row — desc + View Details (collapsed state) */
.jce-card-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; flex-wrap:wrap; }
.jce-job-desc { margin:0; font-size:.95rem; color:#444; line-height:1.6; flex:1; min-width:0; }

/* View Details — shown when collapsed, hidden when expanded */
.jce-view-link { background:none; border:none; padding:0; cursor:pointer; font-size:.9rem; font-weight:500; color:#9b1c1c; white-space:nowrap; transition:color .2s; flex-shrink:0; }
.jce-view-link:hover { color:#7f1515; text-decoration:underline; }
.jce-card.is-expanded .jce-view-link { display:none; }

/* Expandable details */
.jce-details { max-height:0; overflow:hidden; transition:max-height .4s ease,opacity .3s ease,margin-top .3s ease; opacity:0; margin-top:0; }
.jce-details.is-open { max-height:1000px; opacity:1; margin-top:20px; }

.jce-section-heading { font-size:1rem; font-weight:700; color:#9b1c1c; margin:20px 0 10px; padding:0; }
.jce-details .jce-section-heading:first-child { margin-top:0; }

.jce-list { margin:0 0 0 20px; padding:0; list-style:disc; }
.jce-list li { font-size:.95rem; color:#555; line-height:1.65; margin-bottom:4px; padding-left:4px; }
.jce-list li strong { color:#1a1a1a; }

/* Hide Details row — bottom right of expanded content */
.jce-hide-row { display:none; justify-content:flex-end; margin-top:20px; }
.jce-card.is-expanded .jce-hide-row { display:flex; }
.jce-hide-link { background:none; border:none; padding:0; cursor:pointer; font-size:.9rem; font-weight:500; color:#9b1c1c; white-space:nowrap; transition:color .2s; }
.jce-hide-link:hover { color:#7f1515; text-decoration:underline; }

/* Tablet */
@media (max-width:768px) {
  .jce-card-inner { padding:20px; }
  .jce-job-title { font-size:1.2rem; }
}

/* Mobile */
@media (max-width:600px) {
  .jce-card-inner { padding:16px; }
  .jce-card-top { flex-direction:column; gap:12px; }
  .jce-card-right { width:100%; }
  .jce-apply-btn { width:100%; text-align:center; display:block; padding:14px; }
  .jce-card-footer { flex-direction:column; align-items:flex-start; gap:8px; margin-top:12px; }
  .jce-job-title { font-size:1.1rem; }
  .jce-badge { font-size:.72rem; padding:3px 11px; }
  .jce-job-desc { font-size:.88rem; }
  .jce-list li { font-size:.86rem; }
  .jce-section-heading { font-size:.92rem; }
}
