/* Page « Contact » (bin/contact-page.php) — classes cp-* ; cohérent avec « À propos », « Qui sommes-nous ? », « Nos engagements » */
.cp { padding-top: clamp(2rem, 5vw, 3.5rem); }
.cp > .container > * + * { margin-top: clamp(2.75rem, 5.5vw, 4rem); }
.cp h2, .cp h3 { text-wrap: balance; }
.cp .btn { display: inline-flex; align-items: center; gap: 0.45rem; }
.cp .btn svg { flex: none; }
.cp-h2 { margin: 0 0 1rem; font-size: clamp(1.5rem, 3vw, 2rem); color: var(--c-deep); }

/* introduction + tuiles « Comment pouvons-nous vous aider ? » */
.cp-intro { max-width: 52rem; margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem); font-size: 1.15rem; line-height: 1.6; }
.cp-intro p { margin: 0 0 0.75rem; }
.cp-intro > :last-child { margin-bottom: 0; }
.cp-tiles { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 40em) { .cp-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 56em) { .cp-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 75em) { .cp-tiles { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.cp-tiles li { display: flex; }
.cp-tile { display: flex; flex-direction: column; width: 100%; padding: 1.25rem 1.2rem 1.3rem; color: var(--c-ink); text-decoration: none; background: var(--c-mist); border-top: 4px solid var(--c-amber); border-radius: var(--radius); transition: background 0.15s, box-shadow 0.15s, transform 0.15s; }
.cp-tile:hover, .cp-tile:focus-visible { background: #fff; box-shadow: 0 10px 26px rgba(69, 9, 15, 0.12); transform: translateY(-2px); }
.cp-tile__icon { display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: 0.85rem; border-radius: 50%; color: #fff; background: var(--c-sign); }
.cp-tile__title { font-family: var(--font-display); font-size: 1.12rem; font-weight: 700; line-height: 1.25; color: var(--c-deep); }
.cp-tile__text { margin-top: 0.35rem; font-size: 0.95rem; line-height: 1.45; color: var(--c-muted); }
@media (max-width: 39.999em) {
    .cp-tile { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1rem; align-items: center; padding: 1rem; }
    .cp-tile__icon { grid-row: 1 / span 2; margin: 0; }
    .cp-tile__text { margin-top: 0.15rem; }
}

/* deux colonnes : coordonnées | formulaire */
.cp-main { display: grid; gap: clamp(2rem, 4vw, 3rem); align-items: start; }
@media (min-width: 64em) { .cp-main { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.cp-info { display: grid; gap: 1rem; }
.cp-info > .cp-h2 { margin-bottom: 0; }
.cp-box { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; padding: 1.25rem; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); }
.cp-box__icon { display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: 50%; color: var(--c-sign); background: var(--c-mist); }
.cp-box__title { margin: 0 0 0.25rem; font-size: 1.05rem; color: var(--c-deep); }
.cp-box__value { margin: 0; font-size: 1.08rem; font-style: normal; line-height: 1.5; overflow-wrap: anywhere; }
.cp-box__value a { color: inherit; }
.cp-box__note { margin: 0.4rem 0 0; color: var(--c-muted); line-height: 1.45; }
.cp-box__value + .cp-box__value { margin-top: 0.15rem; }
.cp-box__act { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; margin: 0.85rem 0 0; }
.cp-box__act .btn { min-height: 2.6rem; padding-block: 0.45rem; }
.cp-box__alt { font-size: 0.92rem; color: var(--c-muted); }

/* Nicolas */
.cp-founder { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.1rem; align-items: start; margin: 0.5rem 0 0; padding: 1.4rem; color: #fff; border-radius: 16px; background: radial-gradient(120% 140% at 100% 0%, #9c1a2c 0%, var(--c-sign) 40%, var(--c-deep) 100%); }
.cp-founder__photo { width: 5rem; height: 5rem; border-radius: 50%; object-fit: cover; border: 3px solid rgba(255, 255, 255, 0.85); }
.cp-founder__photo--mono { display: grid; place-items: center; font-family: var(--font-display); font-size: 2rem; font-weight: 700; color: var(--c-deep); background: var(--c-amber); }
.cp-founder figcaption p { margin: 0; }
.cp-founder__title { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; }
.cp-founder__text { margin-top: 0.35rem !important; line-height: 1.5; opacity: 0.92; }
.cp-founder__sign { display: block; margin-top: 0.4rem; color: #fff; }
.cp-founder__sign svg { display: block; width: 8.5rem; height: auto; }
.cp-founder__name { margin-top: 0.4rem !important; font-family: var(--font-display); font-size: 1.4rem; font-style: italic; }
.cp-founder__more { margin-top: 0.5rem !important; }
.cp-founder__more a { display: inline-flex; align-items: center; gap: 0.3rem; font-weight: 700; color: var(--c-amber); text-decoration: none; }
.cp-founder__more a:hover { text-decoration: underline; }

/* formulaire (même envoi que les autres formulaires du site) */
.request.cp-form { max-width: none; margin: 0; padding: clamp(1.25rem, 3vw, 2.25rem); background: var(--c-mist); border-top: 5px solid var(--c-sign); border-radius: var(--radius); scroll-margin-top: 1rem; }
.cp-form .cp-h2 { margin-bottom: 0.35rem; }
.cp-form__lead { margin: 0 0 0.5rem; color: var(--c-muted); }
.cp-form .form { margin: 0; }
.cp-form .form label:first-of-type { margin-top: 0.9rem; }
.cp-form select, .cp-form textarea, .cp-form input[type="text"], .cp-form input[type="email"], .cp-form input[type="tel"] { width: 100%; }
.cp-form select { padding: 0.55rem 0.9rem; font: inherit; color: var(--c-ink); background: #fff; border: 2px solid var(--c-line); border-radius: var(--radius); }
.cp-form select:focus-visible, .cp-form textarea:focus-visible { border-color: var(--c-sign); }
.cp-form .form__hint { margin: 1rem 0 0; font-size: 0.92rem; }
.cp-form__send { min-width: 12rem; justify-content: center; }
.cp-form .form__ok { margin: 1rem 0 0; }

/* mini-FAQ */
.cp-faq { padding: clamp(1.5rem, 3.5vw, 2.25rem); background: var(--c-mist); border-left: 5px solid var(--c-amber); border-radius: var(--radius); }
.cp-faq__list { display: grid; gap: 0.75rem; }
.cp-faq__item { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); }
.cp-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; font-weight: 700; color: var(--c-deep); cursor: pointer; list-style: none; }
.cp-faq__item summary::-webkit-details-marker { display: none; }
.cp-faq__item summary svg { flex: none; color: var(--c-sign); transition: transform 0.15s; }
.cp-faq__item[open] summary svg { transform: rotate(180deg); }
.cp-faq__a { padding: 0 1.2rem 1rem; line-height: 1.6; }
.cp-faq__a p { margin: 0 0 0.6rem; }
.cp-faq__a > :last-child { margin-bottom: 0; }
.cp-faq__all { margin: 1.25rem 0 0; }

/* cartes « En savoir plus sur nous » */
.cp-cards { display: grid; gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 40em) { .cp-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .cp-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cp-cards li { display: flex; }
.cp-card { display: flex; flex-direction: column; width: 100%; padding: 1.5rem; color: var(--c-ink); text-decoration: none; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s; }
.cp-card:hover, .cp-card:focus-visible { border-color: var(--c-sign); box-shadow: 0 10px 26px rgba(69, 9, 15, 0.1); transform: translateY(-2px); }
.cp-card__icon { display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: 0.9rem; border-radius: 50%; color: #fff; background: var(--c-sign); }
.cp-card__title { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; color: var(--c-deep); }
.cp-card__text { margin: 0.4rem 0 1rem; line-height: 1.5; color: var(--c-muted); }
.cp-card__go { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: auto; font-weight: 700; color: var(--c-sign); }

@media (prefers-reduced-motion: reduce) { .cp-tile, .cp-card, .cp-faq__item summary svg { transition: none; } .cp-tile:hover, .cp-card:hover { transform: none; } }
