.yc-page{
  margin:0 auto 5rem;
}
.yc-page .yc-page-container{
  max-width:960px;
  margin:0 auto;
  display:grid;
  align-items:center;
  justify-items:center;
  place-items:center;
  text-align:center;
  font-family:inherit;
}
.yc-page .yc-page-container, .yc-page .yc-page-container *{
  font-family:inherit;
}
.yc-page .yc-page-container h1{
  font-size:2.5rem;
  font-weight:700;
  line-height:1.2;
  margin-bottom:1.2rem;
}
.yc-page .yc-page-container h2{
  font-size:2rem;
  font-weight:700;
  line-height:1.2;
  margin-bottom:1.2rem;
}
.yc-page .yc-page-container h3{
  font-size:1.75rem;
  font-weight:700;
  line-height:1.2;
  margin-bottom:1.2rem;
}
.yc-page .yc-page-container h4{
  font-size:1rem;
  font-weight:700;
  line-height:1.2;
  margin-bottom:1.2rem;
}
.yc-page .yc-page-container h5{
  font-size:1.25rem;
  font-weight:700;
  line-height:1.2;
  margin-bottom:1.2rem;
}
.yc-page .yc-page-container h6{
  font-size:1rem;
  font-weight:700;
  line-height:1.2;
  margin-bottom:1.2rem;
}
.yc-page .yc-page-container p{
  font-size:1rem;
  font-weight:400;
  line-height:31.68px;
  margin-bottom:28px;
}
.yc-page .yc-page-container a{
  color:var(--yc-primary-color);
  -webkit-text-decoration:underline;
  text-decoration:underline;
  transition:all 0.3s ease;
}
.yc-page .yc-page-container a:hover{
  color:var(--yc-primary-color);
}
.yc-page .yc-page-container b, .yc-page .yc-page-container b *, .yc-page .yc-page-container strong, .yc-page .yc-page-container strong *{
  font-weight:600 !important;
}
.yc-page .yc-page-container ul{
  list-style:disc;
  margin-left:1rem;
  margin-bottom:1rem;
}
.yc-page .yc-page-container ol{
  list-style:decimal;
  margin-left:1rem;
  margin-bottom:1rem;
}
.yc-page .yc-page-container li{
  margin-bottom:0.5rem;
}
.yc-page .yc-page-container img{
  max-width:100%;
  height:auto;
}
.yc-page .yc-page-container table{
  width:100%;
  border-collapse:collapse;
  margin-bottom:1rem;
}
.yc-page .yc-page-container .contact-us{
  width:100%;
  max-width:640px;
  margin:0 auto;
  background:var(--ep-surface, #FFF);
  border:1px solid var(--ep-border, #E2E6EF);
  border-radius:var(--ep-radius, 14px);
  box-shadow:var(--ep-shadow-soft, 0 8px 24px rgba(22,38,92,.07));
  padding:40px 36px 36px;
}
@media (max-width:600px){
  .yc-page .yc-page-container .contact-us{
    padding:28px 20px 24px;
    border-radius:var(--ep-radius-sm, 8px);
  }
}
.yc-page .yc-page-container .contact-us .contact-form{
  width:100%;
  max-width:563px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.yc-page .yc-page-container .contact-us .contact-form > form{
  width:100%;
}
.yc-page .yc-page-container .contact-us .contact-form .form-group{
  width:100%;
}
.yc-page .yc-page-container .contact-us .contact-form .h-captcha > iframe{
  margin:0 auto;
}
.yc-page .yc-page-container .contact-us .contact-form .contact_title{
  font-size:26px;
  font-style:normal;
  font-weight:700;
  line-height:120%;
  color:var(--ep-navy, #16265C);
  margin-bottom:10px;
  text-align:center;
}
.yc-page .yc-page-container .contact-us .contact-form .contact_subtitle{
  font-size:16px;
  font-style:normal;
  font-weight:400;
  line-height:150%;
  color:var(--ep-muted, #5A6478);
  margin-bottom:32px;
  text-align:center;
}
.yc-page .yc-page-container .contact-us .contact-form .form-group:not(:first-of-type){
  margin-top:19px;
}
.yc-page .yc-page-container .contact-us .contact-form .form-group:last-of-type{
  margin-top:24px;
}
.yc-page .yc-page-container .contact-us .contact-form .form-group input, .yc-page .yc-page-container .contact-us .contact-form .form-group textarea{
  width:100%;
  padding:15px 16px !important;
  font-size:14px !important;
  font-weight:400 !important;
  border-radius:var(--ep-radius-sm, 8px);
  border:1px solid var(--ep-border, #9AA4B2);
  background:var(--ep-cream, #FFF);
  box-shadow:none;
  height:auto !important;
  height:initial !important;
  line-height:normal !important;
  line-height:initial !important;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.yc-page .yc-page-container .contact-us .contact-form .form-group .validate-error{
  color:#C2410C;
  font-size:13px;
  margin-top:6px;
  display:block;
}
.yc-page .yc-page-container .contact-us .contact-form .form-group input::-moz-placeholder, .yc-page .yc-page-container .contact-us .contact-form .form-group textarea::-moz-placeholder{
  color:#98A2B3;
}
.yc-page .yc-page-container .contact-us .contact-form .form-group input::placeholder, .yc-page .yc-page-container .contact-us .contact-form .form-group textarea::placeholder{
  color:#98A2B3;
}
.yc-page .yc-page-container .contact-us .contact-form .form-group input:focus, .yc-page .yc-page-container .contact-us .contact-form .form-group textarea:focus{
  outline:none;
  border-color:var(--ep-accent, #E2610A);
  box-shadow:0 0 0 3px var(--ep-accent-soft, rgba(226,97,10,.12));
}
.yc-page .yc-page-container .contact-us .contact-form .form-group textarea{
  min-height:172px;
  resize:vertical;
}
.yc-page .yc-page-container .contact-us .contact-form .form-group button.primary-button{
  width:100%;
  padding:15px 20px;
  background:var(--ep-accent, var(--yc-primary-color));
  box-shadow:var(--ep-shadow-soft, 0px 1px 2px 0px rgba(18, 25, 38, 0.05));
  color:white;
  border-radius:var(--ep-radius-sm, 4px);
  font-size:16px;
  font-style:normal;
  font-weight:700;
  line-height:150%;
  transition:background .2s ease, box-shadow .2s ease, transform .1s ease;
}
.yc-page .yc-page-container .contact-us .contact-form .form-group button.primary-button:hover{
  background:var(--ep-accent-dark, var(--yc-primary-color));
  box-shadow:var(--ep-shadow-hover, none);
}
.yc-page .yc-page-container .contact-us .contact-form .form-group button.primary-button:active{
  transform:translateY(1px);
}

/* Coordonnées ajoutées en bas de la page Contactez-nous */
.yc-page .yc-page-container .contact-details{
  width:100%;
  max-width:640px;
  margin:24px auto 0;
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  justify-content:center;
}
.yc-page .yc-page-container .contact-details .contact-detail-item{
  display:flex;
  align-items:center;
  gap:12px;
  flex:1 1 260px;
  background:var(--ep-surface, #FFF);
  border:1px solid var(--ep-border, #E2E6EF);
  border-radius:var(--ep-radius-sm, 8px);
  padding:16px 18px;
  text-align:left;
  transition:box-shadow .2s ease, border-color .2s ease;
}
.yc-page .yc-page-container .contact-details .contact-detail-item:hover{
  box-shadow:var(--ep-shadow-soft, none);
  border-color:var(--ep-accent, #E2610A);
}
.yc-page .yc-page-container .contact-details .contact-detail-icon{
  flex:0 0 auto;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--ep-accent-soft, rgba(226,97,10,.12));
  color:var(--ep-accent, #E2610A);
  font-size:20px;
}
.yc-page .yc-page-container .contact-details .contact-detail-text{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.yc-page .yc-page-container .contact-details .contact-detail-label{
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--ep-muted, #5A6478);
}
.yc-page .yc-page-container .contact-details .contact-detail-value{
  font-size:15px;
  font-weight:700;
  color:var(--ep-navy, #16265C);
  text-decoration:none !important;
}
.yc-page .yc-page-container .contact-details .contact-detail-value:hover{
  color:var(--ep-accent, #E2610A);
}

/* ==========================================================================
   Le thème peint en bleu marine la 1re <section> de <main> (règle prévue pour
   le slider de l'accueil, dans electroplace-premium.css). On la neutralise
   pour les pages de contenu afin d'éviter un fond bleu derrière du texte foncé.
   ========================================================================== */
.main-content > section:first-child:has(.yc-page){
  background:transparent;
  border-bottom:0;
}
.main-content > section:first-child:has(.ep-terms){
  background:transparent;
  border-bottom:0;
}
/* Repli pour les navigateurs sans :has() (anciens Android) */
body.template-page .main-content > section:first-child{
  background:transparent;
  border-bottom:0;
}
