/* V12.9.32 — styles isolés : seules les trois catégories et leur fiche sont concernées. */
.ljo-category-active,.ljo-service-profile-dialog{--ljo-purple:#704095;--ljo-dark:#342441;--ljo-muted:#786e80;--ljo-border:#e8e0ee;--ljo-soft:#f7f3fa;color:var(--ljo-dark)}
.ljo-category-active .v10-market-head,.ljo-category-active #matchJobSearchSummary{display:none!important}
.ljo-category-active .ljo-category-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:0 0 12px}
.ljo-category-head[hidden],.ljo-category-note[hidden],.ljo-category-footer[hidden]{display:none!important}
.ljo-category-kicker{display:block;color:var(--ljo-purple);font-size:15px;font-weight:850;letter-spacing:.13em;line-height:1.5}
.ljo-category-head h2{font-size:27px;letter-spacing:-.7px;line-height:1.2;margin:5px 0 6px;color:var(--ljo-dark)}
.ljo-category-head p{color:var(--ljo-muted);font-size:17px;line-height:1.55;margin:0}
.ljo-change-search{background:none;border:1px solid var(--ljo-border);color:var(--ljo-purple);border-radius:12px;padding:9px 12px;font-size:15px;font-weight:750;white-space:nowrap}
.ljo-category-active{background:rgba(255,255,255,.96);border-color:var(--ljo-border)}
.ljo-category-active .v10-market-modes button.active,.ljo-category-active .v10-market-filters button.active{background:var(--ljo-purple);border-color:var(--ljo-purple);color:#fff}
.ljo-category-active .v10-market-modes{margin-top:12px}
.ljo-category-note{font-size:15px;line-height:1.55;color:var(--ljo-muted);margin:2px 0 13px}
#v10MarketplaceResults.ljo-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.ljo-person-card{display:flex;flex-direction:column;min-width:0;position:relative;padding:18px;background:#fff;border:1px solid var(--ljo-border);border-radius:21px;box-shadow:0 5px 20px rgba(48,27,65,.045);cursor:pointer;transition:box-shadow .18s,border-color .18s,transform .18s}
.ljo-person-card:hover{border-color:#c9afd9;box-shadow:0 10px 30px rgba(75,38,98,.10);transform:translateY(-2px)}
.ljo-person-card:focus-within{outline:2px solid var(--ljo-purple);outline-offset:3px}
.ljo-person-topline{display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:15px;line-height:1.45;color:var(--ljo-muted);margin-bottom:12px;min-height:22px}
.ljo-demo-badge,.ljo-verified-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:7px;font-size:15px;line-height:1.4;font-weight:800;white-space:nowrap;background:#f0e8f6;color:#785093}
.ljo-verified-badge{background:#eaf5ee;color:#306c4b}
.ljo-person-identity{display:flex;align-items:center;gap:13px;min-width:0}
.ljo-person-identity>div{min-width:0}
.ljo-person-avatar{width:68px;height:68px;flex:0 0 68px;border-radius:22px;background:linear-gradient(135deg,#ece0f6,#d2b6e6);color:#65417e;display:grid;place-items:center;position:relative;overflow:hidden;font-size:27px;font-weight:750}
.ljo-person-avatar.ljo-tone-1{background:linear-gradient(135deg,#edeaf9,#bfc5e6);color:#535989}
.ljo-person-avatar.ljo-tone-2{background:linear-gradient(135deg,#faede5,#e6c5b8);color:#946552}
.ljo-person-avatar img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;display:block}
.ljo-person-identity h3{font-size:22px;line-height:1.2;margin:0 0 4px;color:var(--ljo-dark);overflow-wrap:anywhere}
.ljo-person-identity p{font-size:15px;line-height:1.4;margin:0 0 4px;color:var(--ljo-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ljo-person-place{font-size:15px;color:var(--ljo-muted);overflow-wrap:anywhere}
.ljo-availability{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin:12px 0 9px;padding:6px 9px;background:#f4eff8;border-radius:8px;color:#796087;font-size:15px;font-weight:750;line-height:1.4}
.ljo-availability.is-available{background:#edf7f0;color:#34764b}
.ljo-person-rating{font-size:15px;color:var(--ljo-muted);margin-bottom:10px;line-height:1.4}
.ljo-person-rating>span{font-size:18px;color:var(--ljo-purple);vertical-align:-1px}
.ljo-person-skills{display:flex;gap:5px;flex-wrap:wrap;align-content:flex-start;min-height:32px;margin-bottom:10px}
.ljo-person-skills span{font-size:15px;background:#f8f6fa;color:#786985;border:1px solid #eee7f3;border-radius:7px;padding:5px 7px;line-height:1.35}
.ljo-person-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid #f0ebf4;padding-top:12px;margin-top:auto;margin-bottom:13px}
.ljo-person-facts div{min-width:0}
.ljo-person-facts span,.ljo-person-bottom>div>span{display:block;font-size:15px;color:var(--ljo-muted);margin-bottom:4px}
.ljo-person-facts strong{font-size:15px;font-weight:650;line-height:1.4;color:#61516c}
.ljo-person-bottom{display:flex;justify-content:space-between;align-items:center;gap:9px}
.ljo-person-bottom>div{min-width:0}
.ljo-person-bottom>div>strong{font-size:18px;line-height:1.25;color:var(--ljo-dark)}
.ljo-primary-btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:11px 13px;border:1px solid var(--ljo-purple);border-radius:11px;background:var(--ljo-purple);color:#fff;font-size:15px;font-weight:750;line-height:1.35;cursor:pointer}
.ljo-primary-btn:hover:not(:disabled){background:#5b2f7f;border-color:#5b2f7f}
.ljo-primary-btn:disabled{background:#eee8f3;border-color:#eee8f3;color:#786b83;cursor:not-allowed}
.ljo-primary-btn:focus-visible,.ljo-secondary-btn:focus-visible,.ljo-change-search:focus-visible,.ljo-back-results:focus-visible,.ljo-detail-close:focus-visible{outline:2px solid var(--ljo-purple);outline-offset:4px}
.ljo-secondary-btn{padding:10px 17px;border:1px solid var(--ljo-border);border-radius:11px;background:#fff;color:var(--ljo-purple);font-size:15px;font-weight:750}
.ljo-category-footer{text-align:center;padding-top:18px}
.ljo-category-empty{grid-column:1/-1;text-align:center;padding:30px 15px;border:1px dashed var(--ljo-border);border-radius:17px;background:var(--ljo-soft)}
.ljo-category-empty strong{font-size:18px}.ljo-category-empty p{color:var(--ljo-muted);font-size:15px;line-height:1.5}
@media (min-width:1000px){
 .ljo-category-active{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px}
 .ljo-category-active .ljo-category-head,.ljo-category-active .ljo-category-note,.ljo-category-active #v10MarketplaceResults,.ljo-category-active .ljo-category-footer{grid-column:1/-1}
 .ljo-category-active .v10-market-toolbar{display:none!important}
 .ljo-category-active .v10-market-modes{grid-column:1;margin:1px 0 10px;align-self:center}
 .ljo-category-active #v10WorkerFilters{grid-column:2;justify-self:end;padding:0;margin-bottom:10px}
}
/* Fiche séparée : le dialog historique et les autres profils ne sont pas restylés. */
#ljoServiceProfileDialog{padding:0;border:1px solid #e9e0ef;border-radius:24px;width:min(1020px,calc(100vw - 48px));max-width:none;max-height:90vh;max-height:90dvh;background:#fcfafd;box-shadow:0 24px 90px rgba(32,18,42,.25);overflow:auto;overscroll-behavior:contain}
#ljoServiceProfileDialog::backdrop{background:rgba(37,25,48,.48);backdrop-filter:blur(4px)}
.ljo-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:2;background:rgba(255,255,255,.97);border-bottom:1px solid var(--ljo-border);padding:15px 22px}
.ljo-detail-toolbar>span{font-size:15px;font-weight:800;letter-spacing:.03em;color:#86758f}
.ljo-back-results{padding:5px 0;background:none;border:0;font-size:15px;font-weight:750;color:var(--ljo-purple)}
.ljo-detail-close{width:32px;height:32px;border:0;border-radius:50%;background:#f3edf7;color:var(--ljo-purple);font-size:24px;line-height:1}
.ljo-detail-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:30px;padding:25px}
.ljo-detail-summary{align-self:start;padding:22px;border:1px solid var(--ljo-border);border-radius:20px;background:#fff;min-width:0;text-align:center}
.ljo-detail-portrait{display:flex;flex-direction:column;align-items:center;gap:12px}
.ljo-person-avatar-large{width:120px;height:120px;flex-basis:120px;border-radius:30px;font-size:46px}
.ljo-detail-summary h2{margin:17px 0 5px;font-size:27px;color:var(--ljo-dark);overflow-wrap:anywhere}
.ljo-detail-specialty{font-size:17px;line-height:1.5;color:#75637f;margin:0 0 8px}
.ljo-detail-location{font-size:15px;color:var(--ljo-muted);margin:0}
.ljo-detail-summary .ljo-availability{margin-bottom:9px}
.ljo-detail-rating{font-size:15px;color:var(--ljo-muted);margin-bottom:17px}
.ljo-detail-price{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--ljo-border);padding:17px 0}
.ljo-detail-price small{font-size:15px;color:var(--ljo-muted)}
.ljo-detail-price strong{font-size:24px;color:var(--ljo-purple)}
.ljo-detail-price>span{font-size:15px;color:var(--ljo-muted);line-height:1.5}
.ljo-detail-contact{width:100%;min-height:44px}
.ljo-detail-contact-note{display:block;font-size:15px;line-height:1.5;color:var(--ljo-muted);margin-top:10px}
.ljo-detail-main{min-width:0;padding:3px 0}
.ljo-detail-main section{padding:20px 0;border-bottom:1px solid var(--ljo-border)}
.ljo-detail-main section:first-of-type{padding-top:9px}
.ljo-detail-main section:last-child{border-bottom:0}
.ljo-detail-main h3{font-size:20px;margin:0 0 11px;color:var(--ljo-dark)}
.ljo-detail-main .ljo-category-kicker{margin-bottom:6px}
.ljo-detail-main p{font-size:17px;line-height:1.75;color:#766a7e;margin:0;overflow-wrap:anywhere;white-space:pre-line}
.ljo-detail-main .ljo-detail-demo-note,.ljo-detail-main .ljo-detail-error,.ljo-detail-main .ljo-detail-loading{padding:11px 13px;border-radius:11px;background:#eee6f5;color:#79638b;font-size:15px;line-height:1.6;margin-bottom:13px}
.ljo-detail-error button{border:0;background:none;color:var(--ljo-purple);text-decoration:underline;font-weight:750}
.ljo-detail-skills{display:flex;flex-wrap:wrap;gap:8px}
.ljo-detail-skills span{border:1px solid var(--ljo-border);padding:8px 11px;border-radius:9px;background:#fff;color:#72617f;font-size:15px}
.ljo-detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:0}
.ljo-detail-facts dt{font-size:15px;color:var(--ljo-muted);margin:0 0 5px}
.ljo-detail-facts dd{font-size:15px;color:#50405e;font-weight:650;margin:0;overflow-wrap:anywhere}
.ljo-detail-main .ljo-detail-availability-note{margin-top:17px;font-size:15px}
.ljo-detail-main .ljo-detail-equipment{font-size:15px;margin-top:10px;color:#7e7186}
.ljo-detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.ljo-detail-gallery figure{margin:0;min-width:0}
.ljo-detail-gallery img{width:100%;aspect-ratio:1.3;object-fit:cover;border-radius:10px;display:block}
.ljo-detail-gallery figcaption{font-size:15px;color:var(--ljo-muted);margin-top:5px;overflow-wrap:anywhere}
.ljo-detail-review{padding:12px 0;border-bottom:1px solid var(--ljo-border)}
.ljo-detail-review strong{color:var(--ljo-purple)}
@media (max-width:1100px) and (min-width:900px){
 .ljo-person-card{padding:14px}.ljo-person-identity{gap:9px}.ljo-person-avatar{width:54px;height:54px;flex-basis:54px;border-radius:18px}.ljo-person-bottom{flex-wrap:wrap}.ljo-person-bottom .ljo-primary-btn{flex:1;min-width:120px}
}
@media (max-width:899px){
 #v10MarketplaceResults.ljo-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .ljo-category-active .ljo-category-head{flex-direction:column;gap:10px}.ljo-category-head h2{font-size:24px}
 .ljo-detail-layout{grid-template-columns:240px minmax(0,1fr);gap:20px;padding:20px}
}
@media (max-width:699px){
 #v10MarketplaceResults.ljo-category-grid{grid-template-columns:minmax(0,1fr)}
 .ljo-category-active .v10-market-filters{flex-wrap:wrap;overflow:visible}
 .ljo-category-active .v10-market-filters button{font-size:15px;padding:7px 9px}
 .ljo-category-active .v10-market-filters select{font-size:15px;padding:8px 10px}
 .ljo-person-card{padding:18px}.ljo-person-skills{min-height:0}
 #ljoServiceProfileDialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:18px}
 .ljo-detail-toolbar{padding:11px 14px}.ljo-detail-toolbar>span{display:none}
 .ljo-detail-layout{grid-template-columns:minmax(0,1fr);padding:15px;gap:17px}
 .ljo-detail-summary{padding:20px}.ljo-detail-main{padding:0 3px}
 .ljo-person-avatar-large{width:100px;height:100px;flex-basis:100px}
}
@media (prefers-reduced-motion:reduce){.ljo-person-card{transition:none}.ljo-person-card:hover{transform:none}}


/* V12.9.40 — mini-cartographie sur chaque fiche MATCH JOB. */
#v10MarketplaceResults.ljo-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.ljo-person-card{padding:16px 16px 14px}
.ljo-person-layout{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:14px;align-items:stretch;min-width:0}
.ljo-person-main{display:flex;flex-direction:column;min-width:0}
.ljo-person-side{display:flex;flex-direction:column;gap:8px}
.ljo-person-side-title{font-size:15px;font-weight:800;letter-spacing:.08em;color:var(--ljo-purple);text-transform:uppercase}
.ljo-person-minimap{position:relative;min-height:148px;border:1px solid #e9e0ef;border-radius:18px;background:linear-gradient(180deg,#f7f3fa 0%,#eef3fb 100%);overflow:hidden}
.ljo-person-minimap-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.38) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.38) 1px,transparent 1px);background-size:24px 24px}
.ljo-map-road{position:absolute;background:rgba(122,89,149,.18);border-radius:999px}
.ljo-map-road.road-a{left:-8%;top:56%;width:130%;height:12px;transform:rotate(16deg)}
.ljo-map-road.road-b{left:16%;top:18%;width:12px;height:92%;transform:rotate(-14deg)}
.ljo-map-road.road-c{left:34%;top:12%;width:80%;height:10px;transform:rotate(-33deg)}
.ljo-map-pin{position:absolute;width:16px;height:16px;background:#6c3f95;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 4px 12px rgba(67,35,93,.22)}
.ljo-map-pin::after{content:"";position:absolute;inset:4px;background:#fff;border-radius:50%}
.ljo-map-city,.ljo-map-note{position:absolute;left:10px;right:10px}
.ljo-map-city{top:10px;display:inline-flex;align-items:center;max-width:max-content;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.88);font-size:15px;font-weight:700;color:#5e4278}
.ljo-map-note{bottom:10px;font-size:15px;color:#786985;background:rgba(255,255,255,.75);padding:5px 8px;border-radius:10px;backdrop-filter:blur(3px)}
.ljo-person-summary{display:flex;flex-direction:column;gap:4px;margin:10px 0 12px}
.ljo-person-bottom{margin-top:auto}
@media (min-width:1260px){#v10MarketplaceResults.ljo-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1099px){#v10MarketplaceResults.ljo-category-grid{grid-template-columns:1fr}}
@media (max-width:640px){.ljo-person-layout{grid-template-columns:1fr}.ljo-person-side{order:2}.ljo-person-minimap{min-height:122px}}


/* V12.9.41 — cartes profils compactes + carte rapide en bas */
#v10MarketplaceResults.ljo-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.ljo-person-card{padding:16px 16px 14px}
.ljo-person-layout{display:block;min-width:0}
.ljo-person-main{display:flex;flex-direction:column;min-width:0;min-height:100%}
.ljo-person-summary{display:flex;flex-direction:column;gap:4px;margin:10px 0 12px}
.ljo-person-bottom{margin-top:auto}
.ljo-person-side,.ljo-person-side-title,.ljo-person-minimap{display:none!important}
.ljo-category-map-box{margin-top:18px;padding:16px;border:1px solid var(--ljo-border);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(39,26,52,.06)}
.ljo-category-map-box[hidden]{display:none!important}
.ljo-category-map-head h3{margin:4px 0 6px;font-size:22px;color:var(--ljo-dark)}
.ljo-category-map-head p{margin:0;font-size:15px;line-height:1.55;color:var(--ljo-muted)}
.ljo-category-map-shell{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.9fr);gap:16px;align-items:stretch;margin-top:14px}
.ljo-category-map-stage{position:relative;min-height:220px;border:1px solid #e9e0ef;border-radius:18px;background:linear-gradient(180deg,#f7f3fa 0%,#eef3fb 100%);overflow:hidden}
.ljo-category-map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.38) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.38) 1px,transparent 1px);background-size:26px 26px}
.ljo-category-map-road{position:absolute;background:rgba(122,89,149,.18);border-radius:999px}
.ljo-category-map-road.road-a{left:-8%;top:58%;width:130%;height:14px;transform:rotate(15deg)}
.ljo-category-map-road.road-b{left:18%;top:10%;width:14px;height:98%;transform:rotate(-15deg)}
.ljo-category-map-road.road-c{left:30%;top:17%;width:82%;height:12px;transform:rotate(-31deg)}
.ljo-category-map-marker{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border:3px solid #fff;border-radius:50%;background:#6c3f95;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;box-shadow:0 8px 18px rgba(67,35,93,.22)}
.ljo-category-map-marker:hover{background:#58317c}
.ljo-category-map-marker:focus-visible,.ljo-category-map-chip:focus-visible{outline:2px solid var(--ljo-purple);outline-offset:3px}
.ljo-category-map-city,.ljo-category-map-note{position:absolute;left:12px;right:12px}
.ljo-category-map-city{top:12px;display:inline-flex;align-items:center;max-width:max-content;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.9);font-size:15px;font-weight:700;color:#5e4278}
.ljo-category-map-note{bottom:12px;font-size:15px;color:#786985;background:rgba(255,255,255,.76);padding:6px 9px;border-radius:10px;backdrop-filter:blur(3px);max-width:max-content}
.ljo-category-map-list{display:grid;gap:10px;align-content:start}
.ljo-category-map-chip{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 13px;border:1px solid var(--ljo-border);border-radius:14px;background:#faf8fc;color:#4f3c60;text-align:left}
.ljo-category-map-chip strong{font-size:17px;color:var(--ljo-dark)}
.ljo-category-map-chip span{font-size:15px;color:var(--ljo-muted)}
@media (max-width:1259px){#v10MarketplaceResults.ljo-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:899px){.ljo-category-map-shell{grid-template-columns:1fr}.ljo-category-map-stage{min-height:190px}}
@media (max-width:699px){#v10MarketplaceResults.ljo-category-grid{grid-template-columns:1fr}.ljo-category-map-box{padding:14px}.ljo-category-map-head h3{font-size:20px}}
