.service-main{padding-bottom:60px}.service-hero{background:#f3f7fb;border-bottom:1px solid #e1e8f0;padding:28px 0 35px}.service-hero .breadcrumb{display:flex;gap:10px;font-size:14px;margin-bottom:25px}.service-hero .category{letter-spacing:.1em;font-size:11px;margin-bottom:12px}.service-hero-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.service-hero h1{font-size:44px;font-weight:650;line-height:1.1;letter-spacing:-.8px;color:var(--navy);margin:0 0 12px}.service-tagline{font-size:25px;line-height:1.3;color:#334d69;margin:0 0 10px;font-weight:400}.service-description{font-size:18px;color:#617184;margin:0;max-width:700px;line-height:1.5}.service-hero .button{white-space:nowrap}.service-tabs{display:flex;gap:28px;overflow:auto;border-bottom:1px solid #dae3ed;scrollbar-width:none}.service-tabs a{font-size:17px;font-weight:600;white-space:nowrap;padding:20px 0 17px;border-bottom:3px solid transparent;color:#586a7d}.service-tabs a[aria-current=page]{color:var(--blue);border-color:var(--blue)}.service-filter-panel{border:1px solid #dfe7ef;padding:25px;margin-top:28px;background:white}.service-filter-panel h2{font-size:20px;font-weight:600;line-height:1.3;color:#243e5b;margin:0 0 20px}.service-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 16px;align-items:end}.filter-keyword{grid-column:span 2}.filter-field label{display:block;font-size:14px;font-weight:600;color:#415670;margin-bottom:7px}.filter-field input,.filter-field select{width:100%;max-width:100%;min-width:0;height:46px;padding:10px 12px;border:1px solid #b8c7d7;border-radius:3px;background:white;font:400 16px var(--font-ui);color:#263d56}.filter-field input::placeholder{color:#78889b}.filter-buttons{grid-column:span 2;display:flex;align-items:center;justify-content:flex-end;gap:20px}.filter-reset{font-size:15px;color:#536c87;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}.calendar-shortcuts{display:flex;gap:10px;flex-wrap:wrap;padding-top:20px;margin-top:20px;border-top:1px solid #e8edf3}.calendar-shortcuts a{border:1px solid #d3deeb;color:#345879;padding:7px 14px;font-size:14px;border-radius:3px}.calendar-shortcuts a:hover{background:#eef5fd;border-color:#7da8d6}.service-results{margin-top:34px}.service-results-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:20px}.service-results-heading h2{font-size:25px;line-height:1.2;font-weight:600;letter-spacing:-.3px;margin:0;color:var(--navy)}.service-results-heading>span{font-size:14px;color:#6b7d91;white-space:nowrap}.service-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-card{display:flex;gap:20px;border:1px solid #dde6f0;padding:24px;align-items:flex-start}.service-avatar{width:62px;height:62px;flex:0 0 62px;background:#edf4fb;color:#37699e;display:grid;place-items:center;font-size:26px;font-weight:600;border-radius:5px;overflow:hidden}.service-avatar img{width:100%;height:100%;object-fit:cover}.service-card-body{min-width:0}.service-card .category{margin-top:0;font-size:11px;font-weight:600}.service-card h3{font-size:23px;line-height:1.23;font-weight:650;letter-spacing:-.3px;color:#152e48;margin:5px 0 8px;overflow-wrap:anywhere}.service-location{font-size:15px;color:#5b7189;margin:0 0 10px}.service-excerpt{font-size:16px;line-height:1.5;color:#5e6d7d;margin:0 0 12px}.service-card-deadline{font-size:14px;color:#566d86;margin:9px 0}.service-card-link{font-size:15px;font-weight:600;color:var(--blue);display:inline-block;padding:7px 0;min-height:35px}.event-date{background:#eef4fb;border-top:3px solid var(--blue);width:62px;flex:0 0 62px;text-align:center;display:flex;flex-direction:column;padding:8px 4px;line-height:1.2}.event-date span{font-size:12px;text-transform:uppercase;color:#4c6d91}.event-date strong{font-size:29px;font-weight:650;color:#214b76}.event-date small{font-size:11px;color:#617b98}.service-empty{text-align:center;padding:40px 25px 42px;background:#f7f9fc;border:1px solid #e5ebf2}.empty-symbol{font-size:31px;display:grid;place-items:center;color:#7a9abc;margin-bottom:13px}.service-empty h3{font-size:23px;font-weight:600;line-height:1.3;letter-spacing:-.2px;color:#304d6a;margin:0 0 10px}.service-empty p{font-size:17px;line-height:1.5;color:#6b7c8e;max-width:580px;margin:0 auto 22px}.service-editorial-note{border-left:3px solid #9bb8d8;padding:3px 0 3px 20px;margin-top:35px;max-width:780px}.service-editorial-note strong{font-size:18px;font-weight:600;color:#365571}.service-editorial-note p{font-size:16px;line-height:1.5;color:#6a7b8d;margin:7px 0}.service-editorial-note a{font-size:15px;font-weight:600;color:var(--blue)}.service-actions{display:flex;gap:10px;flex-wrap:wrap;padding:12px 0 28px}.single-f24_business .article-content,.single-f24_event .article-content,.single-f24_job .article-content,.single-f24_practical .article-content{font-family:var(--font-ui);font-size:19px;line-height:1.65}.single-f24_business .article-content>p:first-child,.single-f24_event .article-content>p:first-child,.single-f24_job .article-content>p:first-child,.single-f24_practical .article-content>p:first-child{font-size:20px;line-height:1.6}.detail-grid{font-family:var(--font-ui);font-size:17px;grid-template-columns:170px minmax(0,1fr)}.detail-grid dd{overflow-wrap:anywhere}.detail-grid dt{font-weight:600;color:#35506c}
@media(max-width:900px){.service-hero-row{align-items:flex-start;flex-direction:column;gap:20px}.service-hero h1{font-size:39px}.service-filters{grid-template-columns:1fr 1fr}.service-card-grid{grid-template-columns:1fr}.service-card{padding:22px}.filter-buttons{justify-content:flex-start}}
.communes-browser{margin-top:22px;border:1px solid #dfe7ef;background:#fff}.communes-browser summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 24px;font-size:18px;font-weight:600;color:#2c4e70;cursor:pointer;list-style:none}.communes-browser summary::-webkit-details-marker{display:none}.communes-browser summary span{font-size:23px;font-weight:400;color:var(--blue)}.communes-browser[open] summary{border-bottom:1px solid #e3eaf3}.communes-browser[open] summary span{transform:rotate(45deg)}.communes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding:25px}.communes-grid h3{font-size:16px;font-weight:650;color:#274a6e;margin:0 0 9px}.communes-grid ul{list-style:none;padding:0;margin:0}.communes-grid li a{display:flex;justify-content:space-between;gap:12px;padding:7px 0;color:#5a7088;font-size:15px}.communes-grid li a:hover{color:var(--blue)}.communes-grid li a span{color:#97acc2}
@media(max-width:720px){.communes-browser summary{padding:16px;font-size:16px}.communes-grid{grid-template-columns:1fr;gap:22px;padding:20px}.communes-grid li a{padding:9px 0;font-size:16px}}
@media(max-width:720px){.service-main{padding-bottom:35px}.service-hero{padding:23px 0 27px}.service-hero .breadcrumb{font-size:13px;margin-bottom:23px}.service-hero h1{font-size:34px;letter-spacing:-.5px}.service-tagline{font-size:22px}.service-description{font-size:17px;line-height:1.5}.service-hero .button{white-space:normal;font-size:15px}.service-tabs{gap:23px}.service-tabs a{font-size:16px;padding:17px 0 14px}.service-filter-panel{padding:18px 15px;margin-top:22px}.service-filter-panel h2{font-size:19px;margin-bottom:17px}.service-filters{gap:15px 12px}.filter-field label{font-size:13px}.filter-field input,.filter-field select{font-size:16px;padding:9px;height:45px}.filter-keyword{grid-column:1/-1}.filter-buttons{grid-column:1/-1;gap:18px;padding-top:3px}.filter-buttons .button{font-size:15px}.calendar-shortcuts{gap:7px;margin-top:17px;padding-top:16px}.calendar-shortcuts a{padding:7px 9px;font-size:13px}.service-results{margin-top:28px}.service-results-heading h2{font-size:23px;line-height:1.2}.service-results-heading>span{font-size:13px}.service-card{padding:18px 15px;gap:13px}.service-avatar,.event-date{width:48px;flex-basis:48px}.service-avatar{height:48px;font-size:22px}.event-date strong{font-size:25px}.service-card h3{font-size:21px}.service-location{font-size:14px}.service-excerpt{font-size:16px}.service-card-link{font-size:15px}.service-empty{padding:30px 17px}.service-empty h3{font-size:21px}.service-empty p{font-size:16px}.service-editorial-note{padding-left:15px;margin-top:28px}.service-editorial-note strong{font-size:17px}.service-editorial-note p{font-size:15px}.service-editorial-note a{font-size:14px}.service-actions{gap:8px;padding-bottom:22px}.service-actions .button{font-size:14px;padding:10px 13px}.detail-grid{font-size:16px;grid-template-columns:110px minmax(0,1fr);gap:13px}}

/* Professional cards in the directory results */
.service-card.directory-pro-card {
    gap: 18px;
    padding: 22px;
    border: 1px solid #e4eaf1;
    border-top: 3px solid #4b9cde;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 4px 18px #0827480d;
}
.directory-pro-card:focus-within { border-color: #1769b3; }
.directory-pro-card .service-avatar {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
    border-radius: 12px;
    background: #082748;
    color: #8dcbff;
}
.directory-pro-card .service-avatar svg { width: 26px; height: 26px; }
.directory-pro-card .service-card-body { flex: 1; }
.directory-pro-card .category {
    display: inline-block;
    padding: 4px 9px;
    border-radius: 6px;
    background: #edf6ff;
    color: #104d85;
    letter-spacing: .04em;
}
.directory-pro-card h3 { margin: 9px 0 7px; }
.directory-pro-card .service-location {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #40576d;
}
.directory-pro-card .service-location svg {
    display: block;
    width: 16px;
    height: 16px;
    color: #1769b3;
}
.directory-pro-card .service-excerpt { color: #40576d; }
.directory-pro-card .service-card-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 8px 14px;
    border-radius: 8px;
    background: #1769b3;
    color: #fff;
}
.directory-pro-card .service-card-link:hover { background: #10558f; }
@media (max-width: 480px) {
    .service-card.directory-pro-card { gap: 12px; padding: 16px; }
    .directory-pro-card .service-avatar { width: 44px; height: 44px; flex-basis: 44px; }
    .directory-pro-card h3 { font-size: 19px; }
}

/* Recruitment archive and individual offer */
.job-archive .service-hero { background: #0c2d50; color: #e5eef8; }
.job-archive .service-hero h1 { color: #fff; }
.job-archive .service-hero .category { color: #8dcbff; }
.job-archive .service-hero .breadcrumb,
.job-archive .service-hero .breadcrumb a,
.job-archive .service-tagline,
.job-archive .service-description { color: #e5eef8; }
.job-archive .service-hero .button { background: #8dcbff; border-color: #8dcbff; color: #082748; }
.job-archive .service-filter-panel { border-radius: 14px; }
.service-card.job-card {
    border-radius: 14px;
    border-top: 3px solid #1769b3;
    box-shadow: 0 4px 16px #0827480b;
}
.job-card .service-avatar { background: #edf6ff; border-radius: 10px; }
.job-card .service-location { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.job-card .service-location svg { display: block; width: 16px; height: 16px; color: #1769b3; }
.job-card .job-contract { border-radius: 6px; background: #edf6ff; color: #104d85; padding: 2px 7px; font-size: 13px; }
.job-card .service-card-link { min-height: 44px; padding: 9px 13px; background: #1769b3; color: #fff; border-radius: 8px; }
.job-card .service-card-link:hover { background: #104d85; }
.job-detail { max-width: 1140px; }
.job-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: #0c2d50;
    color: #fff;
    padding: clamp(18px, 4vw, 38px);
    border-radius: 18px;
    margin-bottom: 22px;
}
.job-kicker { color: #8dcbff; font-size: 13px; font-weight: 700; margin: 0 0 8px; }
.job-heading h1 { font-size: clamp(25px, 5vw, 42px); line-height: 1.12; margin: 0; overflow-wrap: anywhere; }
.job-employer { color: #e5eef8; margin: 10px 0 0; }
.job-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.job-tags:empty { display: none; }
.job-tags span { display: inline-flex; align-items: center; gap: 5px; background: #ffffff16; border-radius: 7px; padding: 4px 9px; font-size: 14px; }
.job-tags svg { width: 16px; height: 16px; color: #8dcbff; }
.job-illustration { flex: 0 0 clamp(60px, 15vw, 140px); }
.job-illustration img { display: block; width: 100%; height: auto; border-radius: 10px; }
.job-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 31%); gap: 20px; align-items: start; }
.job-panel { padding: clamp(16px, 3vw, 25px); border: 1px solid #dce6ef; border-radius: 14px; background: #fff; min-width: 0; overflow-wrap: anywhere; }
.job-panel > h2 { margin: 0 0 14px; font-size: 23px; color: #082748; }
.job-description { grid-column: 1; grid-row: 1; }
.job-description .article-content { margin: 0; max-width: none; }
.job-application { grid-column: 2; grid-row: 1; border-top: 3px solid #1769b3; }
.job-application p { margin: 12px 0; }
.job-application .service-actions { margin: 14px 0; }
.job-application .button { width: 100%; text-align: center; }
.job-published { color: #526980; font-size: 13px; }
.job-status { background: #edf3f9; border-radius: 7px; padding: 10px; }
.job-report { margin-top: 16px; font-size: 14px; }
@media (max-width: 720px) {
    .job-detail-grid { display: flex; flex-direction: column; gap: 14px; }
    .job-panel { width: 100%; box-sizing: border-box; }
    .job-heading { gap: 12px; margin-bottom: 14px; }
    .job-card .service-avatar { border-radius: 8px; }
}

/* Agenda and practical information */
.local-service-archive .service-hero,
.local-service-heading { background: #0c2d50; color: #e5eef8; }
.local-service-archive .service-hero h1,
.local-service-heading h1 { color: #fff; }
.local-service-archive .service-hero .category,
.local-service-heading p { color: #8dcbff; }
.local-service-archive .service-hero :is(.breadcrumb, .breadcrumb a, .service-tagline, .service-description) { color: #e5eef8; }
.local-service-archive .service-hero .button { background: #8dcbff; border-color: #8dcbff; color: #082748; }
.local-service-archive .service-filter-panel { border-radius: 14px; }
.service-card.local-service-card { border-radius: 14px; border-top: 3px solid #1769b3; box-shadow: 0 4px 16px #0827480b; }
.local-service-card .service-avatar { background: #edf6ff; color: #1769b3; border-radius: 10px; }
.local-service-card .service-avatar svg { width: 25px; height: 25px; }
.local-service-card .service-location { display: flex; gap: 6px; align-items: center; }
.local-service-card .service-location svg { display: block; width: 16px; height: 16px; color: #1769b3; }
.local-service-card .service-card-link { min-height: 44px; padding: 9px 13px; border-radius: 8px; background: #1769b3; color: #fff; }
.local-service-card .service-card-link:hover { background: #104d85; }
.local-service-detail { max-width: 1140px; }
.local-service-heading { display: flex; align-items: center; gap: 15px; padding: clamp(18px, 4vw, 38px); border-radius: 18px; margin-bottom: 20px; }
.local-service-heading h1 { font-size: clamp(25px, 5vw, 42px); line-height: 1.13; margin: 0; overflow-wrap: anywhere; }
.local-service-heading p { margin: 0 0 7px; font-size: 13px; font-weight: 700; }
.local-service-icon { display: grid; place-items: center; flex: 0 0 48px; height: 48px; border-radius: 10px; background: #ffffff18; color: #8dcbff; }
.local-service-icon svg { width: 26px; height: 26px; }
.local-service-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 32%); gap: 20px; align-items: start; }
.local-service-panel { min-width: 0; padding: clamp(16px, 3vw, 25px); border: 1px solid #dce6ef; border-radius: 14px; background: #fff; overflow-wrap: anywhere; }
.local-service-panel h2 { color: #082748; }
.local-service-panel > h2 { margin: 0 0 14px; font-size: 23px; }
.local-service-details { grid-column: 2; grid-row: 1; border-top: 3px solid #1769b3; }
.local-service-details .detail-grid { display: block; }
.local-service-details dt { font-weight: 650; }
.local-service-details dd { margin: 3px 0 0; }
.local-service-body { grid-column: 1; grid-row: 1; }
.local-service-body .article-content { margin: 0; }
.local-service-photo { margin: 0 0 16px; }
.local-service-photo img { display: block; width: 100%; height: auto; border-radius: 9px; }
.local-service-report { font-size: 14px; margin-top: 16px; }
@media (max-width: 720px) {
    .local-service-layout { display: flex; flex-direction: column; gap: 14px; }
    .local-service-panel { width: 100%; box-sizing: border-box; }
}

/* Grille des fiches de services */
:is(.post-type-archive-f24_practical, .post-type-archive-f24_business, .post-type-archive-f24_job, .post-type-archive-f24_event) .service-card-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
:is(.post-type-archive-f24_practical, .post-type-archive-f24_business, .post-type-archive-f24_job, .post-type-archive-f24_event) .service-card-grid > .service-card {
    flex-direction: column;
    gap: 14px;
    padding: 18px;
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease;
}
:is(.post-type-archive-f24_practical, .post-type-archive-f24_business, .post-type-archive-f24_job, .post-type-archive-f24_event) .service-card-grid > .service-card:is(:hover, :focus-within) {
    border-color: #1769b3;
    box-shadow: 0 8px 22px #08274816;
}
:is(.post-type-archive-f24_practical, .post-type-archive-f24_business, .post-type-archive-f24_job, .post-type-archive-f24_event) .service-avatar {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
}
:is(.post-type-archive-f24_practical, .post-type-archive-f24_business, .post-type-archive-f24_job, .post-type-archive-f24_event) .service-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}
:is(.post-type-archive-f24_practical, .post-type-archive-f24_business, .post-type-archive-f24_job, .post-type-archive-f24_event) .service-card h3 {
    font-size: 20px;
    line-height: 1.25;
}
:is(.post-type-archive-f24_practical, .post-type-archive-f24_business, .post-type-archive-f24_job, .post-type-archive-f24_event) .service-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
}
@media (max-width: 1100px) {
    :is(.post-type-archive-f24_practical, .post-type-archive-f24_business, .post-type-archive-f24_job, .post-type-archive-f24_event) .service-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 560px) {
    :is(.post-type-archive-f24_practical, .post-type-archive-f24_business, .post-type-archive-f24_job, .post-type-archive-f24_event) .service-card-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
