/* P4 — finition contact / légales / 404 (fidèle pages-live/assets-style.css) */

/* ——— Contact (P11 — style G, coins arrondis) ——— */
#contact{padding:96px 0 110px}
.pg-contact .contact-head{
  max-width:720px;
  margin:0 0 48px;
  min-width:0;
}
.pg-contact .contact-head .eyebrow{display:block;margin-bottom:14px}
.pg-contact .contact-head h1{
  font-family:PF,"Playfair Display",Georgia,serif;
  font-weight:400;
  font-size:clamp(34px,4vw,52px);
  line-height:1.12;
  letter-spacing:-.3px;
  color:var(--ink);
  margin:0 0 16px;
  overflow-wrap:break-word;
}
.pg-contact .contact-lead{
  margin:0;
  font-size:17px;
  line-height:1.65;
  color:var(--ink-soft);
  max-width:640px;
}
.pg-contact .contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:40px;
  align-items:start;
}
.pg-contact .contact-side,
.pg-contact .contact-panel{min-width:0;max-width:100%}
.pg-contact .contact-coords{
  background:var(--cream,#F8F6F1);
  border:1px solid var(--line);
  border-radius:14px;
  padding:28px 28px 24px;
  display:flex;
  flex-direction:column;
  gap:22px;
  max-width:100%;
  box-sizing:border-box;
}
.pg-contact .coord{min-width:0}
.pg-contact .coord-label{
  display:block;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--gold-dark,#8C6D3A);
  margin-bottom:8px;
}
.pg-contact .contact-mail,
.pg-contact .contact-tel{
  display:inline-block;
  font-weight:600;
  font-size:15.5px;
  line-height:1.45;
  color:var(--ink);
  border-bottom:1px solid var(--gold);
  padding-bottom:2px;
  overflow-wrap:anywhere;
  text-decoration:none;
}
.pg-contact .contact-tel{
  overflow-wrap:normal;
  white-space:nowrap;
}
.pg-contact .contact-side .adr,
.pg-contact .contact-side p.adr{
  display:block;
  margin:0;
  padding:0;
  font-size:15.5px;
  line-height:1.55;
  color:var(--ink-soft);
  background:none;
  border:0;
  overflow-wrap:break-word;
}
.pg-contact .form .fsend small i{
  font-style:normal;
  color:var(--gold-dark);
}
.pg-contact .form{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:32px 34px;
  box-shadow:0 18px 44px -32px rgba(14,26,43,.28);
  max-width:100%;
  box-sizing:border-box;
}
.pg-contact .form .row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px;
}
.pg-contact .form .row.one{grid-template-columns:minmax(0,1fr)}
.pg-contact .form .fld{margin-bottom:16px;min-width:0}
.pg-contact .form input,
.pg-contact .form textarea,
.pg-contact .form select{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  border-radius:10px;
}
.pg-contact .form .fsend{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:8px;
  flex-wrap:wrap;
}
.pg-contact .form .fsend .btn{
  white-space:normal;
  text-align:center;
  border-radius:999px;
  padding-left:28px;
  padding-right:28px;
}
.pg-contact .book-box{
  margin-top:22px;
  padding:22px 24px;
  background:var(--cream,#F8F6F1);
  border:1px solid var(--line);
  border-radius:14px;
  max-width:100%;
  box-sizing:border-box;
}
.pg-contact .book-box p{
  margin:0 0 14px;
  font-size:15.5px;
  line-height:1.6;
  color:var(--ink-soft);
}
.pg-contact .book-box .btn{
  max-width:100%;
  border-radius:999px;
}

/* ——— Pages légales (CGV, confidentialité, mentions) ——— */
.pg-legal .phead,
.pg-404 .phead{
  padding:80px 0 52px;
}
.pg-legal .phead h1,
.pg-404 .phead h1{
  font-size:clamp(36px,4.6vw,56px);
  margin-bottom:16px;
  max-width:820px;
  overflow-wrap:break-word;
}
.pg-legal .phead .lead,
.pg-404 .phead .lead{
  font-size:18px;
  line-height:1.65;
  color:var(--ink-soft);
  max-width:640px;
}
.pg-legal .legal-sec{
  padding:8px 0 96px;
}
.pg-legal .legal{
  max-width:760px;
  width:100%;
}
.pg-legal .legal h2{
  font-family:"Playfair Display",Georgia,serif;
  font-weight:500;
  font-size:26px;
  line-height:1.25;
  color:var(--ink);
  margin:44px 0 14px;
  padding-top:28px;
  border-top:1px solid var(--line);
  overflow-wrap:break-word;
}
.pg-legal .legal h2:first-child{margin-top:0}
.pg-legal .legal p,
.pg-legal .legal li{
  font-size:16.5px;
  line-height:1.75;
  color:var(--ink-soft);
}
.pg-legal .legal p{margin-bottom:12px}
.pg-legal .legal ul{
  margin:6px 0 12px;
  padding-left:20px;
  list-style:disc;
}
.pg-legal .legal li{margin-bottom:6px}
.pg-legal .legal strong{color:var(--ink);font-weight:600}
.pg-legal .legal a{
  color:var(--ink);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:var(--gold);
  overflow-wrap:anywhere;
}
.pg-legal .legal-maj{
  margin-top:40px;
  font-size:14px!important;
  color:var(--muted)!important;
}

/* ——— 404 ——— */
.pg-404 .legal-sec.nf-sec,
.pg-404 .nf-sec{padding:8px 0 96px}
.pg-404 .nf{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.pg-404 .nf-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  background:var(--ivory,#FCFBF8);
  border:1px solid var(--line);
  border-radius:18px;
  padding:28px;
  text-decoration:none;
  color:var(--ink);
  transition:border-color .2s,transform .2s;
  min-width:0;
  max-width:100%;
}
.pg-404 .nf-card:hover{
  border-color:var(--gold);
  transform:translateY(-2px);
}
/* `.ft` global = blanc (footer) — labels des cartes en doré comme pages-live */
.pg-404 .nf-card .ft{
  color:var(--gold-dark);
  margin-bottom:0;
}
.pg-404 .nf-card b{
  font-family:"Playfair Display",Georgia,serif;
  font-weight:500;
  font-size:23px;
  overflow-wrap:break-word;
}
.pg-404 .nf-card p{
  color:var(--ink-soft);
  font-size:15.5px;
  line-height:1.6;
  flex:1;
}
.pg-404 .nf-card i{
  font-style:normal;
  font-weight:600;
  font-size:14px;
}
.pg-404 .nf-home{margin-top:40px}
.pg-404 .nf-home .btn{max-width:100%}

/* ——— Responsive 900 / 600 (dont 390 px) ——— */
@media (max-width:900px){
  #contact{padding:72px 0 88px}
  .pg-contact .contact-head{margin-bottom:36px}
  .pg-contact .contact-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .pg-404 .nf{grid-template-columns:1fr}
  .pg-legal .legal h2{font-size:22px}
}
@media (max-width:600px){
  .pg-contact .contact-coords{padding:22px 20px}
  .pg-contact .form{padding:24px 18px}
  .pg-contact .form .row{
    grid-template-columns:1fr;
    gap:0;
  }
  .pg-contact .book-box{padding:18px}
  .pg-contact .form .fsend{
    flex-direction:column;
    align-items:stretch;
  }
  .pg-contact .form .fsend .btn,
  .pg-contact .book-box .btn{
    width:100%;
    justify-content:center;
  }
  .pg-legal .phead,
  .pg-404 .phead{padding:64px 0 40px}
  .pg-legal .phead .lead,
  .pg-404 .phead .lead{font-size:16.5px}
  .pg-404 .nf-card{padding:24px 22px}
}

/* Garde-fou scroll horizontal sur ces pages */
.pg-contact main,
.pg-legal main,
.pg-404 main{
  overflow-x:hidden;
  max-width:100%;
}
.pg-contact .container,
.pg-legal .container,
.pg-404 .container{
  max-width:100%;
  box-sizing:border-box;
}
