.job_listings, .job_listings ul.job_listings { margin: 0; padding: 0; }
.job_listings ul.job_listings { border-top: 1px solid var(--mmo-line); list-style: none; }
.job_listings ul.job_listings li.job_listing.mmo-job-card { display: block; min-height: 0; margin: 0; padding: 0; border-bottom: 1px solid var(--mmo-line); background: transparent; }
.job_listings ul.job_listings li.job_listing.mmo-job-card > a { position: relative; display: grid; box-sizing: border-box; width: 100%; min-width: 0; grid-template-columns: 54px minmax(0,1fr) minmax(100px,.35fr) 130px; align-items: center; gap: 18px; min-height: 112px; margin: 0; padding: 20px 12px; color: var(--mmo-ink); text-decoration: none; }
.job_listings ul.job_listings li.job_listing.mmo-job-card > a::before, .job_listings ul.job_listings li.job_listing.mmo-job-card > a::after { display: none; }
.job_listings ul.job_listings li.job_listing.mmo-job-card > a:hover { background: var(--mmo-soft-blue); }
.job_listings ul.job_listings li.job_listing.mmo-job-card.job_position_featured > a { background: var(--mmo-soft-blue); }
.job_listings ul.job_listings li.job_listing.mmo-job-card :is(.position,.company,.location,.meta) { float: none; clear: none; width: auto; min-width: 0; margin: 0; padding: 0; }
.job_listings ul.job_listings li.job_listing.mmo-job-card :is(.company_logo,.job-card__logo) { position: static; float: none; width: 54px; height: 48px; margin: 0; object-fit: contain; }
.job_listings ul.job_listings li.job_listing.mmo-job-card .position h3 { margin: 0; padding: 0; overflow-wrap: anywhere; }
.job_listings ul.job_listings li.job_listing.mmo-job-card .company { margin-top: 4px; }
.job_listings ul.job_listings li.job_listing.mmo-job-card .location { text-align: left; overflow-wrap: anywhere; }
.job_listings ul.job_listings li.job_listing.mmo-job-card ul.meta { grid-column: auto; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; text-align: right; }
.job_listings ul.job_listings li.job_listing.mmo-job-card ul.meta li { float: none; width: auto; margin: 0; }
.job_listings ul.job_listings li.job_listing.mmo-job-card ul.meta .job-type { padding: 4px 9px; border-radius: 999px; background: #e3f4fc; color: #075d85; }
.job_listings ul.job_listings li.job_listing.mmo-job-card ul.meta .job-type:is(.estagio,.internship) { background: #e8f6f0; color: #21694d; }
.job_listings ul.job_listings li.job_listing.mmo-job-card ul.meta .job-type:is(.tempo-parcial,.part-time) { background: #edf1fb; color: #40558a; }
.job_listings ul.job_listings li.job_listing.mmo-job-card ul.meta .job-type:is(.temporario,.temporary) { background: #fff0ee; color: #983d35; }
.job_listings ul.job_listings li.job_listing.mmo-job-card ul.meta .job-type.freelance { background: #e6f5f7; color: #176579; }
.job_listings .company_logo, .job-card__logo { width: 54px; height: 48px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--mmo-line); border-radius: 5px; background: #fff; object-fit: contain; }
.job_listings .position { min-width: 0; }
.job_listings .position h3, .job-card__title { margin: 0; color: var(--mmo-blue-dark); font-size: 1rem; font-weight: 800; line-height: 1.3; }
.job_listings .company { margin-top: 4px; color: var(--mmo-muted); font-size: .82rem; }
.job_listings .location { color: var(--mmo-ink); font-size: .8rem; }
.job_listings ul.meta { grid-column: 3; display: flex; flex-direction: column; align-items: flex-end; gap: 5px; margin: 0; padding: 0; list-style: none; color: var(--mmo-muted); font-size: .75rem; }
.job-type { width: fit-content; padding: 3px 8px; border-radius: 4px; background: #eaf5fe; color: #00579b; font-size: .72rem; font-weight: 700; line-height: 1.2; }
.job-type.temporary, .job-type.temporario { background: #fff0ee; color: #a23d35; }
.job-type.part-time, .job-type.tempo-parcial { background: #edf0ff; color: #364b91; }
.job-type.internship, .job-type.estagio { background: #eefaf0; color: #1f7a32; }
.job-type.freelance { background: #eaf7ef; color: #24643e; }
.single_job_listing { padding: clamp(20px, 4vw, 40px); border: 1px solid var(--mmo-line); border-radius: 8px; background: #fff; }
.single_job_listing .job_description { max-width: 78ch; line-height: 1.75; }
.single_job_listing .company { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; padding-bottom: 24px; border-bottom: 1px solid var(--mmo-line); }
.single_job_listing .company .company_logo { position: static; flex: 0 0 88px; width: 88px; height: 68px; margin: 0; object-fit: contain; }
.single_job_listing .company .company_header { flex: 1 1 auto; min-width: 0; margin: 0; }
.single_job_listing .company .company_header .name { margin: 0; }
.job_filters, .job_filters .search_jobs { background: #fff; }
.job_filters { margin-bottom: 24px; border: 1px solid var(--mmo-line); border-radius: 6px; }
.job_filters .search_jobs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-areas: "keywords location" "remote nivel" "submit submit"; gap: 12px; padding: 16px; }
.job_filters .search_jobs div { width: auto; float: none; padding: 0; }
.job_filters .search_jobs::before, .job_filters .search_jobs::after, .job_filters .search_jobs > div[style*="clear"] { display: none; }
.job_listings .job_filters .search_jobs :is(.search_keywords,.search_location,.search_remote_position,.search_nivel,.search_submit,.search_categories) { float: none; width: auto; margin: 0; padding: 0; }
.job_filters .search_jobs :is(.search_keywords,.search_location,.search_nivel) label { display: block; margin-bottom: 5px; color: var(--mmo-muted); font-size: .85rem; font-weight: 700; }
div.job_listings .job_filters .search_jobs :is(.search_keywords,.search_location) input[type="text"] { width: 100%; max-width: none; box-sizing: border-box; }
.job_filters .search_remote_position { align-self: center; }
.job_filters .search_categories { grid-column: 1 / -1; }
.job_filters input:not([type="checkbox"]), .job_filters select, body.mmo-emprego input[type="text"], body.mmo-emprego input[type="email"], body.mmo-emprego input[type="password"], body.mmo-emprego input[type="url"], body.mmo-emprego input[type="number"], body.mmo-emprego select, body.mmo-emprego textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #b8c3cc; border-radius: 4px; background: #fff; color: var(--mmo-ink); font: inherit; }
.job_filters .search_keywords { grid-area: keywords; }
.job_filters .search_location { grid-area: location; }
.job_filters .search_remote_position { grid-area: remote; }
.job_filters .search_nivel { grid-area: nivel; }
.job_filters .search_submit { grid-area: submit; display: flex; justify-content: flex-end; }
.job_filters .search_submit input { width: auto; min-width: 180px; }
.job_filters ul.job_types { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 12px 16px; list-style: none; }
.job_filters ul.job_types li { margin: 0; padding: 0; }
.job_filters ul.job_types label { display: inline-flex; align-items: center; gap: 7px; color: var(--mmo-ink); font-size: .85rem; }
.job_filters ul.job_types input[type="checkbox"] { width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: var(--mmo-blue); }
.job_filters .showing_jobs { padding: 0 16px 12px; color: var(--mmo-muted); }
.job-manager-pagination { margin-top: 24px; }
@media (max-width: 680px) {
	.job_listings ul.job_listings li.job_listing.mmo-job-card > a { grid-template-columns: 46px minmax(0,1fr); gap: 7px 12px; padding: 17px 8px; }
	.job_listings ul.job_listings li.job_listing.mmo-job-card :is(.company_logo,.job-card__logo) { grid-row: 1 / span 3; align-self: start; width: 46px; height: 44px; }
	.job_listings ul.job_listings li.job_listing.mmo-job-card .location { grid-column: 2; }
	.job_listings ul.job_listings li.job_listing.mmo-job-card ul.meta { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; text-align: left; }
	.job_filters .search_jobs { grid-template-columns: 1fr; grid-template-areas: "keywords" "location" "remote" "nivel" "submit"; }
	.job_filters .search_submit input { width: 100%; }
}

.job-card__logo-wrap { position:relative; display:grid; width:54px; height:48px; }
.job-card__logo-wrap .company_logo { width:54px; height:48px; }
.job-card__logo-wrap .job-card__logo--fallback { position:absolute; inset:0; background:#eaf7fc; color:#006bbf; font-weight:800; }
.job-card__logo-wrap img[hidden] + .job-card__logo--fallback[hidden] { display:none; }
.job_listings ul.job_listings li.job_listing.mmo-job-card .job-card__logo-wrap img[hidden] + .job-card__logo--fallback[hidden] { display:none; }
