
/* = gni-offres style (liste + popup + single) = */
.gni-wrap{max-width:1100px;margin:24px auto;padding:0 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial;}
.gni-head{display:flex;align-items:flex-start;justify-content:space-between;margin:8px 0 14px;}
.gni-title{margin:0;font-size:1.6rem;}
.gni-filter-btn{padding:8px 12px;border:1px solid #ddd;background:#fff;border-radius:10px;cursor:pointer;}
.gni-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;}
.gni-chip{background:#fff3f3;border:1px solid #f5c2c2;border-radius:999px;padding:0px 10px;font-size:12px;display:flex;align-items:center;gap:8px;}
.gni-chip button{border:0;background:none;color:#fff;border-radius:50%;cursor:pointer;}
.gni-list{list-style:none;margin:16px 0;padding:0;display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:900px){.gni-list{grid-template-columns:1fr 1fr;}}
a.gni-card-link{background:#fff;border:1px solid #eee;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;box-shadow:0 1px 0 rgba(0,0,0,.02);}
.gni-card__title{margin:0;font-size:1.05rem;}
.gni-card__rows{display:flex;flex-direction:column;gap:6px;margin-top:6px;}
.gni-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#111;}
.gni-row__left{font-weight:500;}
.gni-row__right{color:#333;}
.gni-bullet{color:#bbb;}
.gni-salary{font-weight:700;}
.gni-row.-meta{font-size:.9rem;color:#666;gap:12px;}
.gni-ago{color:#777;}
.gni-cta{margin-top:10px;}
.gni-btn--primary, .gni-modal__foot button{background:#fff;border-color:#000 !important;color:#000 !important;text-decoration:none !important;display:inline-block;padding:5px 14px;border-radius:30px;border: 1px solid;font-size: small;}

/* Pagination */
.gni-pagination{display:flex;gap:6px;align-items:center;justify-content:center;margin:18px 0;}
.gni-page{display: inline-block;
    padding: 7px 16px;
    border: 1px solid #ddd;
    border-radius: 50%;
    text-decoration: none;
    cursor: pointer;
    color: #000 !important;
    font-weight: 600;}
.gni-page.is-active{background:#000;border-color:#000;color:#fff !important;}
.gni-page.is-disabled{opacity:.5;pointer-events:none;}
.gni-ellipsis{padding:0 6px;color:#999;}

/* Modal filtre */
.gni-modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;align-items:center;justify-content:center;padding:16px;z-index:9999;}
.gni-modal[aria-hidden="false"]{display:flex;}
.gni-modal__dialog{background:#fff;border-radius:16px;max-width:800px;width:100%;box-shadow:0 10px 30px rgba(0,0,0,.15);}
.gni-modal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #f0f0f0;}
.gni-modal__body{display:flex;gap:12px;padding:14px 16px;}
@media(min-width:700px){.gni-modal__body{grid-template-columns:1fr 1fr;}}
.gni-modal__foot{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid #f0f0f0;}
.gni-modal__close{border:0;background:transparent;font-size:1.4rem;cursor:pointer;}
.gni-field select{padding:10px;border:1px solid #ddd;border-radius:10px;width:100%;}
.gni-btn--ghost{border:1px solid #ddd;background:#fff;color:#111;}

/* ====== Single /offres/{id} ====== */
.gni-single{margin:24px auto;padding:0 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial}
.gni-breadcrumbs{font-size:.9rem;margin:8px 0 16px}
.gni-breadcrumbs a{text-decoration:none;color:initial;}
.gni-single-head h1{margin:.2rem 0 6px}
.gni-summary{margin:10px 0 12px}
.gni-summary__row{margin:4px 0}
.gni-single-meta{color:#555;margin:6px 0}

/* Accordéons (contenu d’offre) */
.gni-accordions{margin:20px 0}
.gni-acc{border:1px solid #eee;border-radius:12px;background:#fff;margin-bottom:10px;overflow:hidden}
.gni-acc__header{width:100%;text-align:left;background:#f8f9fb;border:0;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;color: #000;text-transform: capitalize;font-size: 18px;}
.gni-acc__title{font-weight:600}
.gni-acc__chev{transition:transform .2s ease}
.gni-acc__header[aria-expanded="true"] .gni-acc__chev{transform:rotate(180deg)}
.gni-acc__panel{max-height:0;overflow:hidden;transition:max-height .25s ease;padding:0 14px}
.gni-acc__panel.is-open{padding:12px 14px}

/* Formulaire de candidature */
.gni-apply{margin:22px 0;padding:16px;border:1px solid #eee;border-radius:12px;background:#fafbfc}
.gni-form label{display:block;margin-bottom:12px}
.gni-form input,.gni-form textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px}
.gni-form small{display:block;color:#666;margin-top:6px}
.gni-grid{display:grid;gap:12px}
@media(min-width:700px){.gni-grid{grid-template-columns:1fr 1fr}}
.gni-alert{padding:10px 12px;border-radius:8px;margin-top:10px}
.gni-alert.success{background:#e8f7ee;border:1px solid #bde6cd}
.gni-alert.error{background:#fde8ea;border:1px solid #f5c2c7}



a.gni-card-link .gni-card__title {
    text-decoration: none !important;
    text-transform: capitalize !important;
    font-size: 18px !important;
    font-family: sans-serif !important;
    color: #000 !important;
}

a.gni-card-link {
    text-decoration: none !important;
}

.gni-card__rows > .gni-row:first-child span {
    font-size: 12px;
    background: #f0f0f0;
    padding: 2px 5px;
    border-radius: 10px;
}

.gni-row.gni-card-footer {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

a.gni-card-link {
    text-decoration: none;
}

a.gni-card-link:hover {
    border-color: #444141;
}

a.gni-card-link:hover .gni-row.gni-card-footer span.gni-btn.gni-btn--primary, .gni-modal__foot button:hover {
    background: #000;
    color: #fff !important;
}

button.gni-filter-btn img {
    width: 20px;
    margin-right: 10px;
}

button.gni-filter-btn {
    border: 2px solid #000;
    border-radius: 50px;
    color: #000 !important;
    font-weight: 500;
        background: none;
            display: flex;

}
button.gni-filter-btn:hover, button.gni-filter-btn:focus{
  background: #f0f0f0;
}

button.gni-filter-btn img {
    width: 20px;
    margin-right: 10px;
}

p#gniCount {
    font-weight: 700;
    font-family: sans-serif;
}

.gni-modal__head button.gni-modal__close {
    padding: 5px 7px;
    border-radius: 100%;
    background: #ff7676;
    font-size: 17px;
    font-weight: 700;
    color: #fff !important;
    border: navajowhite;
    line-height: 17px;
}

h2#gniModalTitle {
    margin: 0;
}

.gni-modal__body span {
    position: relative;
    bottom: 5px;
    font-weight: 500;
}

.gni-head-filter {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    flex-direction: column;
}

div#gniChips button {
    padding: 0px !important;
    color: #ff2c2c;
}

div#gniChips button:hover {
    background: none;
}

header.gni-single-head h1 {
    font-size: 30px;
        font-weight: 700;
}

header.gni-single-head .gni-summary {
    display: flex;
    flex-wrap: wrap;
	    column-gap: 10px;
	    padding-bottom: 30px;
}

.gni-summary .gni-summary__row {
    background: #f0f0f0;
    border-radius: 10px;
    padding: 0px 5px;
    font-size: 13px;
}

.gni-acc__panel {
  overflow: hidden;
  transition: max-height 0.3s ease;
}

button.gni-acc__header:hover {
    background: #000;
    color: #fff !important;
}

form.gni-form button.gni-btn.gni-btn--primary {
    color: #fff !important;
    font-size: medium;
    padding: 10px 30px;
    background: #000;
    font-weight: 700;
}

form.gni-form input {
    margin-top: 10px;
    padding: 10px;
}

.banner {
    background-image: linear-gradient(rgb(255 255 255 / 70%), rgb(255 255 255 / 80%)), url(/wp-content/plugins/gni-offres/img/banner-bg.jpg);
    height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 20px;
        margin-bottom: 15px;
}

.max {
   max-width: 1000px !important;
    width: 1000px;
    margin: auto;
}

@media screen and (max-width: 1024px) {
  .max {
    max-width: 100%;
    width: auto;
    margin: auto;
  }
}
