/* =========================================================
   Faunelya V2.12.0 — UX globale
   Améliorations transversales sans refonte visuelle : feedback,
   menus, focus, navigation active et comportement responsive.
   ========================================================= */

/* Focus clavier cohérent et visible, sans contour permanent à la souris. */
body.az-v12 :where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid rgba(31,139,98,.26)!important;
  outline-offset:2px!important;
}
body.az-v12 :where(input,select,textarea):focus-visible{
  border-color:#6ba889!important;
  box-shadow:0 0 0 3px rgba(31,139,98,.10)!important;
}

/* Le sous-menu desktop indique enfin précisément la page courante. */
.az-nav-menu a.is-active{
  background:#e9f2ec;
  color:#155d43;
  font-weight:850;
}
.az-nav-menu a.is-active:before{content:"•";margin-right:6px;color:#27875f}
.az-nav-menu a.is-locked{color:#8d9891;opacity:.72}
.az-nav-menu a.is-locked:after{content:"  🔒";font-size:9px;filter:grayscale(1);opacity:.75}

/* Le point rouge n'existe que lorsqu'un événement actif existe réellement. */
.az-notif:not(.has-alert) i{display:none!important}
.az-notif.has-alert{background:rgba(255,255,255,.055)}
.az-notif.has-alert i{animation:v212-alert-pulse 2.2s ease-in-out infinite}
@keyframes v212-alert-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,98,91,.28)}50%{box-shadow:0 0 0 5px rgba(255,98,91,0)}}

/* Boutons API : l'action est immédiatement perceptible sans changer le libellé. */
body.az-v12 button[data-loading="1"],body.az-v12 .button[data-loading="1"]{
  position:relative;
  cursor:wait!important;
  opacity:.72!important;
  padding-right:34px!important;
}
body.az-v12 button[data-loading="1"]:after,body.az-v12 .button[data-loading="1"]:after{
  content:"";
  position:absolute;
  right:11px;
  top:50%;
  width:11px;
  height:11px;
  margin-top:-6px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  opacity:.78;
  animation:v212-spin .7s linear infinite;
}
@keyframes v212-spin{to{transform:rotate(360deg)}}
form[aria-busy="true"]{cursor:wait}
.form-message.success,.form-message.error{font-weight:700}

/* Feedback global : complète le message local sans créer une nouvelle page/modal. */
.az-toast-host{
  position:fixed;
  z-index:2000;
  right:18px;
  top:72px;
  width:min(360px,calc(100vw - 28px));
  display:grid;
  gap:8px;
  pointer-events:none;
}
.az-toast{
  display:grid;
  grid-template-columns:26px minmax(0,1fr) 24px;
  align-items:center;
  gap:8px;
  padding:10px 10px 10px 11px;
  border:1px solid #cfdad2;
  border-radius:12px;
  background:#fffdf8;
  color:#19382d;
  box-shadow:0 12px 32px rgba(8,42,31,.16);
  opacity:0;
  transform:translateY(-7px) scale(.985);
  transition:opacity .18s ease,transform .18s ease;
  pointer-events:auto;
}
.az-toast.visible{opacity:1;transform:translateY(0) scale(1)}
.az-toast.leaving{opacity:0;transform:translateY(-5px) scale(.985)}
.az-toast>span{
  width:26px;height:26px;display:grid;place-items:center;border-radius:50%;
  background:#e6f2e9;color:#22714d;font-size:13px;font-weight:950;
}
.az-toast.error{border-color:#efd0ca;background:#fffaf8;color:#7d352f}
.az-toast.error>span{background:#f8e6e2;color:#a44339}
.az-toast b{font-size:11px;line-height:1.35;font-weight:750}
.az-toast button{width:24px;height:24px;padding:0;border:0;border-radius:7px;background:transparent;color:#75827a;font-size:16px;cursor:pointer}
.az-toast button:hover{background:#eef1eb;color:#1c4133}

/* Les onglets horizontaux restent faciles à parcourir sur petits écrans. */
.enclosure-tabs,.breeding-tabs,.market-tabs{
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
}
.enclosure-tabs>*,.breeding-tabs>*,.market-tabs>*{scroll-snap-align:center}

/* Évite la zone intermédiaire tablette où le header devenait trop tassé. */
@media(max-width:1180px) and (min-width:861px){
  .az-topbar-inner{width:min(1500px,calc(100% - 20px));gap:13px}
  .az-mainnav{gap:13px;font-size:11px}
  .az-brand{font-size:18px;gap:7px}
  .az-top-actions{gap:5px}
  .az-icon-btn{width:28px;height:28px;font-size:16px}
  .az-wallet{padding:6px 8px;font-size:11px}
}
@media(max-width:980px) and (min-width:861px){
  .az-mainnav{gap:9px;font-size:10px}
  .az-brand strong{font-size:17px}
  .az-top-actions>.az-icon-btn:first-child{display:none}
}

@media(max-width:860px){
  .az-toast-host{top:auto;right:10px;left:10px;bottom:calc(72px + env(safe-area-inset-bottom,0px));width:auto}
  .az-toast{grid-template-columns:24px minmax(0,1fr) 22px;padding:9px}
  .az-toast>span{width:24px;height:24px}
  .az-mobile-sheet a.active{background:#e5f0e8!important;color:#176c4d!important;font-weight:900!important}
  .az-mobile-sheet a.active:before{content:"• ";color:#2d9368}
}

@media(prefers-reduced-motion:reduce){
  .az-toast,.az-notif.has-alert i{transition:none!important;animation:none!important}
  body.az-v12 button[data-loading="1"]:after,body.az-v12 .button[data-loading="1"]:after{animation-duration:1.4s}
}
