/* Copyright (C) 2026      Richard Carlier (Basilik) <carlier.r@gmail.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org/licenses/>.
 */

/* Formulaire Interco : sans dépendance au thème ; police et couleurs du thème gardées (currentColor, inherit) */
.bico { max-width: 40rem; box-sizing: border-box; }
.bico *, .bico *::before, .bico *::after { box-sizing: border-box; }
.bico [hidden] { display: none !important; }
.bico-form { margin: 0; }
.bico-titre { margin: 0 0 .5em; }
.bico-champ { margin: 0 0 1em; }
.bico-champ label, .bico-groupe legend { display: block; font-weight: 600; margin-bottom: .3em; }
.bico-champ input[type="text"], .bico-champ input[type="tel"], .bico-champ input[type="email"], .bico-champ textarea {
	display: block; width: 100%; min-height: 2.9rem; padding: .55em .7em; font: inherit; font-size: max(16px, 1em);
	color: inherit; background: #fff; border: 1px solid #6b6b6b; border-radius: 4px;
}
.bico-champ textarea { min-height: 5.5rem; resize: vertical; }
.bico input:focus-visible, .bico textarea:focus-visible, .bico button:focus-visible, .bico a:focus-visible, .bico-resume:focus-visible {
	outline: 3px solid #1d4ed8; outline-offset: 2px;
}
.bico-groupe { border: 0; padding: 0; margin: 0 0 1.2em; min-width: 0; }
.bico-groupe legend { padding: 0; }
.bico-aide, .bico-note { font-size: .92em; margin: 0 0 .6em; }
.bico-requis { text-decoration: none; border: 0; color: #b32d2e; }
.bico-erreur { color: #b32d2e; font-weight: 600; margin: .3em 0 0; }
.bico-en-erreur input[type="text"], .bico-en-erreur input[type="tel"], .bico-en-erreur input[type="email"], .bico-en-erreur textarea { border: 2px solid #b32d2e; }
.bico-resume { border: 2px solid #b32d2e; border-radius: 4px; padding: .6em .9em; margin: 0 0 1em; background: #fff5f5; color: #3a0b0b; }
.bico-resume p { margin: 0 0 .3em; font-weight: 600; }
.bico-resume ul { margin: 0; padding-left: 1.2em; }
.bico-resume a { color: inherit; }
.bico-confirmation { border: 2px solid #1a7f37; border-radius: 4px; padding: .8em 1em; background: #f0fff4; color: #0b3a17; }
.bico-confirmation p { margin: 0 0 .4em; }
.bico-choix { display: flex; flex-wrap: wrap; gap: .5em; }
.bico-radio { display: flex; align-items: flex-start; gap: .55em; min-height: 2.75rem; padding: .5em .7em; border: 1px solid #767676; border-radius: 4px; cursor: pointer; font-weight: 400; }
.bico-choix .bico-radio { flex: 1 1 10rem; }
.bico-radio input { width: 1.3em; height: 1.3em; margin: .1em 0 0; flex: none; }
.bico-consentement .bico-radio { border: 0; padding: .3em 0; font-weight: 400; }
.bico-grille-cadre { overflow-x: auto; }
.bico-grille { border-collapse: collapse; width: 100%; margin: 0; table-layout: fixed; }
.bico-grille th, .bico-grille td { border: 1px solid #767676; padding: 0; text-align: center; font-size: .95em; }
.bico-grille thead th { padding: .4em .2em; font-weight: 600; word-break: break-word; }
.bico-grille tbody th { text-align: left; padding: .4em .4em; font-weight: 600; width: 34%; word-break: break-word; font-size: .9em; }
.bico-case { display: flex; align-items: center; justify-content: center; min-height: 2.9rem; width: 100%; cursor: pointer; margin: 0; }
.bico-case input { width: 1.4em; height: 1.4em; margin: 0; }
.bico-case:has(input:checked) { background: #e8f0fe; }
.bico-turnstile { margin: 0 0 1em; min-height: 65px; }
.bico-envoyer { display: block; width: 100%; min-height: 3rem; font: inherit; font-weight: 700; cursor: pointer; }
.bico-envoyer[disabled] { opacity: .7; cursor: progress; }
@media (min-width: 600px) { .bico-envoyer { width: auto; padding-left: 2em; padding-right: 2em; } }
.bico-vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.bico-piege { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
/* Mention d'information sous le bouton d'envoi (0.2.2, consentement « mention seule ») */
.bico-mention { font-size: .92em; margin: .8em 0 0; }
.bico-mention p { margin: 0 0 .5em; }
/* Liens du texte du consentement (0.2.2) : soulignés, visibles au clavier */
.bico a.bico-lien { text-decoration: underline; }
.bico a.bico-lien:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
