/* JF India — site-specific styles. Namespace selectors to avoid collisions. */

.jf-legacy-page {
	/* example root scope for legacy templates */
}

.jf-breadcrumbs {
	font-size: 14px;
	line-height: 1.5;
}

/* Projects grid */
.jf-filter-bar { padding-top: 16px; padding-bottom: 8px; }
.jf-project-filters { list-style: none; padding: 0; margin: 0; display:flex; gap:10px; flex-wrap:wrap; }
.jf-project-filters li { display: inline-block; }
.jf-filter-btn { display:inline-block; padding:6px 14px; border:1px solid #e3e3e3; border-radius:20px; text-decoration:none; color:#333; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.jf-filter-btn.active, .jf-filter-btn:hover { background:#222; color:#fff; border-color:#222; }

.jf-project-card { border-bottom:1px solid #e9e9e9; padding-bottom:18px; }
.jf-project-category { color:#7b61ff; font-size:13px; margin-bottom:4px; }
.jf-project-title { font-size:20px; margin:0 0 6px; }
.jf-project-location { color:#666; font-size:14px; margin-bottom:12px; }
.jf-project-image { width:100%; height:220px; overflow:hidden; border-radius:4px; }
.jf-project-image img { width:100%; height:100%; display:block; object-fit:cover; }
.jf-project-size { margin-top:16px; }

/* Our Projects banner */
.jf-our-projects-banner { background-size:cover !important; background-position:70% center !important; }
.jf-our-projects-banner::before, .jf-our-projects-banner::after { content:none !important; }
.jf-our-projects-banner .banner-wrapper { padding: 56px 0; }
.jf-our-projects-banner h1 { color:#000; }

@media (max-width: 767px) {
	.jf-our-projects-banner { background-position:center !important; }
	.jf-our-projects-banner .banner-wrapper { padding: 40px 0; }
}

/* Careers */
.jf-careers-filters .jf-select { padding:8px 10px; border:1px solid #e3e3e3; border-radius:6px; }
.jf-job-card { border:1px solid #eee; border-radius:8px; padding:16px; height:100%; background:#fff; }
.jf-job-header { font-size:12px; color:#7b61ff; margin-bottom:6px; }
.jf-job-title { font-size:18px; margin:0 0 6px; }
.jf-job-dept, .jf-job-exp { color:#666; font-size:14px; }

/* Job listing row styles */
.jf-job-row{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #eee;border-radius:12px;padding:18px 18px;margin-bottom:12px}
.jf-job-row{transition:box-shadow .2s ease, transform .12s ease}
.jf-job-row:hover{box-shadow:0 6px 14px rgba(0,0,0,.06);transform:translateY(-1px)}
.jf-job-main{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.jf-job-title{font-size:20px;margin:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:16px}
.jf-job-meta{display:flex;gap:24px;list-style:none;padding:0;margin:0;color:#6b6b6b;white-space:nowrap;flex:0 0 auto}
.jf-job-meta-item{display:flex;align-items:center;gap:8px}
.jf-job-meta-item i{color:#999;font-size:18px}
.jf-job-cta{flex:0 0 auto}
.jf-job-arrow{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:10px;background:#111;color:#fff;text-decoration:none;font-size:22px}
.jf-job-row:hover .jf-job-arrow{background:#000}

@media (max-width: 576px){
  .jf-job-main{flex-direction:column;align-items:flex-start}
  .jf-job-title{margin:0 0 8px}
  .jf-job-meta{white-space:normal;gap:12px}
}

/* Align meta columns across rows on desktop (fixed columns) */
@media (min-width: 992px){
  .jf-job-row{display:grid;grid-template-columns:minmax(0,1fr) 220px 220px 220px 64px;align-items:center;column-gap:24px}
  .jf-job-main,.jf-job-meta{display:contents}
  .jf-job-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .jf-job-meta-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .jf-job-meta-item.jf-job-cat{grid-column:2}
  .jf-job-meta-item.jf-job-exp{grid-column:3}
  .jf-job-meta-item.jf-job-loc{grid-column:4}
  .jf-job-cta{grid-column:5;justify-self:end}
}

/* Filters sentence style */
.jf-filters-inline{font-size:18px}
.jf-filter-sentence{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.jf-select-inline{appearance:none;-webkit-appearance:none;border:none;border-bottom:2px solid #7b61ff;border-radius:0;background:#fff;padding:6px 28px 6px 8px;margin:0 6px;min-width:180px}
.jf-filter-sentence .nice-select{display:inline-flex;min-width:220px;border:none;border-bottom:2px solid #7b61ff;border-radius:0;background:#fff;padding:6px 28px 6px 8px;height:auto;line-height:1.4}
.jf-filter-sentence .nice-select .current{line-height:1.4}
.jf-filter-sentence .nice-select:after{right:8px;top:50%;transform:translateY(-50%)}
@media (min-width: 992px){
  .jf-filter-sentence{flex-wrap:nowrap;white-space:nowrap}
}

/* Loader */
.jf-jobs-loader{display:none;justify-content:center;align-items:center;height:40px;margin:6px 0 12px}
.jf-jobs-loader img{height:28px;width:28px;opacity:.8}
.jf-jobs-loader.is-active{display:flex}
.jf-no-jobs{margin:12px 0;color:#666}
.jf-select-inline:focus{outline:none;box-shadow:none}

/* Careers structured sections */
.sec-pad { padding: 140px 0; }
.jf-section-title { font-size:28px; margin-bottom:20px; }
.jf-career-hero { padding: 72px 0 0; background:#faf7ff; position:relative; }
.jf-hero-title { font-size:36px; margin-bottom:12px; }
.jf-hero-lead { font-size:16px; color:#444; }
.jf-hero-art { height:260px; border-radius:8px; }
.jf-hero-art-image { background: url(../images/career-hero.png) right center / cover no-repeat; }

.jf-role-card { background:#fff; border:1px solid #eee; border-radius:8px; padding:16px; height:100%; }
.jf-role-media { height:160px; background:#f0f0f7; border-radius:6px; margin-bottom:10px; }
.jf-role-title { font-size:16px; margin:0; }

.jf-program-box { background:#fff; border:1px dashed #cfc6ff; padding:20px; border-radius:8px; }
.jf-program-flow { display:flex; align-items:baseline; gap:8px; }
.jf-program-flow strong { font-size:48px; color:#7b61ff; line-height:1; }

.jf-quote { background:#fff; border-left:4px solid #7b61ff; padding:20px; border-radius:6px; font-style:italic; }

.jf-steps { display:flex; gap:18px; flex-wrap:wrap; }
.jf-step { background:#fff; border:1px solid #eee; border-radius:8px; padding:12px 16px; min-width:160px; text-align:center; }
.jf-step span { display:inline-block; width:28px; height:28px; border-radius:50%; background:#7b61ff; color:#fff; line-height:28px; margin-bottom:6px; }

.jf-why-card { background:#fff; border:0; border-radius:8px; padding:16px; height:100%; }
.jf-why-card h3 { font-size:20px; margin:0 0 12px; }
.jf-why-card .jf-accent { color:#7b61ff; }
.jf-pill-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.jf-pill { display:flex; align-items:center; gap:10px; border:1px solid #e9e9e9; background:#fff; padding:10px 12px; border-radius:999px; width:100%; font-size:14px; }
.jf-icn { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; }
.jf-plus { display:none; }
.jf-apply-btn { min-width:180px; }

/* Reduce spacing between columns in Why section */
.jf-why-row { gap: 12px; }
.jf-why-row .col-lg-1 { flex: 0 0 36px; max-width:36px; }

/* Clients / Projects snapshot */
.jf-career-clients .jf-section-title { margin-bottom: 12px; }
.jf-clients-lead { font-size: 18px; line-height: 1.5; }
.jf-underline { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 4px; }
.jf-clients-art { width: 100%; height: 320px; background-size: contain; background-repeat: no-repeat; background-position: center right; }
@media (max-width: 991.98px) {
  .jf-clients-art { height: 220px; background-position: center; }
}

/* Recruitment process - refreshed UX */
.jf-career-process .jf-section-title { margin-bottom: 24px; }
.jf-process { display:flex; gap:28px; align-items:flex-start; flex-wrap:wrap; }
.jf-step { flex:1 1 180px; text-align:center; position:relative; background:transparent; border:0; box-shadow:none; padding:0; border-radius:0; }
.jf-step:after { content:''; position:absolute; top:42px; right:-14px; width:28px; height:2px; background:#e5e5ea; }
.jf-step:last-child:after { display:none; }
.jf-step-circle { width:84px; height:84px; border:2px solid #7b61ff; border-radius:50%; margin:0 auto 12px; display:flex; align-items:center; justify-content:center; }
.jf-step-icon { display:flex; align-items:center; justify-content:center; }
.jf-step-time { font-size:22px; font-weight:700; }
.jf-step-time small { display:block; font-size:12px; font-weight:600; opacity:.7; }
.jf-step-title { font-weight:600; }
.jf-step--custom .jf-step-circle { border-style:dashed; position:relative; }
.jf-step--success .jf-step-circle { border-color:#a5d34f; }

@media (max-width: 767.98px) {
  .jf-step:after { display:none; }
}

/* Hide global footer CTA only on Careers page */
/* Careers template: hide global footer CTA (Ready to Elevate...) only on this page */
.page-template-jf-careers .footerSection .btx-header-zone,
.page-template-jf-careers-php .footerSection .btx-header-zone,
.page-template-templatesjf-careers-php .footerSection .btx-header-zone { display:none !important; }

.jf-logo-grid { display:grid; grid-template-columns: repeat(6, 1fr); gap:10px; }
.jf-logo-cell { height:60px; background:#f4f4f4; border-radius:6px; }

.jf-career-cta .primary-btn2 { margin-top:8px; }

@media (max-width: 991px) {
	.jf-logo-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Join Us */
.jf-join-art{width:100%;height:140px;background: #ffffff center/contain no-repeat;border-radius:8px}
/* Job modal */
.jf-job-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:9999}
.jf-job-modal.is-open{display:flex}
.jf-job-modal .jf-card{background:#fff;max-width:860px;width:90%;max-height:85vh;overflow:auto;border-radius:12px;padding:22px}
.jf-modal-title{margin:0 0 8px}
.jf-modal-meta{display:flex;gap:18px;list-style:none;padding:0;margin:0 0 14px;color:#666}
.jf-modal-meta i{color:#999;margin-right:6px}
.jf-modal-sub{margin:14px 0 6px}
.jf-modal-sep{border:none;border-top:1px solid #eee;margin:12px 0}
.jf-modal-cta{margin-top:12px}
.jf-modal-close{position:absolute;top:16px;right:16px;background:#111;color:#fff;border:none;border-radius:8px;width:36px;height:32px}

/* Job detail page */
.jf-job-detail .jf-jd-title{margin:0 0 8px}
.jf-jd-meta{list-style:none;padding:0;margin:0 0 14px;display:flex;gap:18px;color:#666}
.jf-jd-meta i{color:#999;margin-right:6px}
.jf-jd-sub{margin:18px 0 8px}
.jf-jd-copy ul{padding-left:18px}
.jf-jd-form{border:1px solid #eee;border-radius:12px}
.jf-jd-form .form-label{position:static !important;display:block;transform:none !important;opacity:1 !important;background:transparent !important;margin-bottom:6px;padding:0}
.jf-jd-form .form-control,.jf-jd-form .form-select{position:static}
.jf-alert{border-radius:10px;padding:10px 12px;margin-bottom:10px;font-size:14px}
.jf-alert-success{background:#eefbea;border:1px solid #d6f5cd;color:#235a1f}
/* Space consent from dropzone */
.jf-jd-form .my-2{margin-top:2.5rem !important}
/* Center checkbox with label text */
.jf-jd-form .form-check{display:flex;align-items:flex-start}
.jf-jd-form .form-check-input{margin-top:0}
/* Dropzone */
.jf-dropzone{border:2px dashed #cfc6ff;border-radius:12px;background:#faf7ff;padding:16px;text-align:center;cursor:pointer;transition:background .15s ease,border-color .15s ease;position:relative;min-height:160px}
.jf-dropzone:focus{outline:none;box-shadow:0 0 0 3px rgba(123,97,255,.25)}
.jf-dropzone.is-drag{background:#f3efff;border-color:#7b61ff}
.jf-drop-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px}
.jf-drop-icon{font-size:28px;color:#7b61ff}
.jf-drop-title{font-weight:600}
.jf-drop-or{font-size:12px;color:#666}
.jf-drop-browse{border:1px solid #7b61ff;background:#7b61ff;color:#fff;border-radius:8px;padding:6px 12px}
.jf-drop-file{position:absolute;left:12px;right:12px;bottom:10px;margin-top:6px;font-size:13px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 24px);text-align:center}
.jf-drop-file:empty{display:none}
.jf-visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.jf-social-lead{font-size:16px;color:#333}
.jf-lm{font-style:italic;color:#7b61ff;margin-right:6px}
.jf-link-underline{color:#111;text-decoration:underline;text-underline-offset:4px}
.jf-social-icons{display:inline-flex;gap:10px;margin-left:14px}
.jf-btn-circle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:36px;border-radius:18px;border:1px solid #e5e5ea;background:#fff;color:#111;text-decoration:none}
.jf-btn-circle i{font-size:16px}
.jf-btn-circle.jf-ln i{color:#0a66c2}
.jf-btn-circle.jf-yt i{color:#ff0000}


/* Brochure modal */
.jf-brochure-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:10000}
.jf-brochure-modal.is-open{display:flex}
.jf-brochure-modal .jf-card{background:#fff;max-width:520px;width:92%;border-radius:12px;padding:22px;position:relative}
.jf-brochure-modal .jf-modal-close{position:absolute;top:12px;right:12px;background:#111;color:#fff;border:none;border-radius:8px;width:36px;height:32px}
.jf-open-brochure{cursor:pointer}
.jf-brochure-modal .jf-brochure-msg{margin-top:10px;font-size:14px}
.jf-brochure-modal .jf-brochure-msg a{color:#111;text-decoration:underline}
/* Thanks layout */
.jf-thanks-wrap{display:flex;align-items:center;gap:14px}
.jf-thanks-img{width:72px;height:auto}
.jf-thanks-title{font-size:20px;font-weight:700;margin-bottom:4px}

/* Full panel thank-you layout */
.jf-thanks-panel{display:flex;flex-direction:column;align-items:center}
.jf-thanks-hero{width:100%;height:195px;background-size:cover;background-position:center;border-radius:8px;margin:-10px 0 10px}
.jf-brochure-modal .jf-card.is-thanks .jf-thanks-hero{margin:15px 0 10px}
.jf-thanks-body{text-align:center;padding:8px 4px}
.jf-thanks-check{margin:8px 0}
.jf-thanks-title{font-size:26px;font-weight:800;color:#0e2a36;margin:10px 0 4px}
.jf-thanks-msg{font-size:15px;color:#143946;margin:0 0 12px}
.jf-thanks-cta .jf-download-btn{display:inline-block;color:#fff !important;text-decoration:none !important}
.jf-thanks-cta .jf-download-btn:hover{color:#fff !important;text-decoration:none !important}

/* Hide intro copy once in thanks state */
.jf-brochure-modal .jf-card.is-thanks .jf-modal-intro{display:none}
/* Brochure form labels static */
.jf-brochure-modal .form-label{position:static !important;display:block;transform:none !important;opacity:1 !important;background:transparent !important;margin-bottom:6px;padding:0}
.jf-brochure-modal .form-control{position:static}
.jf-brochure-modal .form-label.required:after{content:' *'; color:#c00; font-weight:700}

/* Match validation bubble style like career form */
.jf-brochure-modal .jf-form.is-invalid input:invalid{border-color:#ff9800}
.jf-brochure-modal .jf-form.is-invalid input:invalid:focus{outline-color:#ff9800}
.jf-brochure-modal .is-err{color:#c00}

/* Align sector page button group to left */
.leftContentSec .button-group{margin-left:0}

/* Our Engineers (About) */
.jf-engineers .jf-eng-title{font-size:48px;margin:0 0 12px;line-height:1.1}
.jf-engineers .jf-eng-scribble{font-family:inherit;font-style:italic;color:#7b61ff}
.jf-engineers .jf-eng-lead{font-size:16px;color:#444}
.jf-eng-stage{position:relative;min-height:560px}
.jf-eng-item{position:absolute;inset:0;display:grid;grid-template-columns:520px 1fr;align-items:center;gap:32px;opacity:0;transition:opacity .6s ease}
.jf-eng-item.is-active{opacity:1}
.jf-eng-media{height:560px;background:#f2f4f7 center/cover no-repeat;border:4px solid #7b61ff;border-radius:0}
.jf-eng-copy{display:block}
.jf-eng-name{margin:0 0 6px;font-size:36px}
.jf-eng-degree{font-weight:600}
.jf-eng-role{color:#333;margin-bottom:14px}
.jf-eng-quote-wrap{margin:12px 0 18px}
.jf-eng-quote-label{font-style:italic;color:#666;margin-bottom:6px}
.jf-eng-quote{margin:0;color:#222}
.jf-eng-tags{margin-top:8px}
.jf-eng-tags-title{color:#7b61ff;margin-bottom:8px}
.jf-eng-tags ul{list-style:none;padding:0;margin:0;display:flex;gap:10px;flex-wrap:wrap}
.jf-eng-tags li{background:#f2f2f2;border-radius:8px;padding:6px 10px;font-size:14px}

@media (max-width: 991.98px){
  .jf-eng-stage{min-height:460px}
  .jf-eng-item{grid-template-columns:1fr;align-items:start;padding-top:8px}
  .jf-eng-media{height:360px}
}

/* Elementor canvas styling overrides (additive only) */
.jf-eng-media{position:relative}
.jf-eng-item{grid-template-columns:392px 1fr;left:60px;right:0}
.e-con>.e-con-inner{max-width:none;width:100%;padding:0 11%}
.e-con>.e-con-inner .container{max-width:none}
.sec-pad.jf-engineers{padding:0 0 120px 0}
.jf-engineers .jf-eng-title{font-size:60px;font-weight:400}
.jf-eng-copy{padding:81px 0 0 26px}
.jf-eng-name{margin:0 0 6px;font-size:30px;font-weight:400}
.jf-eng-degree,.jf-eng-role{font-weight:400;font-size:18px}
.jf-eng-quote-label{font-size:15px}
.jf-eng-quote{font-size:15px;line-height:1.667}
.jf-eng-media:before,.jf-eng-media:after{content:"";position:absolute;left:-64px;top:50%;border-right:60px solid #7B61FF;border-top:50px solid transparent;border-bottom:50px solid transparent}
.jf-eng-media:after{border-right-color:#F3F4F7;left:-58px;border-right-width:58px;border-top-width:49px;border-bottom-width:49px}
.jf-eng-card{display:flex;align-items:center;justify-content:center}
.jf-eng-card-inner{background:linear-gradient(180deg,#111 0%,#1b1b1b 100%);border-radius:14px;padding:28px 24px;text-align:center;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.jf-eng-card-icon{color:#0a66c2;display:flex;justify-content:center;margin-bottom:8px}
.jf-eng-card-icon svg{width:36px;height:36px}
.jf-eng-card-title{font-weight:800;margin:6px 0 4px;font-size:18px}
.jf-eng-card-sub{opacity:.85;margin-bottom:14px;font-size:14px}
.jf-ln-btn{display:inline-flex;align-items:center;gap:8px;background:#0a66c2;border:0;border-radius:999px;padding:10px 16px;color:#fff;text-decoration:none;font-weight:700}
.jf-ln-btn:hover{background:#095aa6;color:#fff;text-decoration:none}
.jf-ln-btn svg{width:18px;height:18px}

/* J&K button arrow adjustment */
.jAndkBtn .arrow{margin-top:18px;margin-left:3px}

/* FAQ section title/button alignment override */
.home1-faq-section .title-area .button-area{display:flex;margin-bottom:231px;margin-right:204px}

/* Floating label offset */
input:focus + label,
input:not(:placeholder-shown) + label,
textarea:focus + label,
textarea:not(:placeholder-shown) + label{top:-0.2rem;left:0.75rem;font-size:0.75rem;color:var(--primary-dark);position:relative}

input:focus + label,
input:not(:placeholder-shown) + label,
textarea:focus + label,
textarea:not(:placeholder-shown) + label{left:0.4rem !important}
