/* Marketplace typography: section, card title, body, small body, label, caption. */
:root{--jfm-market-section:700 1.35rem/1.3 var(--jfm-font);--jfm-market-title:700 .95rem/1.35 var(--jfm-font);--jfm-market-body:500 .9rem/1.5 var(--jfm-font);--jfm-market-small:500 .8rem/1.45 var(--jfm-font);--jfm-market-label:700 .8rem/1.3 var(--jfm-font);--jfm-market-caption:500 .72rem/1.4 var(--jfm-font)}
body.home .site-header{position:relative;top:0}
body.home .jfm-home-app-head{position:static;padding:14px 0;background:#fff}
body.home .jfm-home-feed{background:#fff;padding-top:0}
body.home .jfm-home-row{margin-top:22px}
body.home .jfm-home-row+.jfm-home-row{margin-top:24px}
body.home .jfm-home-row-head{gap:10px;margin-bottom:12px;align-items:center}
body.home .jfm-home-row-head h2{font:var(--jfm-market-section);letter-spacing:-.025em;text-transform:none;color:var(--jfm-ink)}
body.home .jfm-home-row-head>a{font:var(--jfm-market-label);white-space:nowrap}
body.home .jfm-home-live{font:var(--jfm-market-caption);padding:3px 6px;margin-left:7px}
body.home .jfm-home-card-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%;padding:0;overflow:visible}
.jfm-market-card{min-width:0;border:0;background:transparent;box-shadow:none;position:relative}
.jfm-market-photo{position:relative;aspect-ratio:1.4;overflow:hidden;border-radius:13px;background:var(--jfm-service-soft,#f0f3f5)}
.jfm-market-photo>a:first-child{display:block;width:100%;height:100%}
.jfm-market-photo>a>img{display:block;width:100%;height:100%;object-fit:cover}
.jfm-market-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:var(--jfm-accent);font:var(--jfm-market-section)}
.jfm-market-placeholder svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.5}
.jfm-market-badge{position:absolute;left:7px;top:7px;max-width:calc(100% - 44px);padding:3px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;background:#fff;color:var(--jfm-ink);font:var(--jfm-market-caption);pointer-events:none}
.jfm-market-save{position:absolute;right:4px;top:3px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0;border-radius:50%;color:#fff;text-shadow:0 1px 3px #233e4a;background:#0002;font-size:28px;line-height:1}
.jfm-market-save button{border:0;background:transparent;color:inherit;text-shadow:inherit;font:inherit;cursor:pointer;width:100%;height:100%;padding:0}
.jfm-market-save .is-saved{color:#ff6868}
.jfm-market-logo{position:absolute;bottom:7px;left:7px;width:44px;height:44px;padding:4px;border-radius:50%;background:#fff;box-shadow:0 1px 5px #0002;overflow:hidden}
.jfm-market-logo img{display:block;width:100%;height:100%;object-fit:contain}
.jfm-market-info{display:block;padding:8px 0 0;color:var(--jfm-ink)!important}
.jfm-market-info h3{font:var(--jfm-market-title);letter-spacing:-.015em;margin:0 0 3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jfm-market-info p{margin:2px 0 0;font:var(--jfm-market-small);color:var(--jfm-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jfm-market-price{display:block;font:var(--jfm-market-label);color:var(--jfm-accent)}
.jfm-home-ad-slot{margin:22px 0 26px}
.jfm-ad-space{height:90px;border:1px solid var(--jfm-line);border-radius:9px;display:flex;align-items:center;justify-content:center;background:#f7f8f7;color:var(--jfm-muted);font:var(--jfm-market-caption)}
.jfm-home-ad-slot .jfm-ad{margin:0}
.jfm-home-ad-slot .jfm-ad-content{min-height:100px;max-height:140px}
.jfm-home-ad-slot .jfm-ad-copy{padding:12px 16px}
.jfm-home-ad-slot .jfm-ad-copy strong{font:var(--jfm-market-title)}
.jfm-home-ad-slot .jfm-ad-copy p{font:var(--jfm-market-small)}
.jfm-home-ad-slot .jfm-ad-art{max-height:100px}
.jfm-results-layout{max-width:980px;padding-top:24px;padding-bottom:50px}
.jfm-results-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.jfm-results-title>a{font-size:32px;line-height:1;width:28px;text-align:center}
.jfm-results-title h1{font:var(--jfm-market-section);letter-spacing:-.025em;margin:0}
.jfm-compact-filters{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}
.jfm-filter-search{display:flex;flex:1;gap:8px}
.jfm-filter-search input{min-width:0;width:100%;border:1px solid var(--jfm-line);border-radius:9px;padding:11px 13px;font:var(--jfm-market-body)}
.jfm-filter-search button,.jfm-filter-options>button{border:1px solid var(--jfm-line);border-radius:9px;background:#fff;color:var(--jfm-ink);padding:10px 14px;white-space:nowrap;font:var(--jfm-market-label);cursor:pointer}
.jfm-filter-search button[type=submit]{background:var(--jfm-accent);color:var(--jfm-on-accent,#fff);border-color:var(--jfm-accent)}
.jfm-filter-search svg{width:20px;height:20px;display:block}
.jfm-filter-details summary{cursor:pointer;padding:12px 14px;font:var(--jfm-market-label);border:1px solid var(--jfm-line);border-radius:9px;white-space:nowrap}
.jfm-filter-details[open]{flex-basis:100%}
.jfm-compact-filters:has(.jfm-filter-details[open]){flex-wrap:wrap}
.jfm-filter-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 0}
.jfm-filter-options label{display:grid;gap:6px;font:var(--jfm-market-label)}
.jfm-filter-options select{min-width:0;width:100%;padding:10px;border:1px solid var(--jfm-line);border-radius:8px;background:#fff;font:var(--jfm-market-small)}
.jfm-person-result{position:relative;margin:0;padding:18px 0;border-bottom:1px solid var(--jfm-line)}
.jfm-person-result-main{display:grid;grid-template-columns:115px minmax(0,1fr);gap:24px;padding-right:42px;align-items:center;color:var(--jfm-ink)!important}
.jfm-person-portrait{width:115px;aspect-ratio:3/4;border-radius:50%;overflow:hidden;background:var(--jfm-service-soft,#eff3f6)}
.jfm-person-portrait img{width:100%;height:100%;object-fit:cover;display:block}
.jfm-person-portrait>span{display:flex;height:100%;align-items:center;justify-content:center;font:var(--jfm-market-section);color:var(--jfm-accent)}
.jfm-person-result-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.jfm-person-result-heading h3{margin:0;font:var(--jfm-market-section);letter-spacing:-.02em}
.jfm-person-result-heading>span{font:var(--jfm-market-caption);border:1px solid var(--jfm-line);border-radius:20px;padding:3px 9px}
.jfm-person-result-info p{margin:5px 0 0;color:var(--jfm-muted);font:var(--jfm-market-body)}
.jfm-person-result-info .jfm-person-result-role{color:var(--jfm-ink)}
.jfm-person-save{position:absolute;top:24px;right:0;margin:0;color:var(--jfm-ink);font-size:32px;line-height:1}
.jfm-person-save button{border:0;padding:2px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.jfm-person-save .is-saved{color:var(--jfm-accent)}
.jfm-post-choice{max-width:620px;padding-top:36px;padding-bottom:50px}
.jfm-post-choice h1{font:var(--jfm-market-section);margin:0 0 22px}
.jfm-post-choice-list{display:grid;gap:12px}
.jfm-post-choice-list a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 20px;border:1px solid var(--jfm-line);border-radius:12px;background:#fff;color:var(--jfm-ink);font:var(--jfm-market-label)}
.jfm-post-choice-list a:hover,.jfm-post-choice-list a:focus-visible{border-color:var(--jfm-accent);background:var(--jfm-service-soft)}
.jfm-post-choice-list [data-choice=job]{background:var(--jfm-accent);color:var(--jfm-on-accent,#fff)}
.jfm-change-listing-type{display:inline-block;margin-bottom:18px;font:var(--jfm-market-label)}
@media(max-width:680px){
:root{--jfm-market-section:700 1.04rem/1.3 var(--jfm-font);--jfm-market-title:700 .74rem/1.32 var(--jfm-font);--jfm-market-body:500 .85rem/1.45 var(--jfm-font);--jfm-market-small:500 .66rem/1.4 var(--jfm-font);--jfm-market-label:700 .7rem/1.3 var(--jfm-font);--jfm-market-caption:500 .6rem/1.35 var(--jfm-font)}
body .site-header,body.admin-bar .site-header{position:relative;top:0}
body .header-inner{min-height:52px;height:auto;padding-top:8px;padding-bottom:8px;gap:12px}
body .site-brand-word{font-size:1.45rem;line-height:1.2}
body .header-actions{gap:12px}
body.home .jfm-home-app-head{padding:5px 0 9px}
body.home .jfm-app-service-switch{gap:8px;margin-bottom:8px}
body.home .jfm-app-service-switch button{height:37px;min-height:37px;padding:7px 12px;font:var(--jfm-market-label)}
body.home .jfm-home-tools form{gap:7px}
body.home .jfm-home-tools input{font:var(--jfm-market-small)}
body.home .jfm-home-tools button{min-height:34px;height:34px;padding:6px 10px;font:var(--jfm-market-label)}
body.home .jfm-home-location-input{min-height:34px;padding:5px 9px}
body.home .jfm-home-row{margin-top:12px}
body.home .jfm-home-row+.jfm-home-row{margin-top:18px}
body.home .jfm-home-row-head{margin-bottom:9px;gap:5px}
body.home .jfm-home-card-rail{gap:9px;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}
body.home .jfm-home-live{margin-left:5px;padding:1px 4px}
.jfm-market-photo{aspect-ratio:1.18;border-radius:8px}
.jfm-market-badge{left:4px;top:4px;padding:2px 4px;max-width:calc(100% - 27px)}
.jfm-market-save{right:1px;top:1px;width:27px;height:27px;font-size:24px}
.jfm-market-logo{width:29px;height:29px;left:5px;bottom:5px;padding:3px}
.jfm-market-info{padding-top:6px}
.jfm-market-info h3{margin-bottom:2px;min-height:1.32em}
.jfm-home-ad-slot{margin:17px 0 19px}
.jfm-ad-space{height:68px}
.jfm-home-ad-slot .jfm-ad-content{min-height:74px;max-height:90px}
.jfm-home-ad-slot .jfm-ad-copy{padding:8px 12px}
.jfm-home-ad-slot .jfm-ad-copy small,.jfm-home-ad-slot .jfm-ad-copy p{display:none}
.jfm-home-ad-slot .jfm-ad-art{height:74px;min-height:0}
.jfm-home-ad-slot .jfm-ad-label{top:5px;left:9px}
.jfm-results-layout{padding-top:16px}
.jfm-results-title{gap:7px;margin-bottom:13px}
.jfm-compact-filters{gap:8px;flex-wrap:wrap;margin-bottom:12px}
.jfm-filter-search{width:100%;flex-basis:100%;gap:6px}
.jfm-filter-search input{padding:10px;font:var(--jfm-market-body)}
.jfm-filter-search button{padding:9px 11px}
.jfm-filter-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.jfm-filter-options label:nth-of-type(3){grid-column:1 / -1}
.jfm-person-result{padding:15px 0}
.jfm-person-result-main{grid-template-columns:88px minmax(0,1fr);gap:15px;padding-right:29px}
.jfm-person-portrait{width:88px}
.jfm-person-result-heading{gap:6px}
.jfm-person-result-heading>span{padding:2px 7px}
.jfm-person-result-info p{margin-top:4px}
.jfm-person-save{font-size:28px;top:18px}
.jfm-post-choice{padding-top:25px}
.jfm-post-choice-list a{padding:22px 18px;font:var(--jfm-market-body)}
body .mobile-nav{min-height:60px;padding:7px 10px calc(7px + env(safe-area-inset-bottom));gap:4px}
body .mobile-nav a{font-size:.66rem;gap:4px}
body .mobile-nav .mobile-nav-post{width:44px;height:44px;min-height:44px;margin-top:0}
body .mobile-nav svg{width:23px;height:23px}
}
.jfm-listing-builder .jfm-type-picker{display:none}
.jfm-selected-listing-type{font:var(--jfm-market-section);margin:0 0 12px;letter-spacing:-.02em}
body.home .jfm-home-feed .jfm-home-ad-slot .jfm-ad{margin:0}
body.home .jfm-home-feed .jfm-home-ad-slot .jfm-ad-content{min-height:100px;max-height:140px}
body.home .jfm-home-feed .jfm-home-ad-slot .jfm-ad-content.has-video{max-height:none}
@media(max-width:680px){body.home .jfm-home-feed .jfm-home-ad-slot .jfm-ad-content{min-height:74px;max-height:90px}body.home .jfm-home-feed .jfm-home-ad-slot .jfm-ad-art{height:74px;min-height:0}.jfm-market-photo{aspect-ratio:1.25}}
.jfm-listing-ad-space{margin:18px 0}
@media(min-width:681px){body.home .jfm-app-service-switch button{min-height:50px;height:50px;padding-block:10px}.jfm-market-photo{max-height:200px}}
@media(min-width:681px) and (max-width:900px){body .mobile-nav{min-height:60px;padding:7px 10px calc(7px + env(safe-area-inset-bottom))}body .mobile-nav .mobile-nav-post{width:44px;height:44px;min-height:44px;border-radius:50%;justify-self:center;margin:0}body .mobile-nav svg{width:23px;height:23px}}

/* Home: uninterrupted sections and location action beside the brand. */
body.home .site-header,body.home .jfm-home-app-head,body.home .jfm-home-collection,body.home .jfm-home-how,body.home .jfm-home-how .jfm-wrap>div,body.home .site-footer,body.home .footer-bottom,body.home .jfm-home-empty,body.home .jfm-ad-space,body.home .mobile-nav{border:0;box-shadow:none}
body.home #jfm-nearby-status:not([hidden]){position:absolute;top:100%;right:16px;max-width:min(340px,calc(100vw - 32px));padding:12px 16px;border-radius:8px;background:var(--jfm-ink);color:#fff;font:var(--jfm-market-small);z-index:60}
@media(max-width:680px){body.home .header-inner{gap:8px}body.home .header-actions{gap:2px}body.home .jfm-app-service-switch{margin-bottom:0}}
@media(max-width:380px){body.home .site-brand-word{font-size:1.2rem}body.home .header-actions .header-icon{width:34px}}

body.home .header-inner{display:flex;align-items:center}
body.home .header-inner>.site-brand,body.home .header-actions{flex-shrink:0}body.home .header-actions{margin-left:auto}

@media(min-width:681px){body.home .header-inner{gap:24px}}

/* Two full Home cards with a third-card cue; light photographic controls and listing context. */
.jfm-market-save{background:transparent;text-shadow:0 1px 4px rgba(0,0,0,.62)}
.jfm-market-event{position:absolute;right:7px;bottom:7px;z-index:2;border-radius:5px;background:var(--jfm-accent);color:var(--jfm-on-accent,#fff);padding:4px 6px;font:var(--jfm-market-caption);text-transform:uppercase;letter-spacing:.03em}
.jfm-market-meta{color:var(--jfm-muted);font:var(--jfm-market-caption)!important}
.jfm-market-languages{overflow:hidden;color:var(--jfm-accent);font:700 .64rem/1.3 var(--jfm-font);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis}
@media(max-width:680px){body.home .jfm-home-card-rail{display:flex;gap:10px;width:calc(100% + 14px);overflow-x:auto;padding:0 14px 5px 0;scroll-snap-type:x mandatory;scrollbar-width:none}body.home .jfm-market-card{flex:0 0 43vw;scroll-snap-align:start}.jfm-market-event{right:4px;bottom:4px;max-width:calc(100% - 8px);overflow:hidden;padding:3px 4px;white-space:nowrap;text-overflow:ellipsis}.jfm-market-meta{font-size:.55rem!important}}

/* Keep the mobile navigation as one compact edge-to-edge dock on every page. */
@media(max-width:900px){html body .mobile-nav{right:0;bottom:0;left:0;min-height:64px;padding:4px 8px max(4px,env(safe-area-inset-bottom));gap:0;border-width:1px 0 0;border-radius:0;background:rgba(252,253,249,.98);box-shadow:0 -6px 20px rgba(20,33,27,.08);backdrop-filter:blur(16px)}html body .mobile-nav a{grid-template-rows:22px 13px;min-width:0;min-height:60px;align-content:center;justify-items:center;row-gap:4px;font-size:.6rem;line-height:1}html body .mobile-nav svg{width:21px;height:21px;margin:0}html body .mobile-nav a.mobile-nav-post,html body.home .mobile-nav a.mobile-nav-post{grid-template-rows:1fr;width:48px;height:48px;min-height:48px;align-self:center;justify-self:center;border-radius:50%;background:var(--jfm-accent);color:var(--jfm-on-accent,#fff);transform:translateY(-5px)}html body .site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}
@media(max-width:900px){html body.home .mobile-nav{min-height:64px;padding:4px 8px max(4px,env(safe-area-inset-bottom));border-width:1px 0 0;box-shadow:0 -6px 20px rgba(20,33,27,.08)}html body.home .mobile-nav a:not(.mobile-nav-post){min-height:60px}}

/* 1.7.1 marketplace typography refinement: intermediate sizing, lighter weights, clean calm contrast. */
:root{--jfm-market-section:600 clamp(1.15rem,1.8vw,1.32rem)/1.25 var(--jfm-font);--jfm-market-title:500 .94rem/1.32 var(--jfm-font);--jfm-market-body:400 .88rem/1.5 var(--jfm-font);--jfm-market-small:400 .78rem/1.4 var(--jfm-font);--jfm-market-label:600 .78rem/1.3 var(--jfm-font);--jfm-market-caption:500 .68rem/1.35 var(--jfm-font)}
body.home .jfm-home-row{margin-top:24px}
body.home .jfm-home-row+.jfm-home-row{margin-top:22px}
body.home .jfm-home-row-head{margin-bottom:14px;align-items:center}
body.home .jfm-home-row-head h2{font:var(--jfm-market-section)!important;font-weight:600!important;font-size:clamp(1.15rem,1.8vw,1.32rem)!important;letter-spacing:-.02em!important;color:var(--jfm-ink)!important}
body.home .jfm-home-row-head>a,.jfm-home-panel[data-jfm-panel] .jfm-home-row-head>a{color:#64748b!important;font-size:.8rem!important;font-weight:500!important;letter-spacing:0!important;white-space:nowrap;text-decoration:none!important;transition:color .15s ease}
body.home .jfm-home-row-head>a:hover,.jfm-home-panel[data-jfm-panel] .jfm-home-row-head>a:hover{color:#1e293b!important}
body.home .jfm-home-row-head>a span{color:inherit!important;font-size:1.15rem!important;font-weight:400!important;line-height:1;margin-left:2px}
.jfm-home-collection--repeat{margin-top:38px!important;padding-top:20px!important;border-top:1px solid var(--jfm-line)!important}
.jfm-market-photo{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:visible;aspect-ratio:1.36;border-radius:15px}.jfm-market-photo>a:first-child{display:block!important;width:100%!important;height:100%!important;overflow:hidden;border-radius:inherit}.jfm-market-card[data-listing-type=worker] .jfm-market-photo,.jfm-market-card[data-listing-type=room-seeker] .jfm-market-photo{aspect-ratio:4/5}
.jfm-market-badge{position:absolute!important;top:auto!important;bottom:8px!important;left:8px!important;right:auto!important;max-width:calc(100% - 16px)!important;padding:3px 7px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;border-radius:5px!important;background:rgba(255,255,255,.95)!important;color:var(--jfm-ink,#14211b)!important;font-size:.62rem!important;font-weight:600!important;line-height:1.2!important;letter-spacing:.02em!important;box-shadow:0 1px 4px rgba(20,33,27,.12)!important;backdrop-filter:blur(4px)!important;pointer-events:none!important;z-index:2!important}
.jfm-market-event{position:absolute!important;bottom:7px!important;left:7px!important;top:auto!important;right:auto!important;display:inline-flex!important;align-items:center!important;gap:4px!important;white-space:nowrap!important;max-width:calc(100% - 14px)!important;overflow:hidden!important;text-overflow:ellipsis!important;padding:2.5px 6px!important;border-radius:5px!important;background:rgba(255,255,255,.96)!important;color:var(--jfm-accent)!important;box-shadow:0 1px 5px rgba(20,33,27,.12)!important;z-index:2!important;pointer-events:none!important;font-size:.58rem!important;line-height:1.2!important}.jfm-market-event strong{font-weight:700!important;font-size:inherit!important;text-transform:uppercase!important;letter-spacing:.02em!important}.jfm-market-event small{font-weight:500!important;font-size:inherit!important;color:var(--jfm-ink)!important}.jfm-market-photo--has-logo .jfm-market-event{left:56px!important;bottom:7px!important;max-width:calc(100% - 62px)!important}
.jfm-market-logo{position:absolute!important;bottom:8px!important;left:8px!important;top:auto!important;width:44px!important;height:44px!important;padding:0!important;border-radius:50%!important;border:2px solid #fff!important;box-shadow:0 2px 8px rgba(20,33,27,.18)!important;overflow:hidden!important;z-index:3!important;background:#fff!important}.jfm-market-logo img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important;display:block!important}
.jfm-market-info{padding-top:8px!important}.jfm-market-info h3{font:var(--jfm-market-title)!important;font-size:.92rem!important;font-weight:500!important;line-height:1.3!important;letter-spacing:-.015em!important;margin:0 0 3px!important;color:var(--jfm-ink)!important}.jfm-market-info p,.jfm-market-location,.jfm-market-time{font:var(--jfm-market-small)!important;font-size:.78rem!important;font-weight:400!important;line-height:1.38!important;color:var(--jfm-muted,#65706a)!important;margin:2px 0 0!important}.jfm-market-price{font-size:.88rem!important;font-weight:600!important;color:var(--jfm-accent)!important;margin-top:3px!important}.jfm-market-languages{font-size:.70rem!important;font-weight:500!important;letter-spacing:.01em!important;margin-top:3px!important}.jfm-market-meta{display:none}
.jfm-results-feed{--jfm-row-accent:#1559d6}.jfm-result-card,.jfm-person-result{position:relative;border:0;border-bottom:1px solid #e4e7e5;border-radius:0;background:#fff;box-shadow:none;padding:19px 0}.jfm-result-card[data-service=flatmates]{--jfm-row-accent:#d24843}
.jfm-result-card .jfm-card-main,.jfm-person-result-main{display:grid;grid-template-columns:154px minmax(0,1fr);gap:21px;color:var(--jfm-ink)!important;padding:0}.jfm-result-media,.jfm-person-portrait{position:relative;width:154px;aspect-ratio:4/3;overflow:hidden;border-radius:13px;background:#f0f2f1}.jfm-result-media>img,.jfm-person-portrait img{width:100%;height:100%;object-fit:cover}.jfm-result-logo{display:grid;place-items:center;background:#f6f7f7}.jfm-result-logo>img{width:74%;height:74%;object-fit:contain}.jfm-result-placeholder{display:grid;width:100%;height:100%;place-items:center;color:var(--jfm-row-accent)}.jfm-result-placeholder svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.5}
.jfm-result-event{position:absolute!important;bottom:7px!important;left:7px!important;right:auto!important;top:auto!important;display:inline-flex!important;align-items:center!important;gap:4px!important;white-space:nowrap!important;max-width:calc(100% - 14px)!important;overflow:hidden!important;text-overflow:ellipsis!important;padding:2.5px 6px!important;border-radius:5px!important;background:rgba(255,255,255,.96)!important;color:var(--jfm-accent)!important;box-shadow:0 1px 5px rgba(20,33,27,.12)!important;z-index:2!important;pointer-events:none!important;font-size:.58rem!important;line-height:1.2!important}.jfm-result-event strong{font-weight:700!important;font-size:inherit!important;text-transform:uppercase!important;letter-spacing:.02em!important;color:inherit!important}.jfm-result-event small{font-weight:500!important;font-size:inherit!important;color:var(--jfm-ink)!important}.jfm-result-event .jfm-event-cal-icon{display:none!important}.jfm-result-media--has-logo .jfm-result-event{left:56px!important;bottom:7px!important;max-width:calc(100% - 62px)!important}
.jfm-result-info{position:relative;min-width:0;padding-right:100px}.jfm-result-info h3,.jfm-person-result-heading h3{margin:0 0 3px;font-size:1.05rem;line-height:1.25;letter-spacing:-.025em;font-weight:600}.jfm-result-business,.jfm-result-location,.jfm-result-time,.jfm-person-result-info p{margin:3px 0;color:var(--jfm-muted);font:var(--jfm-market-small);font-weight:400}.jfm-result-business{color:var(--jfm-ink);font-weight:550}.jfm-result-price,.jfm-person-budget{display:block;margin-top:6px;color:var(--jfm-row-accent);font-size:.95rem;font-weight:650}.jfm-card-meta,.jfm-person-result .jfm-market-meta{display:block;position:absolute;right:0;bottom:0;color:var(--jfm-faint);font:var(--jfm-market-caption)}
.jfm-result-save,.jfm-person-save{position:absolute;z-index:2;top:15px;right:0;color:#68716d;font-size:1.8rem;line-height:1}.jfm-result-save button,.jfm-person-save button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.jfm-result-save .is-saved,.jfm-person-save .is-saved{color:#ee5a57}
.jfm-result-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.jfm-result-pills span{border-radius:5px;background:#f0f2f1;color:#4d5853;padding:3px 6px;font-size:.68rem;font-weight:500}.jfm-language-pills span{background:#edf3ff;color:#154cae}
.jfm-person-result-main{grid-template-columns:128px minmax(0,1fr)}.jfm-person-portrait{width:128px;aspect-ratio:4/5;border-radius:18px}.jfm-person-portrait>span{display:grid;width:100%;height:100%;place-items:center;background:#e8eef8;color:#1559d6;font-size:2rem;font-weight:600}.jfm-person-result-info{position:relative;min-width:0;padding-right:100px;padding-bottom:24px}.jfm-person-result-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.jfm-person-result-heading h3{font-size:1.15rem;font-weight:600}.jfm-person-result-heading span{border-radius:5px;background:#edf3ff;color:#1559d6;padding:4px 7px;font-size:.68rem;font-weight:600}.jfm-person-result-role{color:var(--jfm-ink)!important;font-weight:600!important}.jfm-person-visa{color:#59635e!important}.jfm-person-budget{margin-top:5px}
.site-footer .site-brand,.site-footer .site-brand-word,.site-footer .site-brand-word>span,.site-footer .site-brand-mark{color:#fff!important}.site-footer .site-brand-mark{border:1px solid rgba(255,255,255,.8);background:transparent}.site-footer .custom-logo{filter:brightness(0) invert(1)}.footer-grid{grid-template-columns:minmax(240px,1.45fr) repeat(4,minmax(110px,.65fr));gap:34px}.footer-intro p{max-width:350px}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr 1fr}.footer-intro{grid-column:1/-1}.jfm-result-info,.jfm-person-result-info{padding-right:60px}}
@media(max-width:680px){body.home .jfm-home-row{margin-top:18px!important}body.home .jfm-home-row+.jfm-home-row{margin-top:18px!important}body.home .jfm-home-row-head{margin-bottom:9px!important}body.home .jfm-home-row-head h2{font-size:1.05rem!important}.jfm-home-card-rail{width:calc(100vw - 14px)}body.home .jfm-market-card{flex-basis:43vw!important}.jfm-home-card-rail--people .jfm-market-card{flex-basis:43vw!important}.jfm-market-photo{aspect-ratio:1.28}.jfm-market-card[data-listing-type=worker] .jfm-market-photo,.jfm-market-card[data-listing-type=room-seeker] .jfm-market-photo{aspect-ratio:4/5}.jfm-market-info h3{font-size:.85rem!important}.jfm-market-info p,.jfm-market-location{font-size:.72rem!important}.jfm-market-languages{font-size:.65rem!important}.jfm-market-price{font-size:.82rem!important}.jfm-market-badge{bottom:6px!important;left:6px!important;padding:2px 6px!important;font-size:.58rem!important}.jfm-result-card,.jfm-person-result{padding:13px 0}.jfm-result-card .jfm-card-main,.jfm-person-result-main{grid-template-columns:106px minmax(0,1fr);gap:12px}.jfm-result-media{width:106px;aspect-ratio:4/3;border-radius:10px}.jfm-person-portrait{width:106px;aspect-ratio:4/5;border-radius:14px}.jfm-result-info,.jfm-person-result-info{padding-right:35px;padding-bottom:21px}.jfm-result-info h3,.jfm-person-result-heading h3{font-size:.92rem!important;font-weight:600!important}.jfm-result-business,.jfm-result-location,.jfm-result-time,.jfm-person-result-info p{font-size:.70rem;line-height:1.35}.jfm-result-price,.jfm-person-budget{font-size:.88rem;font-weight:600}.jfm-result-pills{gap:3px;margin-top:5px}.jfm-result-pills span{padding:2px 5px;font-size:.58rem}.jfm-card-meta,.jfm-person-result .jfm-market-meta{right:0;font-size:.58rem}.jfm-result-save,.jfm-person-save{top:9px;font-size:1.55rem}.jfm-result-event{bottom:5px!important;left:5px!important;right:auto!important;max-width:calc(100% - 10px)!important;padding:2px 5px!important;gap:3px!important;font-size:.52rem!important;letter-spacing:-.01em!important;border-radius:4px!important}.jfm-result-event strong{font-size:.52rem!important;font-weight:700!important}.jfm-result-event small{font-size:.52rem!important;font-weight:500!important;display:inline!important}.jfm-result-event .jfm-event-cal-icon{display:none!important}.jfm-person-result-heading span{padding:3px 5px;font-size:.58rem}.jfm-market-photo--has-logo .jfm-market-logo,.jfm-result-media--has-logo .jfm-market-logo{width:36px!important;height:36px!important;bottom:6px!important;left:6px!important}.jfm-market-photo--has-logo .jfm-market-event{left:46px!important;bottom:6px!important;max-width:calc(100% - 50px)!important;font-size:.50rem!important}.jfm-result-media--has-logo .jfm-result-event{display:inline-flex!important;flex-direction:column!important;align-items:flex-start!important;gap:1px!important;left:46px!important;bottom:5px!important;max-width:calc(100% - 50px)!important;padding:2px 5px!important;font-size:.48rem!important;line-height:1.15!important;border-radius:4px!important}.jfm-result-media--has-logo .jfm-result-event strong{font-size:.48rem!important;line-height:1.15!important}.jfm-result-media--has-logo .jfm-result-event small{font-size:.46rem!important;line-height:1.15!important;white-space:nowrap!important}.jfm-market-event{bottom:5px!important;left:5px!important;max-width:calc(100% - 10px)!important;padding:2px 5px!important;gap:3px!important;font-size:.52rem!important;letter-spacing:-.01em!important;border-radius:4px!important}.jfm-market-event strong{font-size:.52rem!important;font-weight:700!important}.jfm-market-event small{font-size:.52rem!important;font-weight:500!important}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 22px}.footer-intro{grid-column:1/-1}.jfm-home-collection--repeat{margin-top:28px!important;padding-top:16px!important}}

/* 1.7.1 Revision 2: Section badges matching JobFlatmate ongoing tone with distinct blues and perfect alignment */
.jfm-title-pill {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	vertical-align: middle !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
	padding: 4px 11px !important;
	border-radius: 999px !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	color: #fff !important;
	text-transform: uppercase !important;
	margin-right: 8px !important;
}
.jfm-pill-jobs { background: #1d4ed8 !important; }
.jfm-pill-seekers { background: #0284c7 !important; }
.jfm-pill-rooms { background: #d88f84 !important; }
.jfm-pill-flatmates { background: #a86760 !important; }

@media (max-width: 680px) {
	.jfm-title-pill {
		padding: 3px 9px !important;
		font-size: 0.60rem !important;
		margin-right: 6px !important;
	}
}

/* Archive search bar in JobFlatmate tone */
.jfm-results-nav {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}
.jfm-results-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	font-size: 26px;
	font-weight: 300;
	line-height: 1;
	color: var(--jfm-ink, #14211b);
	text-decoration: none !important;
	border-radius: 50%;
	transition: background 0.15s ease;
	flex-shrink: 0;
}
.jfm-results-back:hover {
	background: #f1f5f9;
}
.jfm-search-pill {
	display: flex;
	align-items: center;
	flex: 1;
	min-width: 0;
	height: 48px;
	padding: 0 16px;
	background: #fff;
	border: 1.5px solid var(--jfm-line, #dfe5e1);
	border-radius: 12px;
	box-shadow: 0 1px 3px rgba(20, 33, 27, 0.04);
	cursor: pointer;
	user-select: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.jfm-search-pill:hover,
.jfm-search-pill:focus-visible {
	border-color: var(--jfm-ink, #14211b);
	box-shadow: 0 2px 8px rgba(20, 33, 27, 0.08);
}
.jfm-search-pill-glass {
	font-size: 1.05rem;
	color: var(--jfm-ink, #14211b);
	margin-right: 10px;
	line-height: 1;
	flex-shrink: 0;
}
.jfm-search-pill-label {
	flex: 1;
	font-size: 0.94rem;
	font-weight: 650;
	color: var(--jfm-ink, #14211b);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.jfm-search-pill-clear {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	font-size: 13px;
	color: #64748b;
	text-decoration: none !important;
	border-radius: 50%;
	transition: background 0.15s, color 0.15s;
	margin-left: 8px;
	flex-shrink: 0;
}
.jfm-search-pill-clear:hover {
	background: #e2e8f0;
	color: var(--jfm-ink, #14211b);
}
.jfm-filter-drawer {
	border: 1px solid var(--jfm-line, #dfe5e1);
	border-radius: 14px;
	background: #fff;
	margin-bottom: 20px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(20, 33, 27, 0.06);
}
.jfm-filter-drawer[open] {
	animation: jfmFadeIn 0.2s ease-out;
}
.jfm-filter-drawer .jfm-compact-filters {
	padding: 16px;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.jfm-filter-drawer .jfm-filter-search {
	width: 100%;
}
.jfm-filter-drawer .jfm-filter-options {
	width: 100%;
	padding: 0;
	gap: 12px;
}
.jfm-filter-drawer .jfm-filter-submit {
	grid-column: 1 / -1;
	background: var(--jfm-accent, #126f57);
	color: #fff;
	border: 1px solid var(--jfm-accent, #126f57);
	border-radius: 9px;
	padding: 11px 16px;
	font: var(--jfm-market-label);
	font-weight: 700;
	cursor: pointer;
	text-align: center;
	transition: background 0.15s ease;
}
.jfm-filter-drawer .jfm-filter-submit:hover {
	background: var(--jfm-accent-dark, #0c5442);
	border-color: var(--jfm-accent-dark, #0c5442);
}
/* Listing Type Quick Tabs (Job, Job Seekers, Room, Flatmate) */
.jfm-archive-type-tabs {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 3px;
	scrollbar-width: none;
}
.jfm-archive-type-tabs::-webkit-scrollbar {
	display: none;
}
.jfm-archive-tab-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 42px;
	padding: 0 18px;
	background: #ffffff;
	border: 1.5px solid var(--jfm-line, #dfe5e1);
	border-radius: 999px;
	color: var(--jfm-ink, #14211b) !important;
	font-size: 0.88rem;
	font-weight: 650;
	text-decoration: none !important;
	white-space: nowrap;
	flex-shrink: 0;
	transition: all 0.15s ease;
	user-select: none;
}
.jfm-archive-tab-btn .jfm-tab-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	color: inherit;
	flex-shrink: 0;
}
.jfm-archive-tab-btn .jfm-tab-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}
.jfm-archive-tab-btn:hover {
	border-color: var(--jfm-ink, #14211b);
	background: #f8fafc;
}
/* Active Tab: Brand Tone */
.jfm-archive-tab-btn.is-active {
	color: #ffffff !important;
	border-color: transparent;
	box-shadow: 0 2px 6px rgba(20, 33, 27, 0.12);
}
.jfm-archive-tab-btn.is-active.is-service-jobs {
	background: #7185a6; /* Theme Jobs tone */
	border-color: #7185a6;
}
.jfm-archive-tab-btn.is-active.is-service-flatmates {
	background: #d88f84; /* Theme Flatmates tone */
	border-color: #d88f84;
}
.jfm-archive-tab-btn.is-active:hover {
	opacity: 0.94;
}

@media (max-width: 680px) {
	.jfm-archive-type-tabs {
		gap: 8px;
		margin-bottom: 12px;
	}
	.jfm-archive-tab-btn {
		height: 38px;
		padding: 0 14px;
		font-size: 0.82rem;
		gap: 6px;
	}
	.jfm-archive-tab-btn .jfm-tab-icon {
		width: 16px;
		height: 16px;
	}
}

/* Results header clean-up (No border line, no extra margin) */
.jfm-results-head {
	display: flex;
	align-items: center;
	border: 0 !important;
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 8px;
	min-height: auto;
}
.jfm-results-head span {
	font-size: 0.88rem;
	color: var(--jfm-muted, #65706a);
	font-weight: 500;
	letter-spacing: -0.01em;
}

/* Load More & Infinite Scroll */
.jfm-load-more-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 32px 0 24px;
	margin-top: 10px;
}
.jfm-load-more-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 220px;
	height: 48px;
	padding: 0 28px;
	background: #ffffff;
	border: 1.5px solid var(--jfm-line, #dfe5e1);
	border-radius: 999px;
	color: var(--jfm-ink, #14211b) !important;
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	text-decoration: none !important;
	box-shadow: 0 2px 8px rgba(20, 33, 27, 0.05);
	transition: all 0.2s ease;
	cursor: pointer;
	user-select: none;
}
.jfm-load-more-btn:hover {
	border-color: var(--jfm-ink, #14211b);
	background: #f8fafc;
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(20, 33, 27, 0.08);
}
.jfm-load-more-spinner {
	display: none;
	width: 18px;
	height: 18px;
	border: 2.5px solid #cbd5e1;
	border-top-color: var(--jfm-ink, #14211b);
	border-radius: 50%;
	animation: jfmSpin 0.75s linear infinite;
}
.jfm-load-more-wrap.is-loading .jfm-load-more-text {
	opacity: 0.75;
}
.jfm-load-more-wrap.is-loading .jfm-load-more-spinner {
	display: inline-block;
}
.jfm-all-loaded {
	font-size: 0.88rem;
	color: var(--jfm-muted, #65706a);
	font-weight: 600;
	padding: 12px 20px;
}

@keyframes jfmSpin {
	to { transform: rotate(360deg); }
}

@media (max-width: 680px) {
	.jfm-load-more-wrap {
		padding: 24px 0 16px;
	}
	.jfm-load-more-btn {
		width: 100%;
		max-width: 320px;
		height: 44px;
		font-size: 0.88rem;
	}
}

/* 30-50% larger company/job logo in listing rows */
.jfm-result-logo {
	display: grid;
	place-items: center;
	background: #fff;
	border: 1px solid var(--jfm-line, #dfe5e1);
	padding: 4px;
}
.jfm-result-logo > img {
	width: 94% !important;
	height: 94% !important;
	max-width: 94% !important;
	max-height: 94% !important;
	object-fit: contain !important;
}

/* Industry Illustration Placeholders */
.jfm-industry-card {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: inherit;
	overflow: hidden;
	position: relative;
	user-select: none;
}
.jfm-industry-card .jfm-industry-svg {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}
.jfm-market-photo .jfm-industry-card {
	border-radius: inherit;
}
.jfm-result-media.jfm-result-illustration {
	background: transparent;
	border: 1px solid var(--jfm-line, #dfe5e1);
	border-radius: 14px;
	overflow: hidden;
	padding: 0 !important;
}
.jfm-result-media.jfm-result-illustration .jfm-industry-card {
	width: 100%;
	height: 100%;
	border-radius: inherit;
}

/* Job listing cards: 1:1 square media box and full-bleed logo */
.jfm-result-card[data-listing-type=job] .jfm-card-main {
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 18px;
}
.jfm-result-card[data-listing-type=job] .jfm-result-media {
	width: 140px;
	aspect-ratio: 1/1;
	border-radius: 14px;
	background: #ffffff;
}
.jfm-result-logo {
	display: block !important;
	position: relative;
	width: 100%;
	height: 100%;
	background: #ffffff !important;
	border-radius: inherit;
	overflow: hidden;
}
.jfm-result-logo > img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: inherit;
}

/* Room listing cards: large photo box */
.jfm-result-card[data-listing-type=room] .jfm-card-main,
.jfm-result-card[data-service=flatmates] .jfm-card-main {
	grid-template-columns: 165px minmax(0, 1fr);
	gap: 20px;
}
.jfm-result-card[data-listing-type=room] .jfm-result-media,
.jfm-result-card[data-service=flatmates] .jfm-result-media {
	width: 165px;
	aspect-ratio: 1/1;
	border-radius: 14px;
	overflow: hidden;
}
.jfm-result-card[data-listing-type=room] .jfm-result-media > img,
.jfm-result-card[data-service=flatmates] .jfm-result-media > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: inherit;
}

/* Open Inspection / Event badge on archive cards */
.jfm-result-event {
	position: absolute !important;
	bottom: 7px !important;
	left: 7px !important;
	right: auto !important;
	top: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	white-space: nowrap !important;
	max-width: calc(100% - 14px) !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	padding: 2.5px 6px !important;
	border-radius: 5px !important;
	background: rgba(255, 255, 255, 0.96) !important;
	color: var(--jfm-accent) !important;
	box-shadow: 0 1px 5px rgba(20, 33, 27, 0.12) !important;
	z-index: 2 !important;
	pointer-events: none !important;
	font-size: 0.58rem !important;
	line-height: 1.2 !important;
}
.jfm-result-event .jfm-event-cal-icon {
	display: none !important;
}
.jfm-result-event strong {
	font-weight: 700 !important;
	font-size: inherit !important;
	text-transform: uppercase !important;
	letter-spacing: 0.02em !important;
	color: inherit !important;
}
.jfm-result-event small {
	font-weight: 500 !important;
	font-size: inherit !important;
	color: var(--jfm-ink) !important;
	display: inline !important;
}

/* Date meta display */
.jfm-card-meta,
.jfm-person-result .jfm-market-meta {
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	color: #65706a;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.3;
}

@media (max-width: 680px) {
	.jfm-result-card[data-listing-type=job] .jfm-card-main {
		grid-template-columns: 124px minmax(0, 1fr) !important;
		gap: 13px !important;
	}
	.jfm-result-card[data-listing-type=job] .jfm-result-media {
		width: 124px !important;
		aspect-ratio: 1/1 !important;
		border-radius: 12px !important;
	}

	.jfm-result-card[data-listing-type=room] .jfm-card-main,
	.jfm-result-card[data-service=flatmates] .jfm-card-main {
		grid-template-columns: 144px minmax(0, 1fr) !important;
		gap: 13px !important;
	}
	.jfm-result-card[data-listing-type=room] .jfm-result-media,
	.jfm-result-card[data-service=flatmates] .jfm-result-media {
		width: 144px !important;
		aspect-ratio: 1/1 !important;
		border-radius: 12px !important;
	}

	.jfm-result-info {
		padding-right: 32px;
		padding-bottom: 22px;
	}
	.jfm-card-meta {
		display: block !important;
		right: 0;
		bottom: 0;
		font-size: 0.65rem;
		color: #65706a;
		font-weight: 600;
	}
	.jfm-result-event {
		padding: 2px 5px !important;
		bottom: 5px !important;
		left: 5px !important;
		right: auto !important;
		max-width: calc(100% - 10px) !important;
		gap: 3px !important;
		font-size: 0.52rem !important;
		border-radius: 4px !important;
	}
	.jfm-result-event .jfm-event-cal-icon {
		display: none !important;
	}
	.jfm-result-event strong {
		font-size: 0.52rem !important;
		font-weight: 700 !important;
	}
	.jfm-result-event small {
		font-size: 0.52rem !important;
		font-weight: 500 !important;
		display: inline !important;
	}
}

/* Language badges in JobFlatmate slate tone */
.jfm-language-pills,
.jfm-person-result-info .jfm-language-pills,
.jfm-result-pills.jfm-language-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 6px;
	margin-bottom: 4px;
}
.jfm-language-pills span,
.jfm-result-pills.jfm-language-pills span {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	border-radius: 6px;
	background: #edf0f5;
	color: #526784;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

/* Availability lines in person results */
.jfm-person-avail-line {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	font-size: 0.78rem;
	font-weight: 600;
}
.jfm-person-avail-line.jfm-avail--now {
	background: #edf6f1;
	color: #1e6643;
	padding: 3px 9px;
	border-radius: 6px;
	font-weight: 700;
}
.jfm-person-avail-line.jfm-avail--now .jfm-avail-dot {
	font-size: 0.65rem;
	line-height: 1;
}
.jfm-person-avail-line.jfm-avail--date {
	color: var(--jfm-muted, #65706a);
	font-weight: 500;
}
.jfm-person-avail-line.jfm-avail--date .jfm-avail-cal {
	font-size: 0.85rem;
	line-height: 1;
}

/* Single listing title adjustments */
.jfm-single-title--job {
	font-size: clamp(1.8rem, 3.2vw, 2.6rem) !important;
	line-height: 1.15 !important;
	letter-spacing: -0.03em !important;
	margin: 10px 0 18px !important;
}
.jfm-single-title--room {
	font-size: clamp(1.7rem, 2.8vw, 2.3rem) !important;
	line-height: 1.2 !important;
	letter-spacing: -0.025em !important;
	margin: 12px 0 16px !important;
}
.jfm-single-title--person {
	font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
	line-height: 1.2 !important;
	letter-spacing: -0.025em !important;
	margin: 12px 0 16px !important;
}

/* Role / Job type chips on Job single facts */
.jfm-fact-pill {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 7px;
	background: #edf0f5;
	color: #526784;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.3;
}

/* Room details and Room preferences chips in cohesive brand tone */
.jfm-pills-box {
	margin: 28px 0;
	padding: 0;
	border: 0;
}
.jfm-pills-box h2 {
	font-size: 1.35rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--jfm-ink, #14211b);
	margin: 0 0 16px;
}
.jfm-pref-title {
	font-size: 0.86rem;
	font-weight: 650;
	color: var(--jfm-muted, #65706a);
	margin: 14px 0 8px;
}
.jfm-pills-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
.jfm-pref-columns {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 18px;
	align-items: flex-start;
}
.jfm-pref-col {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.jfm-pref-label {
	font-size: 0.78rem;
	font-weight: 650;
	color: var(--jfm-muted, #65706a);
}
.jfm-fact-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 16px;
	border-radius: 12px;
	font-size: 0.88rem;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.01em;
	background: #f4f6f8;
	color: #525f6e;
	border: 1px solid #e2e6eb;
}
.jfm-fact-chip strong,
.jfm-fact-chip b {
	font-weight: 750;
	color: var(--jfm-ink, #14211b);
}

/* Subtle contextual accents matching Jobs & Flatmates tones */
.jfm-chip-blue {
	background: #edf0f5;
	color: #526784;
	border-color: #dbe2ec;
}
.jfm-single--room .jfm-chip-blue,
.jfm-single--room-seeker .jfm-chip-blue {
	background: #f7ece8;
	color: #783d36;
	border-color: #ebd5cf;
}
.jfm-chip-green {
	background: #f4f6f8;
	color: #525f6e;
	border-color: #e2e6eb;
}
.jfm-chip-amber {
	background: #f4f6f8;
	color: #525f6e;
	border-color: #e2e6eb;
}
.jfm-chip-grey {
	background: #f4f6f8;
	color: #525f6e;
	border-color: #e2e6eb;
}
.jfm-chip-rose {
	background: #f4f6f8;
	color: #525f6e;
	border-color: #e2e6eb;
}
.jfm-chip-purple {
	background: #f4f6f8;
	color: #525f6e;
	border-color: #e2e6eb;
}

/* Room Hero photo height 30% reduction and swipe slider */
.jfm-detail-hero--room {
	min-height: 380px !important;
	max-height: 440px !important;
}
@media (max-width: 680px) {
	.jfm-detail-hero--room {
		min-height: 250px !important;
		max-height: 300px !important;
	}
}
.jfm-detail-slider {
	display: flex;
	width: 100%;
	height: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.jfm-detail-slider::-webkit-scrollbar {
	display: none;
}
.jfm-detail-slider .jfm-slide {
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
	scroll-snap-align: start;
	position: relative;
}
.jfm-detail-slider .jfm-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.jfm-slider-count {
	position: absolute;
	z-index: 5;
	right: 20px;
	bottom: 20px;
	background: rgba(20, 33, 27, 0.72);
	color: #fff;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	backdrop-filter: blur(6px);
	pointer-events: none;
}

/* Inline action panel right after descriptions / details */
.jfm-match-panel--inline {
	position: static !important;
	margin: 28px 0 !important;
	border-radius: 14px;
	border: 1px solid var(--jfm-line, #dfe5e1);
	box-shadow: 0 4px 20px rgba(20, 33, 27, 0.05);
	background: #fff;
	padding: 24px;
}
.jfm-match-panel--inline h2 {
	margin: 0 0 12px;
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}

/* Meta line at bottom of detail pages */
.jfm-detail-meta-line {
	margin-top: 36px;
	padding-top: 16px;
	border-top: 1px solid var(--jfm-line, #dfe5e1);
	color: var(--jfm-faint, #8b948f);
	font-size: 0.8rem;
	font-weight: 500;
}

/* ==========================================================================
   Revision 3: JobFlatmate Polish & Layout Modernization
   ========================================================================== */

/* 1. Equalize card media aspect ratios & fill containers edge-to-edge */
.jfm-result-media,
.jfm-market-photo {
	position: relative !important;
	overflow: hidden !important;
	background: #f1f5f9 !important;
}
.jfm-result-media > img,
.jfm-result-media > a > img,
.jfm-result-media > .jfm-result-placeholder,
.jfm-result-media > .jfm-industry-card,
.jfm-result-media > a > .jfm-industry-card,
.jfm-market-photo > img,
.jfm-market-photo > a > img,
.jfm-market-photo > .jfm-industry-card,
.jfm-market-photo > a > .jfm-industry-card,
.jfm-market-photo .jfm-industry-card {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}
.jfm-industry-card svg {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
}

/* 2. Straight bottom corners on detail hero photos */
.jfm-detail-hero,
.jfm-detail-hero--room,
.jfm-detail-hero-wrap,
.jfm-single--visual .jfm-detail-hero {
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	border-radius: 0 !important;
}
.jfm-single--visual .jfm-single-grid {
	border-radius: 0 !important;
	margin-top: 0 !important;
}

/* 3. Job detail page: 3-row structured facts */
.jfm-job-facts {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 20px 0 28px;
	padding: 0;
}
.jfm-job-fact-line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
}
.jfm-job-fact-line--1 {
	gap: 16px;
	margin-bottom: 2px;
}
.jfm-job-price {
	font-size: 1.45rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	letter-spacing: -0.02em;
}
.jfm-job-loc {
	font-size: 0.98rem;
	color: #64748b;
	font-weight: 400;
}
.jfm-budget-tag {
	font-size: 1.15rem;
	font-weight: 600;
	color: #64748b;
	margin-right: 4px;
}
.jfm-fact-pill {
	display: inline-flex;
	align-items: center;
	padding: 5px 12px;
	border-radius: 6px;
	font-size: 0.82rem;
	font-weight: 500;
	background: #f1f5f9;
	color: #334155;
	border: 1px solid #e2e8f0;
	white-space: nowrap;
}
.jfm-fact-pill--avail {
	background: #eff6ff !important;
	color: #1d4ed8 !important;
	border-color: #bfdbfe !important;
	font-weight: 600 !important;
}
.jfm-fact-pill--lang {
	background: #f8fafc !important;
	color: #475569 !important;
}

/* 4. Worker hero photo overlay */
.jfm-detail-hero-copy--worker {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 24px 30px;
	background: linear-gradient(to top, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.4) 60%, transparent 100%);
	z-index: 4;
}
.jfm-worker-hero-name {
	font-size: 2.15rem !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 0 0 10px 0 !important;
	letter-spacing: -0.025em;
	line-height: 1.1;
}
@media (max-width: 680px) {
	.jfm-worker-hero-name {
		font-size: 1.65rem !important;
	}
}
.jfm-worker-hero-languages {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.jfm-worker-hero-languages span {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.22);
	color: #ffffff;
	font-size: 0.76rem;
	font-weight: 500;
	backdrop-filter: blur(6px);
}

/* 5. Work Preferences 2-column clean key-value table matching image2.png / image3.png */
.jfm-single-description--noborder {
	border-bottom: none !important;
	padding-bottom: 0 !important;
	margin-bottom: 28px !important;
}
.jfm-single-description--noborder h2,
.jfm-work-preferences h2 {
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	letter-spacing: -0.02em;
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
	border: none !important;
}
.jfm-work-preferences {
	margin-top: 24px;
	margin-bottom: 28px;
	padding: 0;
	border: none !important;
}
.jfm-pref-table {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.jfm-pref-row {
	display: flex;
	align-items: baseline;
	font-size: 0.95rem;
	line-height: 1.55;
}
.jfm-pref-key {
	flex: 0 0 148px;
	min-width: 148px;
	color: #64748b;
	font-weight: 400;
	font-size: 0.95rem;
}
.jfm-pref-val {
	flex: 1;
	color: #0f172a;
	font-weight: 400;
	font-size: 0.95rem;
}
@media (max-width: 680px) {
	.jfm-pref-key {
		flex: 0 0 120px;
		min-width: 120px;
		font-size: 0.88rem;
	}
	.jfm-pref-val {
		font-size: 0.88rem;
	}
}

/* 6. Own listing single action button matching image1.png / image2.png */
.jfm-own-listing-actions {
	margin: 28px 0 24px;
	width: 100%;
}
.jfm-button--edit-own {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	width: 100% !important;
	padding: 15px 24px !important;
	border-radius: 12px !important;
	background: #2563eb !important;
	color: #ffffff !important;
	font-size: 1.02rem !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25) !important;
	transition: background 0.15s ease, transform 0.15s ease !important;
	cursor: pointer !important;
	box-sizing: border-box !important;
}
.jfm-button--edit-own:hover {
	background: #1d4ed8 !important;
	transform: translateY(-1px) !important;
}
.jfm-button--edit-own .jfm-icon-plane {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	fill: none;
}

/* 7. Room photo slider navigation buttons */
.jfm-slider-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 6;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(15, 23, 42, 0.55);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.35);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
	backdrop-filter: blur(8px);
	transition: background 0.15s ease, transform 0.15s ease;
	user-select: none;
}
.jfm-slider-nav:hover {
	background: rgba(15, 23, 42, 0.85);
	transform: translateY(-50%) scale(1.05);
}
.jfm-slider-prev {
	left: 16px;
}
.jfm-slider-next {
	right: 16px;
}
@media (max-width: 680px) {
	.jfm-slider-nav {
		width: 36px;
		height: 36px;
		font-size: 1.4rem;
	}
	.jfm-slider-prev {
		left: 10px;
	}
	.jfm-slider-next {
		right: 10px;
	}
}

/* Official Brand Logo Variant Switching (Jobs Blue / Flatmates Pink / Footer White) */
.site-brand {
	display: inline-flex !important;
	align-items: center !important;
	text-decoration: none !important;
	line-height: 1 !important;
}
.jfm-brand-logo {
	display: none;
	height: 25px;
	width: auto;
	max-width: 270px;
	object-fit: contain;
	vertical-align: middle;
}

/* Default in header: Jobs logo (blue JOB, black FLATMATE) */
.site-header .site-brand .jfm-brand-logo--jobs {
	display: block !important;
}

/* When Flatmates service is active in header: Flatmates logo (black JOB, pink FLATMATE) */
body[data-jfm-service="flatmates"] .site-header .site-brand .jfm-brand-logo--jobs,
body.jfm-service-flatmates .site-header .site-brand .jfm-brand-logo--jobs {
	display: none !important;
}
body[data-jfm-service="flatmates"] .site-header .site-brand .jfm-brand-logo--flatmates,
body.jfm-service-flatmates .site-header .site-brand .jfm-brand-logo--flatmates {
	display: block !important;
}

/* In dark footer: Pure white logo */
.site-footer .site-brand .jfm-brand-logo--jobs,
.site-footer .site-brand .jfm-brand-logo--flatmates {
	display: none !important;
}
.site-footer .site-brand .jfm-brand-logo--white {
	display: block !important;
	height: 22px;
}

@media (max-width: 680px) {
	.jfm-brand-logo {
		height: 19px !important;
		max-width: 205px !important;
	}
	.site-footer .site-brand .jfm-brand-logo--white {
		height: 18px !important;
	}
}
@media (max-width: 360px) {
	.jfm-brand-logo {
		height: 16px !important;
		max-width: 175px !important;
	}
}

/* 1.7.9: Desktop 4-column card grid aligning edge-to-edge with See all */
@media (min-width: 901px) {
	body.home .jfm-home-card-rail,
	body.home .jfm-home-card-rail--listings,
	body.home .jfm-home-card-rail--people {
		display: grid !important;
		width: 100% !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 16px !important;
		justify-content: stretch !important;
	}
	body.home .jfm-home-card-rail .jfm-market-card {
		flex: none !important;
		width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}
	body.home .jfm-home-card-rail .jfm-market-photo {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	body.home .jfm-home-card-rail .jfm-market-photo > a:first-child {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
	}
	body.home .jfm-home-card-rail .jfm-market-photo img,
	body.home .jfm-home-card-rail .jfm-market-photo .jfm-industry-card {
		width: 100% !important;
		height: 100% !important;
	}
}

/* Remove Jobs / Flatmates text links next to header brand logo */
.site-header .desktop-nav,
.desktop-nav {
	display: none !important;
}
.site-header .header-inner {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}




