/* AV Integration Tools 0.7.071 — Deux dispositions uniquement : PC et téléphone.
   Une base HTML et JS par outil ; la largeur disponible pilote la présentation. */
:root{--av-phone-breakpoint:767px}
@media (min-width:768px){
  /* PC : conserver la mise en page et la largeur fluide des calculateurs. */
  body.av-has-sidebar .wrap{min-width:0}
}
@media (max-width:767px){
  html{scroll-padding-top:8px}
  body{min-width:0;overflow-x:clip}
  body.av-has-sidebar{padding-left:0!important}
  body.av-has-sidebar header{padding:16px 100px 14px 16px!important;min-height:92px}
  body.av-has-sidebar header h1{font-size:21px;line-height:1.15}
  body.av-has-sidebar header .eyebrow{font-size:10px;line-height:1.5;letter-spacing:.9px}
  body.av-has-sidebar .wrap,.wrap{width:100%;min-width:0;max-width:none;padding:14px 12px 36px!important}
  .av-mobile-toggle{display:block!important;position:absolute!important;top:12px;right:12px;min-height:42px;min-width:78px;z-index:32}
  .av-sidebar{transform:translateX(-101%);transition:transform .18s ease;box-shadow:12px 0 24px #0006}
  .av-sidebar.av-open{transform:translateX(0)}
  /* Touch : des commandes réellement manipulables sans navigateur qui zoome à la saisie. */
  button,select,input:not([type=range]):not([type=checkbox]){font-family:inherit}
  input:not([type=range]):not([type=checkbox]),select,textarea{font-size:16px}
  .tabs button,.placement-tabs button,.actionrow button,.dual-option{min-height:42px}
  .panel,.panel.main,.main-panel{max-width:100%;min-width:0}
  .panel-head{min-width:0}
  .schematic, .view-illustration, .sim-pair{max-width:100%;min-width:0}
  svg{max-width:100%}
  /* Salle vide (deux variantes) : vrai affichage téléphone, sans vue spécifique dupliquée. */
  .workspace{grid-template-columns:minmax(0,1fr)!important}
  .test-workspace{display:block!important}
  .test-setup,.test-vp{padding:12px!important}
  .test-setup-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px}
  .test-setup-controls{min-width:0}
  .test-setup-display{min-width:0;padding:8px}
  .test-setup-display .test-room-3d{padding:7px 5px 10px}
  .test-setup-display .kpis,.test-kpis .kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .test-setup-display .kpi,.test-kpis .kpi{min-width:0;padding:8px 5px}
  .test-setup-display .kpi strong,.test-kpis .kpi strong{font-size:13px}
  .test-setup-display .kpi small,.test-kpis .kpi small{font-size:10px}
  .test-setup .screen-choices{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .test-setup .screen-choices .option,.test-setup .screen-choices .custom-inline{min-height:128px;padding:8px}
  .test-setup .screen-choices .custom-inline .entry input{font-size:16px}
  .test-vp-stage{display:block}
  .test-stage-view{min-width:0;padding:7px 7px 9px}
  .test-stage-view .test-distance-control{height:84px}
  .test-distance-control .slider-field label{font-size:11px}
  .test-sim-canvas{min-width:0;overflow:hidden!important}
  .test-optics{grid-template-columns:minmax(0,1fr)!important;gap:8px}
  .test-optic-zoom,.test-optic-lens,.test-kpis{padding:9px}
  .test-optic-zoom .vp-zoom-control{grid-template-columns:minmax(98px,1fr) minmax(70px,1fr) 64px;gap:6px}
  .test-vp-bottom{display:flex;flex-direction:column;align-items:stretch;gap:9px}
  .test-vp-status,.test-vp-actions{width:100%}
  .test-vp-actions .actionrow{justify-content:stretch;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);width:100%;gap:7px}
  .test-vp-actions .actionrow button{min-height:42px;padding:8px 5px;font-size:12px;white-space:normal}
  .test-vp-status #vpStatus{min-height:46px}
  .test-screen-settings .slider-field{grid-template-columns:minmax(90px,.9fr) minmax(80px,1.2fr) 84px;gap:5px}
  .room-canvas-layout{grid-template-columns:51px minmax(0,1fr)}
  .room-width-control{height:72px}
  .room-width-control .entry{width:76px}
  .room-height-axis label{font-size:10px}
  .room-height-axis .entry{width:77px!important;left:-4px!important;bottom:-40px;min-height:32px}
  .room-height-axis .entry input{font-size:14px!important;min-width:0;padding:4px 2px 4px 5px}
  .room-height-axis .entry span{font-size:10px;padding-right:4px}
  .test-height-control .test-height-entry{width:72px;left:1px}
  .test-height-control .test-height-entry input{font-size:13px!important;padding:5px 3px!important}
  /* Calculateur AMP : privilégier la saisie, puis les caractéristiques, sur une colonne. */
  .equipment-layout{grid-template-columns:minmax(0,1fr)!important;gap:10px}
  .equipment-pane{min-width:0;padding:11px}
  .speaker-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .speaker-tab,.speaker-add{min-height:44px}
  .dual-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dual-option{font-size:12px;padding:8px 5px}
  /* Simulation libre : les résultats restent sous les paramètres sur téléphone. */
  .vp-workspace{grid-template-columns:minmax(0,1fr)!important}
  .vp-workspace .field input,.vp-workspace select{min-width:0}
  /* Pense-bête : cartes et filtres à largeur fluide. */
  .usb-grid{grid-template-columns:minmax(0,1fr)!important}
  .tag-filter-bar{max-width:100%;min-width:0}
  .protocol-card,.usb-card{min-width:0}
  .actionrow{flex-wrap:wrap}
}
