/* Espace 360Hd : une seule feuille pour tous les sites. Les couleurs et les polices arrivent en variables (sites/<code>.json). */
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--fond);color:var(--texte);font-family:var(--police-corps);font-size:16px;line-height:1.45}
a{color:var(--lien)}
.page{min-height:100vh;display:flex;flex-direction:column;max-width:560px;margin:0 auto}
.entete{background:var(--entete);border-bottom:1px solid var(--bordure);padding:14px 20px;display:flex;flex-direction:column;gap:10px}
.logo{font-family:var(--police-titre);font-weight:800;font-size:23px;color:var(--logo);text-decoration:none;letter-spacing:-.01em}
.logo-accent{color:var(--accent-logo,var(--lien))}
.menu{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:15px;font-weight:600}
.menu a{color:var(--texte);text-decoration:none;padding:6px 0}
.menu a.actif{color:var(--lien)}
.contenu{flex-grow:1;padding:28px 20px 20px;display:flex;flex-direction:column;gap:22px}
.titre h1{margin:0;font-family:var(--police-titre);font-weight:800;font-size:30px;line-height:1.12;color:var(--titre)}
.titre .accent{color:var(--accent-titre)}
.sous-titre{margin:6px 0 0;font-size:15px;color:var(--attenue)}
.carte{background:var(--surface);border:1px solid var(--bordure);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:12px}
.carte h2{margin:0;font-family:var(--police-titre);font-size:20px;color:var(--titre)}
label{font-weight:700;font-size:15px;color:var(--titre)}
input{height:48px;border:1px solid var(--bordure-champ);border-radius:10px;padding:0 14px;font-size:16px;font-family:inherit;color:var(--titre);background:var(--champ);width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--lien);outline-offset:1px}
select,textarea{border:1px solid var(--bordure-champ);border-radius:10px;padding:10px 14px;font-size:16px;font-family:inherit;color:var(--titre);background:var(--champ);width:100%}
select{height:48px}
input[type=checkbox]{accent-color:var(--bouton)}
input[type=file]{height:auto;padding:10px;font-size:15px}
.bouton-secondaire{display:flex;align-items:center;justify-content:center;min-height:48px;border:2px solid var(--bouton);border-radius:10px;color:var(--titre);font-weight:700;text-decoration:none;background:var(--surface)}
.photo-cheval{width:100%;max-height:260px;object-fit:cover;border-radius:14px;border:1px solid var(--bordure)}
label.case{display:flex;gap:10px;align-items:center;font-weight:600;min-height:44px}
label.case input{width:22px;height:22px;flex:0 0 22px}
.badges{margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.badge{display:inline-block;font-size:13px;font-weight:700;line-height:1;padding:6px 10px;border-radius:14px;border:1px solid var(--bordure);color:var(--titre);background:var(--surface)}
.badge-ok{border-color:#2E8B57;color:var(--titre)}
.badge-ok::before{content:"";display:inline-block;width:8px;height:8px;border-radius:4px;background:#2E8B57;margin-right:6px}
.badge-a-faire,.badge-attention{border-color:#C98A12}
.badge-a-faire::before,.badge-attention::before{content:"";display:inline-block;width:8px;height:8px;border-radius:4px;background:#C98A12;margin-right:6px}
.badge-urgent{border-color:#D1495B}
.badge-urgent::before{content:"";display:inline-block;width:8px;height:8px;border-radius:4px;background:#D1495B;margin-right:6px}
.badge-recommandation::before{content:"";display:inline-block;width:8px;height:8px;border-radius:4px;background:var(--puce);margin-right:6px}
.rappels,.soins{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.rappels li,.soins li{display:flex;flex-direction:column;gap:4px;padding-bottom:10px;border-bottom:1px solid var(--bordure)}
.cheval-lien{display:flex;flex-wrap:wrap;gap:8px;align-items:center;text-decoration:none;color:var(--titre);min-height:44px}
button{font-family:inherit}
form > button,.carte > button:not(.lien){height:48px;border:0;border-radius:10px;background:var(--bouton);color:var(--texte-bouton);font-size:16px;font-weight:700;cursor:pointer}
button[disabled]{opacity:.6;cursor:wait}
button.lien{background:none;border:0;padding:0;color:var(--lien);text-decoration:underline;font-size:inherit;cursor:pointer;align-self:flex-start;min-height:44px}
.aide{margin:0;font-size:14px;color:var(--attenue)}
.erreur{margin:0;font-size:14px;font-weight:600;color:var(--titre);border-left:0;border-top:3px solid #D1495B;padding-top:8px}
form{display:flex;flex-direction:column;gap:12px}
.fonctions,.modules,.chevaux{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;font-size:15px}
.fonctions li{display:flex;gap:10px;align-items:flex-start}
.puce{flex:0 0 8px;height:8px;margin-top:7px;border-radius:4px;background:var(--puce)}
.chevaux li{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--bordure)}
.modules li{font-weight:600;color:var(--titre)}
.pied{padding:14px 20px 20px;font-size:13px;color:var(--attenue);border-top:1px solid var(--bordure);display:flex;flex-direction:column;gap:4px}
