/* Contact uniquement : composants natifs Gutenberg et CF7 conservés. */
.t4hi-contact { overflow-wrap: anywhere; }
.t4hi-contact__intro,
.t4hi-contact__section { max-width: 60rem; margin-inline: auto; }
.t4hi-contact__intro { padding: var(--t4hi-space-5); background: var(--t4hi-color-background-soft); border-radius: var(--t4hi-radius-card); }
.t4hi-contact__intro > :first-child { color: var(--t4hi-color-primary); font-weight: 700; letter-spacing: .06em; }
.t4hi-contact__intro > :last-child,
.t4hi-contact__card > :last-child { margin-bottom: 0; }
.t4hi-contact__section { margin-top: var(--t4hi-section-space); }
.t4hi-contact__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--t4hi-space-4); }
.t4hi-contact__card { min-width: 0; padding: var(--t4hi-space-5); background: var(--t4hi-color-white); border: 1px solid color-mix(in srgb, var(--t4hi-color-primary) 20%, transparent); border-radius: var(--t4hi-radius-card); box-shadow: var(--t4hi-shadow-soft); }
.t4hi-contact__card h3 { margin-top: 0; }
.t4hi-contact .wpcf7 { max-width: 48rem; margin-top: var(--t4hi-space-5); }
.t4hi-contact .wpcf7-form { padding: var(--t4hi-space-5); background: var(--t4hi-color-background); border-radius: var(--t4hi-radius-card); }
.t4hi-contact .wpcf7-form p { margin-bottom: var(--t4hi-space-4); }
.t4hi-contact .wpcf7 label { display: block; font-weight: 600; color: var(--t4hi-color-text); }
.t4hi-contact .wpcf7-form-control-wrap { display: block; margin-top: var(--t4hi-space-2); }
.t4hi-contact .wpcf7 :is(input[type="text"], input[type="email"], select, textarea) { box-sizing: border-box; display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 44px; padding: .75rem; border: 1px solid var(--t4hi-color-text-muted); border-radius: var(--t4hi-radius-button); background-color: var(--t4hi-color-white); color: var(--t4hi-color-text); font: inherit; }
.t4hi-contact .wpcf7 textarea { min-height: 10rem; resize: vertical; }
.t4hi-contact .wpcf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.t4hi-contact .wpcf7 .wpcf7-acceptance label { display: flex; align-items: flex-start; gap: var(--t4hi-space-3); min-height: 44px; padding-block: .5rem; font-weight: 400; cursor: pointer; }
.t4hi-contact .wpcf7 input[type="checkbox"] { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin-top: .2rem; accent-color: var(--t4hi-color-primary); }
.t4hi-contact .wpcf7 input[type="submit"] { min-height: 44px; max-width: 100%; padding: .75rem var(--t4hi-space-5); border: 1px solid var(--t4hi-color-primary); border-radius: var(--t4hi-radius-button); background: var(--t4hi-color-primary); color: var(--t4hi-color-white); font: inherit; font-weight: 600; white-space: normal; cursor: pointer; }
.t4hi-contact .wpcf7 input[type="submit"]:hover { background: var(--t4hi-color-primary-dark); }
.t4hi-contact .wpcf7 :is(input, select, textarea):focus-visible { outline: var(--t4hi-focus-width) solid var(--t4hi-focus-color); outline-offset: var(--t4hi-focus-offset); }
.t4hi-contact .wpcf7 .wpcf7-not-valid-tip { color: var(--t4hi-color-text); font-weight: 600; margin-top: .5rem; }
.t4hi-contact .wpcf7 form .wpcf7-response-output { margin: var(--t4hi-space-4) 0 0; padding: var(--t4hi-space-3); color: var(--t4hi-color-text); background: var(--t4hi-color-white); overflow-wrap: anywhere; }
@media (min-width: 48rem) { .t4hi-contact__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 47.99rem) { .t4hi-contact__intro, .t4hi-contact__card, .t4hi-contact .wpcf7-form { padding: var(--t4hi-space-4); } }
