.s4-cpt-grid {
list-style: none;
margin: 30px 0;
position: relative;
transition: filter 0.3s ease;
gap: 30px 0;
}
.s4-cpt-grid--loading {
filter: blur(2px);
pointer-events: none;
}
.s4-cpt-grid__item {
padding: 0;
box-sizing: border-box;
} .s4-cpt-taxonomy-nav {
padding: 1rem 0;
}
.s4-cpt-taxonomy-nav ul {
list-style: none;
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 0;
padding: 0;
}
.s4-cpt-taxonomy-nav a {
display: inline-block;
padding: 6px 16px;
text-decoration: none;
background: #f0f0f0;
border-radius: 100px;
font-size: 0.875rem;
color: #333;
transition: background-color 0.2s ease, color 0.2s ease;
}
.s4-cpt-taxonomy-nav a:hover,
.s4-cpt-taxonomy-nav a.active {
background: #333;
color: #fff;
} .s4-cpt-search {
padding: 1rem 0;
}
.s4-cpt-search__input {
width: 100%;
max-width: 480px;
padding: 10px 16px;
border: 1px solid #ddd;
border-radius: 6px;
font-size: 0.9375rem;
outline: none;
transition: border-color 0.2s;
}
.s4-cpt-search__input:focus {
border-color: #333;
}
.s4-cpt-search--loading {
filter: blur(2px);
pointer-events: none;
transition: filter 0.3s ease;
}
.s4-cpt-search--hidden {
display: none !important;
}
.s4-cpt-search-no-results {
text-align: center;
padding: 2rem 0;
color: #888;
font-size: 1rem;
}
.s4-cpt-search-loading-overlay {
display: none;
justify-content: center;
align-items: center;
padding: 2rem 0;
}
.s4-cpt-search-loading-overlay--active {
display: flex;
} .s4-cpt-no-results {
text-align: center;
padding: 3rem 0;
color: #888;
font-size: 1rem;
} .s4-cpt-loadmore-sentinel {
width: 100%;
min-height: 1px;
display: flex;
justify-content: center;
padding: 1rem 0;
position: relative;
}
.s4-cpt-loadmore-overlay {
display: none;
position: absolute;
bottom: 100%;
left: 0;
right: 0;
height: 120px;
justify-content: center;
align-items: center;
pointer-events: none;
z-index: 10;
}
.s4-cpt-loadmore-overlay--active {
display: flex;
}
.s4-cpt-loadmore-loader {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
padding: 1rem 0;
}
.s4-cpt-spinner {
display: inline-block;
width: 36px;
height: 36px;
border: 3px solid rgba(0, 0, 0, 0.1);
border-top-color: currentColor;
border-radius: 50%;
animation: s4-cpt-spin 0.6s linear infinite;
}
@keyframes s4-cpt-spin {
to {
transform: rotate(360deg);
}
} .s4-cpt-recrutement-filters {
display: flex;
flex-wrap: wrap;
gap: 12px;
align-items: flex-end;
padding: 1rem 0;
}
.s4-cpt-recrutement-filters__field {
display: flex;
flex-direction: column;
gap: 4px;
min-width: 160px;
flex: 1;
max-width: 260px;
}
.s4-cpt-recrutement-filters__label {
font-size: 0.8125rem;
font-weight: 600;
color: #333;
}
.s4-cpt-recrutement-filters__select {
padding: 8px 12px;
border: 1px solid #ddd;
border-radius: 6px;
font-size: 0.875rem;
background: #fff;
cursor: pointer;
}
.s4-cpt-recrutement-filters__reset {
padding: 8px 16px;
border: 1px solid #ddd;
border-radius: 6px;
background: #f5f5f5;
font-size: 0.875rem;
cursor: pointer;
transition: background 0.2s;
align-self: flex-end;
}
.s4-cpt-recrutement-filters__reset:hover {
background: #e0e0e0;
}.s4-cpt-faq-grid {
list-style: none;
margin: 0;
padding: 1rem 0 2rem;
display: grid;
gap: 12px;
}
.s4-cpt-faq-grid--cols-1 {
grid-template-columns: 1fr;
}
.s4-cpt-faq-grid--cols-2 {
grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
.s4-cpt-faq-grid--cols-2 {
grid-template-columns: 1fr;
}
} .s4-cpt-faq-item {
border: 1px solid #e0e0e0;
border-radius: 8px;
overflow: hidden;
background: #fff;
transition: box-shadow 0.2s ease;
}
.s4-cpt-faq-item:hover {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
} .s4-cpt-faq-item__question {
display: flex;
align-items: center;
gap: 12px;
width: 100%;
padding: 14px 18px;
border: none;
background: none;
text-align: left;
font-size: 1rem;
font-weight: 600;
line-height: 1.4;
cursor: pointer;
color: #1d2327;
transition: background 0.2s;
}
.s4-cpt-faq-item__question:hover {
background: #f9f9f9;
}
.s4-cpt-faq-item__number {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border-radius: 50%;
background: #333;
color: #fff;
font-size: 0.8125rem;
font-weight: 700;
flex-shrink: 0;
}
.s4-cpt-faq-item__question-text {
flex: 1;
}
.s4-cpt-faq-item__icon {
flex-shrink: 0;
width: 20px;
height: 20px;
position: relative;
transition: transform 0.3s ease;
} .s4-cpt-faq-item__icon::before,
.s4-cpt-faq-item__icon::after {
content: '';
position: absolute;
background: #666;
border-radius: 1px;
}
.s4-cpt-faq-item__icon::before {
top: 50%;
left: 2px;
right: 2px;
height: 2px;
transform: translateY(-50%);
}
.s4-cpt-faq-item__icon::after {
left: 50%;
top: 2px;
bottom: 2px;
width: 2px;
transform: translateX(-50%);
transition: transform 0.3s ease, opacity 0.3s ease;
}
.s4-cpt-faq-item--open .s4-cpt-faq-item__icon::after {
transform: translateX(-50%) scaleY(0);
opacity: 0;
} .s4-cpt-faq-grid--icon-chevron .s4-cpt-faq-item__icon::after {
display: none;
}
.s4-cpt-faq-grid--icon-chevron .s4-cpt-faq-item__icon::before {
top: 50%;
left: 50%;
right: auto;
width: 9px;
height: 9px;
background: transparent;
border-right: 2px solid #666;
border-bottom: 2px solid #666;
border-radius: 0;
transform: translate(-50%, -65%) rotate(45deg);
transition: transform 0.3s ease;
}
.s4-cpt-faq-grid--icon-chevron .s4-cpt-faq-item--open .s4-cpt-faq-item__icon::before {
transform: translate(-50%, -35%) rotate(-135deg);
} .s4-cpt-faq-item__answer-wrap {
overflow: hidden;
height: 0;
transition: height 0.35s ease;
}
.s4-cpt-faq-item__answer {
padding: 18px;
font-size: 0.9375rem;
line-height: 1.6;
color: #555;
}
.s4-cpt-faq-item__answer p:first-child {
margin-top: 0;
}
.s4-cpt-faq-item__answer p:last-child {
margin-bottom: 0;
} .s4-cpt-faq-grid--numbered {
counter-reset: faq-counter;
}
.s4-cpt-faq-grid--numbered .s4-cpt-faq-item {
counter-increment: faq-counter;
}