/* PoolRooms — Contact public harmonisé 2026-07-20 */

.pr-contact-page{
  --contact-navy:#06172d;
  --contact-red:#ed1b2f;
  --contact-blue:#0d5bd8;
  --contact-text:#071426;
  --contact-muted:#637083;
  --contact-border:#dfe6ef;
  background:#f5f7fa;
  color:var(--contact-text);
}

.pr-contact-container{
  width:min(1380px,calc(100% - 40px));
  margin-inline:auto;
}

.pr-contact-content{
  padding-block:28px 46px;
}

.pr-contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:18px;
  align-items:start;
}

.pr-contact-main,
.pr-contact-side>article{
  border:1px solid var(--contact-border);
  border-radius:16px;
  background:#fff;
}

.pr-contact-form-card{
  padding:24px 27px;
}

.pr-contact-card-head{
  margin-bottom:20px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.pr-contact-card-head h2{
  margin:0;
  font-size:21px;
  font-weight:700;
}

.pr-contact-card-head p{
  margin:6px 0 0;
  color: var(--bs-black);
  font-size:12px;
}

.pr-contact-card-head>span{
  width:42px;
  height:42px;
  border-radius:999px;
  background:#fff0f2;
  color:var(--contact-red);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 42px;
}

.pr-contact-alert{
  margin-bottom:16px;
  border:1px solid;
  border-radius:11px;
  padding:12px 13px;
  display:flex;
  align-items:flex-start;
  gap:9px;
  font-size:12px;
  line-height:1.5;
}

.pr-contact-alert.is-success{
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#15803d;
}

.pr-contact-alert.is-error{
  border-color:#fecdd3;
  background:#fff1f2;
  color:#be123c;
}

.pr-contact-form{
  display:grid;
  gap:16px;
}

.pr-contact-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.pr-contact-field>span {
    display: block;
    margin-bottom: 7px;
    color: var(--bs-black);
    /* font-size: 12px; */
    /* font-weight: 600; */
}

.pr-contact-field>span em{
  color:var(--contact-red);
  font-style:normal;
}

.pr-contact-field>div{
  min-height:46px;
  border:1px solid #d5dee9;
  border-radius:10px;
  background:#fff;
  padding:0 12px;
  display:flex;
  align-items:center;
  gap:9px;
}

.pr-contact-field>div:focus-within{
  border-color:var(--contact-blue);
}

.pr-contact-field>div>i{
  width:18px;
  color:#64748b;
  text-align:center;
}

.pr-contact-field input,
.pr-contact-field select,
.pr-contact-field textarea{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:var(--contact-text);
  font-size:13px;
}

.pr-contact-field select{
  min-height:44px;
}

.pr-contact-field .is-textarea{
  min-height:180px;
  position:relative;
  align-items:flex-start;
  padding-top:13px;
}

.pr-contact-field textarea{
  min-height:145px;
  resize:vertical;
}

.pr-contact-field .is-textarea b{
  position:absolute;
  right:10px;
  bottom:8px;
  color:#94a3b8;
  font-size:10px;
  font-weight:500;
}

.pr-contact-field .is-invalid{
  color:#be123c;
}

.pr-contact-error{
  margin-top:5px;
  color:#be123c;
  display:block;
  font-size:10px;
}

.pr-contact-submit{
  min-height:48px;
  border:1px solid var(--contact-red);
  border-radius:9px;
  background:var(--contact-red);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:13px;
  font-weight:650;
}

.pr-contact-security-note {
    margin: 0;
    color: var(--bs-black);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 9px;
}

.pr-contact-side{
  display:grid;
  gap:14px;
}

.pr-contact-side>article{
  padding:19px;
}

.pr-contact-side h2{
  margin:0;
  font-size:18px;
  font-weight:650;
}

.pr-contact-methods>a,
.pr-contact-methods>div{
  min-height:86px;
  border-top:1px solid #e8edf3;
  padding:14px 0;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:11px;
  color:inherit;
  text-decoration:none;
}

.pr-contact-methods h2 + a{
  margin-top:8px;
  border-top:0;
}

.pr-contact-methods>a>span,
.pr-contact-methods>div>span{
  width:42px;
  height:42px;
  border-radius:999px;
  background:#fff0f2;
  color:var(--contact-red);
  display:flex;
  align-items:center;
  justify-content:center;
}

.pr-contact-methods strong,
.pr-contact-methods small,
.pr-contact-methods em{
  display:block;
}

.pr-contact-methods strong{

}

.pr-contact-methods small{
  margin-top:3px;
  color:var(--contact-red);
  font-size:12px;
  font-weight:600;
}

.pr-contact-methods em{
  margin-top:4px;
  color: var(--bs-black);
  font-style:normal;
}

.pr-contact-faq-card{
  border-color:#fecdd3!important;
  background:#fff7f8!important;
}

.pr-contact-faq-card>i{
  color:var(--contact-red);
  font-size:22px;
}

.pr-contact-faq-card h2{
  margin-top:10px;
}

.pr-contact-faq-card p{
  margin:7px 0 0;
  color:var(--bs-black);
  line-height:1.55;
}

.pr-contact-faq-card a {
    min-height: 40px;
    margin-top: 13px;
    /* border: 1px solid var(--contact-red); */
    border-radius: 9px;
    color: var(--bs-white);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    background: var(--bs-primary-text-emphasis);
}

@media(max-width:1000px){
  .pr-contact-layout{
    grid-template-columns:minmax(0,1fr) 290px;
  }
}

@media(max-width:767px){
  .pr-contact-container{
    width:min(100% - 24px,720px);
  }

  .pr-contact-content{
    padding-block:18px 30px;
  }

  .pr-contact-layout{
    display:flex;
    flex-direction:column;
    gap:14px;
  }

  .pr-contact-main{
    order:1;
  }

  .pr-contact-side{
    order:2;
  }

  .pr-contact-form-card{
    padding:18px 15px;
  }

  .pr-contact-card-head h2{
    font-size:20px;
  }

  .pr-contact-fields{
    grid-template-columns:1fr;
  }

  .pr-contact-submit{
    width:100%;
  }
}

@media(max-width:430px){
  .pr-contact-container{
    width:calc(100% - 18px);
  }

}

@media(max-width:767px){

}

/* Champ piège anti-robot : accessible au serveur, hors écran pour les humains. */
.pr-contact-honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}
