:root { --faq-offset: 100px; --faq-spy-bias: 200px; } 
html { scroll-behavior: smooth; }
.content-wrapper{
	padding:0;
}
.faq-section { scroll-margin-top: var(--faq-offset); }
#sosc-faq-all { scroll-margin-top: var(--faq-offset); }
@media (max-width: 767.98px) {
  :root { --faq-offset: 70px; --faq-spy-bias: 35px;}
}

a {
	color:#000000
}
a:hover, a:focus, a:focus-visible, a:active {
	color: #ed8210;
	text-decoration: none;
}

.sosc-faq-nav__link.is-active {
  text-decoration: underline;
}
.sosc-faq { margin: 1.5rem 0; }
.sosc-faq__title { margin-bottom: 1rem; font-size: 1.5rem; }
.sosc-faq__section { margin-top: 1rem; }
.sosc-faq__section-title { 
       font-size: 48px;
    font-weight: 600;
    line-height: 43px;
}
.sosc-faq__item { border-bottom: 1px solid #e5e5e5; padding: 0.5rem 0; }
.sosc-faq__q { display: flex; justify-content: space-between; width: 100%; text-align: left; background: transparent; border: 0; padding: 0.5rem 0; font-weight: 600; cursor: pointer; }
.sosc-faq__a { padding: 0.5rem 0 1rem; }
.sosc-faq__chev { margin-left: 1rem; }


/* Grille 30/70 */
#sosc-faq-page.sosc-faq-grid {
  display: grid;
  grid-template-columns: 1fr 2.333fr; /* ≈30% / 70% */
  grid-column-gap: 1rem;
  padding: 0;
  margin-top: 3rem;
}

#sosc-faq-page .page-header--cms { grid-column: 1 / -1; margin-bottom: 1rem; }

/* Nav gauche */
.sosc-faq-nav {
  position: sticky;
  top: 115px; 
  align-self: start;
  margin-top: 1rem;
}
.sosc-faq-nav__list { list-style: none; padding: 0; margin: 0; }
.sosc-faq-nav__item + .sosc-faq-nav__item { margin-top: .5rem; }
.sosc-faq-nav__link { text-decoration: none; }


/* Contenu droite */
/***** faq *****/
.faq-container {
	max-width:1140px;
	margin:0 auto;
}
.faq-hero{
    margin-bottom: 50px;
}
.faqmaincontainer .items-services-1 {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
  margin-bottom: 12px;
}


.faqmaincontainer .items-services-2 {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.faqmaincontainer .faq_hero__icon{
	position: absolute;
	transform: translateX(112px) translateY(-4px);
}

.faqmaincontainer .faq_hero__underline{
	position: absolute;
	transform: translateX(-142px) translateY(32px);
}

.faq-item {
	
	overflow:hidden;
	margin-block-end:5px;
	text-align:left;
	font-size: 14px;
	font-weight: 400;
	color: rgb(46, 45, 43);
}

.faq-item:focus-visible .faq-item.open .faq-question:focus-visible{
    
    outline:none;

}
:focus-visible, :focus , button:focus{
    outline: none !important;
}
.faq-item p {
	font-size: 14px;
	font-weight: 400;
	color: rgb(46, 45, 43);
}
.faq-answer ul {
	list-style-type: disc;
	/* puces rondes */
	margin: 0 0 0 48px;
	/* décale à gauche */
	padding: 0;
}
.faq-question {
	padding:15px 20px 15px 60px;
	/* espace à gauche pour le cercle */
	background:#f9f9f9;
	cursor:pointer;
	position:relative;
	font-size:14px;
	font-weight:500;
    
}
.faq-question::before {
	content:"+";
	position:absolute;
	left:20px;
	top:50%;
	transform:translateY(-50%);
	font-size:18px;
	transition:transform .3s;
	width:24px;
	height:24px;
	display:flex;
	align-items:center;
	justify-content:center;
	border:2px solid #333;
	border-radius:50%;
}
.faq-item.open .faq-question::before {
	transform:translateY(-50%) rotate(45deg);
}
/* on n'anime plus max-height mais height en JS */
.faq-answer {
	height:0;
	overflow:hidden;
	background:#F2F7E2;
	padding:0 45px;
	/* padding latéral seulement fermé */
	line-height:1.5;
	transition:height .3s ease, padding .3s ease;
}
.faq-item.open .faq-question {
	background:#F2F7E2;
}
@media (prefers-reduced-motion: reduce) {
	.faq-answer, .faq-question::before {
		transition:none;
	}
}

.faq-hero-title{
	font-size: 75px;
	font-weight: 800;
	margin-bottom:48px;
	z-index: 2;
}
.faq-baseline{
	max-width: 500px;
    text-align: center;
}
.faq-header{
	display:flex;
	position: relative;
	justify-content: center;
    flex-direction: column;
    align-items: center;
	margin:60px 0;
}

.faq-header-icone{
	position: absolute;
	transform: translate(400px, -120px);
	height:38px;
	width: auto;
}
.faq-header-underline{
	position: absolute;
	transform: translate(5px, -95px);
	width:346px;
	height:auto;
}


.faqHome-hero-title{
	    font-size: 48px;
    font-weight: 600;
    line-height: 43px;

}

.items-services-1{
	    display: flex;
    position: relative;
    justify-content: center;
    flex-direction: column;
    align-items: center;
	margin-bottom:1rem;
}
.accroche-txt-services{
	font-size: 12px;
	background-color: #f2f7e2;
	padding: 8px 10px;
	border-radius: 8px 8px 8px 8px;
	margin: 0;
	height: fit-content;
}

.faq_hero__icon{
	right: -70px;
	position: absolute;
	width: 50px;
	height: auto;
}

.faq-home-header-underline{
	position: absolute;
	transform: translate(-108px, -35px);
	width:370px;
	height:auto;
}
.home-faq-spacer{
	margin: 250px 0;
}