/* CSE Sonéo preprod - points 3/4/5: accessibilité + responsive renforcés */
:root{
  --cse-tap-target: 48px;
  --cse-readable-line: 1.55;
}
.sr-only,
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.field label,
.form label{line-height:1.35}
.field small,
.form .muted{line-height:var(--cse-readable-line)}
input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"]{
  border-color:#b42318!important;
  box-shadow:0 0 0 4px rgba(180,35,24,.14)!important;
}
[aria-disabled="true"],
button:disabled,
.btn.disabled{cursor:not-allowed!important;opacity:.65}
button,
.btn,
input[type="button"],
input[type="submit"],
input[type="reset"],
summary,
.cse-check-row{
  min-height:var(--cse-tap-target);
}
input[type="checkbox"],
input[type="radio"]{
  min-width:20px;
  min-height:20px;
}
.table-wrap,
.stock-table-wrap,
.stock-sale-table-wrap,
.stock-category-table-wrap{
  position:relative;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.table-wrap:focus-visible,
.stock-table-wrap:focus-visible,
.stock-sale-table-wrap:focus-visible,
.stock-category-table-wrap:focus-visible{
  outline:3px solid rgba(166,200,15,.65);
  outline-offset:4px;
}
.cse-scroll-hint{
  display:none;
  margin:0 0 8px;
  color:var(--muted,#5b6678);
  font-size:.9rem;
  font-weight:800;
}
@media (max-width:760px){
  .cse-scroll-hint{display:block}
  .container{max-width:100%;}
  .section{padding-left:max(0px, env(safe-area-inset-left));padding-right:max(0px, env(safe-area-inset-right));}
  .field,
  .form-grid,
  .admin-form-grid{min-width:0;}
  input,
  select,
  textarea{max-width:100%;}
  .actions,
  .admin-actions,
  .form-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .actions .btn,
  .admin-actions .btn,
  .form-actions .btn,
  .actions button,
  .admin-actions button{
    flex:1 1 150px;
    justify-content:center;
  }
  .table-wrap table,
  .stock-table-wrap table,
  .stock-sale-table-wrap table,
  .stock-category-table-wrap table{
    min-width:760px;
  }
}
@media (max-width:420px){
  body{overflow-wrap:anywhere;}
  h1{font-size:clamp(1.75rem,9vw,2.35rem)}
  h2{font-size:clamp(1.35rem,7vw,1.9rem)}
  .card,
  .admin-module-panel,
  .cse-collapsible-card{border-radius:20px!important;}
  .btn,
  button.btn{width:100%;}
  .main-nav a,
  .admin-mobile-strip__grid a{font-size:.95rem;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}
@media (forced-colors:active){
  a:focus-visible,
  button:focus-visible,
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible,
  summary:focus-visible{
    outline:3px solid CanvasText!important;
    box-shadow:none!important;
  }
  .btn,
  .card,
  .table-wrap{border:1px solid CanvasText!important;}
}

/* Cibles tactiles critiques des ecrans de connexion. */
.cse-password-toggle,
.admin-login-form .btn{
  min-height:var(--cse-tap-target)!important;
}
