/* Page Contact */
.ld-contact h1{ font-size:clamp(64px, 17vw, 150px) !important; }
.ct-quick{ margin-top:22px; }

.ct-photo{ position:relative; margin:0; border-radius:var(--ld-radius); overflow:hidden; aspect-ratio:4/3; }
.ct-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 45%; }
.ct-photo::after{ content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(47,43,39,.55), rgba(47,43,39,0) 65%); }
.ct-photo figcaption{ position:absolute; z-index:1; left:22px; right:22px; bottom:22px; font-family:var(--ld-serif); font-size:clamp(24px, 3.4vw, 36px); line-height:1.2; color:#FFFCF8; }
.ct-photo figcaption em{ color:var(--ld-rose); }
@media (min-width:768px){ .ct-photo{ aspect-ratio:21/8; } .ct-photo figcaption{ left:44px; bottom:36px; max-width:560px; } }

.ct-layout{ display:grid; gap:16px; grid-template-columns:minmax(0,1fr); }
.ct-info{ display:flex; flex-direction:column; gap:16px; }
.ct-lines{ display:flex; flex-direction:column; margin-top:8px !important; }
.ct-lines li{ display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid var(--ld-line); }
.ct-lines li:last-child{ border-bottom:0; padding-bottom:0; }
.ct-lines .ld-icon{ margin:0; width:44px; height:44px; background:var(--ld-rose-pale); border:none; color:var(--ld-terre); }
.ct-lines small{ display:block; font-size:11.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ld-terre); }
.ct-lines a{ font-size:16px; font-weight:500; word-break:break-word; }
.ct-lines a:hover{ text-decoration:underline; text-underline-offset:3px; }
.ct-lieux{ display:flex; flex-direction:column; margin-top:8px !important; }
.ct-lieux li{ padding:12px 0; border-bottom:1px solid rgba(250,246,241,.18); display:flex; flex-direction:column; }
.ct-lieux li:last-child{ border-bottom:0; padding-bottom:0; }
.ct-lieux strong{ font-family:var(--ld-serif); font-weight:400; font-size:24px; line-height:1.2; }
.ct-lieux span{ font-size:14.5px; color:rgba(250,246,241,.8); }
.ct-delai{ display:flex; gap:14px; align-items:center; padding:20px; border-radius:var(--ld-radius-sm); background:var(--ld-rose-pale); }
.ct-delai .ld-icon{ margin:0; background:var(--ld-blanc); border:none; color:var(--ld-terre); }
.ct-delai p{ margin:0; font-size:15px; color:var(--ld-encre-soft); line-height:1.55; }
.ct-delai strong{ color:var(--ld-encre); }

.ct-formcard{ scroll-margin-top:calc(var(--ld-header-h) + 30px); }
.ct-formcard h2{ margin-bottom:18px !important; }
.ct-form{ display:flex; flex-direction:column; gap:4px; }
.ct-row{ display:grid; grid-template-columns:minmax(0,1fr); gap:4px 14px; }
@media (min-width:600px){ .ct-row{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.ct-field{ display:flex; flex-direction:column; gap:7px; margin-bottom:10px; }
.ct-field label{ font-size:14px; font-weight:600; }
.ct-field label span{ color:var(--ld-terre); }
.ct-form input[type="text"], .ct-form input[type="email"], .ct-form input[type="tel"], .ct-form select, .ct-form textarea{
  width:100%; min-height:52px; padding:13px 16px; border-radius:14px; border:1.5px solid var(--ld-line); background:var(--ld-creme);
  font-family:var(--ld-sans) !important; font-size:16px !important; color:var(--ld-encre); line-height:1.4;
  transition:border-color .2s, box-shadow .2s; -webkit-appearance:none; appearance:none; box-shadow:none;
}
.ct-form textarea{ min-height:150px; resize:vertical; line-height:1.6; }
.ct-form select{ cursor:pointer; padding-right:44px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232F2B27' stroke-width='1.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 18px center; }
.ct-form ::placeholder{ color:#A39B92; }
.ct-form input:focus, .ct-form select:focus, .ct-form textarea:focus{ outline:none; border-color:var(--ld-mousse); box-shadow:0 0 0 4px rgba(95,114,71,.14); background:#fff; }
.ct-form [aria-invalid="true"]{ border-color:#B4493B !important; }
.ct-err{ margin:0 !important; font-size:13px; color:#A23B2E; min-height:0; }
.ct-err:empty{ display:none; }
.ct-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.ct-consent{ display:flex; gap:12px; align-items:flex-start; font-size:14px; color:var(--ld-encre-soft); line-height:1.5; cursor:pointer; margin:6px 0 4px; }
.ct-consent input{ width:22px; height:22px; margin:1px 0 0; accent-color:var(--ld-mousse); flex-shrink:0; }
.ct-submit{ margin-top:14px; }
.ct-status{ margin:10px 0 0 !important; font-size:14.5px; text-align:center; }
.ct-status:empty{ display:none; }
.ct-status.is-error{ color:#A23B2E; }
.ct-status a{ text-decoration:underline; }
.ct-note{ font-size:13px; color:var(--ld-encre-soft); text-align:center; margin:10px 0 0 !important; }
.ct-success{ text-align:center; padding:40px 10px; outline:none; }
.ct-success .ld-icon{ margin:0 auto 16px; width:64px; height:64px; background:var(--ld-mousse-pale); border:none; }
.ct-success p{ color:var(--ld-encre-soft); }

@media (min-width:1024px){
  .ct-layout{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:24px; align-items:start; }
  .ct-formcard{ padding:44px 44px; }
}

/* v2.1 — tons plus clairs */
.ct-lieux li{ border-bottom-color:var(--ld-line); }
.ct-lieux span{ color:var(--ld-encre-soft); }
