/*
 * Carnet Pop — formulaires : CSS minimal fonctionnel (le style visuel est
 * apporté par la feuille du thème). Chargé seulement quand un formulaire est affiché.
 */

/* Badge flottant de Google masqué : la mention légale est affichée sous chaque formulaire protégé. */
.grecaptcha-badge { visibility: hidden !important; }

.cp-form { margin: 0; }
.cp-form__grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.cp-form__field { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.cp-form__field--full { grid-column: 1 / -1; }
.cp-form__field[hidden] { display: none !important; }
.cp-form__field--check { flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: .5rem; }
.cp-form__field--check .cp-form__error { flex-basis: 100%; }
.cp-form__checkbox { margin-top: .25em; flex: none; }
.cp-form__input { width: 100%; box-sizing: border-box; font: inherit; }
.cp-form__textarea { resize: vertical; min-height: 8rem; }
.cp-form__req { color: #b32d2e; }
.cp-form__opt, .cp-form__hint, .cp-form__note { font-size: .875em; opacity: .8; }
.cp-form__hint, .cp-form__note { margin: 0; }
.cp-form__error { margin: 0; color: #b32d2e; font-size: .875em; font-weight: 600; }
.cp-form__field--error .cp-form__input { border-color: #b32d2e; outline-color: #b32d2e; }
.cp-form__actions { margin-top: 1.25rem; display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; }
.cp-form__submit { cursor: pointer; }
.cp-form__submit[disabled], .cp-form[aria-busy="true"] .cp-form__submit { cursor: progress; opacity: .7; }
.cp-form__status:empty { display: none; }
.cp-form__status { margin-top: 1rem; padding: .75rem 1rem; border-left: 4px solid currentColor; }
.cp-form__status p { margin: 0; }
.cp-form__status.is-success { color: #00651a; background: #edfaef; }
.cp-form__status.is-error { color: #8a1f1f; background: #fcf0f1; }
.cp-form__status:focus { outline: 2px solid currentColor; outline-offset: 2px; }

/* Pot de miel : hors écran (pas display:none, que certains robots repèrent). */
.cp-form__hp { position: absolute !important; left: -10000px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Mention légale reCAPTCHA (contact, Mon compte, commande, avis, wp-login.php). */
.cp-recaptcha-notice { margin: .75rem 0 0; font-size: .75rem; line-height: 1.4; opacity: .75; }
.cp-recaptcha-notice a { color: inherit; text-decoration: underline; }
.cp-recaptcha-notice--warning, .cp-recaptcha-error { opacity: 1; color: #8a1f1f; font-weight: 600; }
.cp-recaptcha-error { margin: .75rem 0 0; font-size: .875rem; }
.login form .cp-recaptcha-notice { clear: both; padding-top: .75rem; }
