/* V798c — compact Public/Touchscreen selected-stand label.
   Scoped to visitor modes so Admin and Exhibitor remain unchanged. */
body.publicDirectoryMode #floatingLabel,
body.touchscreenMode #floatingLabel{
  min-width:0;
  max-width:min(220px, calc(100vw - 28px));
  padding:6px 8px;
  border-width:1px;
  border-radius:12px;
  box-shadow:0 10px 22px rgba(0,0,0,.12);
}
body.publicDirectoryMode .floatingStandRow,
body.touchscreenMode .floatingStandRow{
  gap:5px;
}
body.publicDirectoryMode #floatingStand,
body.touchscreenMode #floatingStand{
  flex:0 1 auto;
  padding:3px 7px;
  border-radius:8px;
  background:color-mix(in srgb, var(--accentText) 10%, white);
  font-size:13px;
  line-height:1;
  font-weight:950;
}
body.publicDirectoryMode .floatingVisitListBtn,
body.touchscreenMode .floatingVisitListBtn{
  width:24px;
  min-width:24px;
  height:24px;
  font-size:14px;
  border-width:1px;
}
body.publicDirectoryMode .floatingInfoBtn,
body.touchscreenMode .floatingInfoBtn{
  min-width:38px;
  height:24px;
  padding:0 7px;
  font-size:10px;
}
body.publicDirectoryMode #floatingCompany,
body.touchscreenMode #floatingCompany{
  margin-top:4px;
  max-width:204px;
  font-size:13px;
  line-height:1.12;
  font-weight:900;
}
@media (max-width:700px){
  body.publicDirectoryMode #floatingLabel,
  body.touchscreenMode #floatingLabel{
    max-width:min(190px, calc(100vw - 24px));
    padding:5px 7px;
  }
  body.publicDirectoryMode #floatingCompany,
  body.touchscreenMode #floatingCompany{
    max-width:176px;
    font-size:12px;
  }
}


/* V798c: fixed small metadata. These rules intentionally override legacy
   inline font sizes created by the floating-label renderer. */
body.publicDirectoryMode #floatingSpace,
body.touchscreenMode #floatingSpace{
  margin-top:3px !important;
  font-size:9px !important;
  line-height:1.12 !important;
  font-weight:750 !important;
  opacity:.62 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
body.publicDirectoryMode #floatingCategory,
body.touchscreenMode #floatingCategory{
  margin-top:1px !important;
  max-width:174px !important;
  font-size:9px !important;
  line-height:1.12 !important;
  font-weight:750 !important;
  opacity:.62 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  overflow-wrap:anywhere !important;
}
@media (max-width:700px){
  body.publicDirectoryMode #floatingLabel,
  body.touchscreenMode #floatingLabel{
    max-width:min(178px, calc(100vw - 24px));
  }
  body.publicDirectoryMode #floatingStand,
  body.touchscreenMode #floatingStand{
    font-size:12px;
    padding:3px 6px;
  }
  body.publicDirectoryMode #floatingCategory,
  body.touchscreenMode #floatingCategory{
    max-width:164px !important;
    font-size:8.5px !important;
  }
}


/* V798c: Public My List mirrors the latched Exhibitors-row selection. */
body.publicDirectoryMode #publicDirectoryShell .visitorListItem.visitorListItemSelected .visitorListItemMain{
  background:color-mix(in srgb, var(--accentText) 12%, white)!important;
  border:2px solid color-mix(in srgb, var(--accentText) 26%, white)!important;
}
body.publicDirectoryMode #publicDirectoryShell .visitorListItem.visitorListItemSelected .visitorListItemStand,
body.publicDirectoryMode #publicDirectoryShell .visitorListItem.visitorListItemSelected .visitorListItemCompany{
  color:var(--accentText)!important;
}

/* V798c — slightly larger selected-stand label type on desktop Public and
   Touchscreen. Phone/tablet sizing remains unchanged. */
@media (min-width:981px){
  body.publicDirectoryMode #floatingLabel,
  body.touchscreenMode #floatingLabel{
    max-width:min(250px, calc(100vw - 36px));
    padding:7px 9px;
  }
  body.publicDirectoryMode #floatingStand,
  body.touchscreenMode #floatingStand{
    font-size:15px;
    padding:4px 8px;
  }
  body.publicDirectoryMode #floatingCompany,
  body.touchscreenMode #floatingCompany{
    max-width:232px;
    font-size:15px;
    line-height:1.15;
  }
  body.publicDirectoryMode #floatingSpace,
  body.touchscreenMode #floatingSpace{
    font-size:10px!important;
  }
  body.publicDirectoryMode #floatingCategory,
  body.touchscreenMode #floatingCategory{
    max-width:224px!important;
    font-size:10px!important;
  }
}

/* V798c standalone list-header sorting styles for Public event wrappers and Touchscreen. */
.standListSortControls{display:none!important;}
.standListHeaderSort{
  appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;gap:5px;
  max-width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;
  font:inherit;font-weight:inherit;text-align:left;cursor:pointer;touch-action:manipulation;
}
.standListHeaderSortArrow{display:inline-flex;align-items:center;justify-content:center;min-width:18px;min-height:18px;color:color-mix(in srgb,var(--accentText) 72%,var(--muted));font-family:Arial,Helvetica,sans-serif;font-size:.98em;font-weight:900;line-height:1;letter-spacing:-1px;-webkit-text-stroke:.35px currentColor;}
.standListHeaderSort.isActive .standListHeaderSortArrow{color:var(--accentText);font-size:1.04em;-webkit-text-stroke:.5px currentColor;}
.standListHeaderSort:focus-visible{outline:2px solid color-mix(in srgb,var(--accentText) 55%,transparent);outline-offset:3px;border-radius:4px;}

@media (max-width:720px),
       (max-width:980px) and (orientation:landscape) and (pointer:coarse){
  body.publicDirectoryMode #publicDirectoryShell #standsCard .tableControls,
  body.touchscreenMode #standsCard .tableControls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    gap:5px!important;
  }
  body.publicDirectoryMode #publicDirectoryShell #standsCard .tableControls #search,
  body.touchscreenMode #standsCard .tableControls #search{grid-column:1!important;}
  body.publicDirectoryMode #publicDirectoryShell #standsCard .tableControls #searchResetBtn,
  body.touchscreenMode #standsCard .tableControls #searchResetBtn{grid-column:2!important;}
}


/* V798c — phone labels stay orientation-first and protect the selected stand.
   Full details remain available in the Selected/Info panels. */
@media (max-width:720px),
       (max-width:980px) and (orientation:landscape) and (pointer:coarse){
  body.publicDirectoryMode #floatingLabel,
  body.touchscreenMode #floatingLabel,
  body.viewerHeaderControlsMode #floatingLabel{
    min-width:0!important;
    max-width:min(166px,calc(100vw - 20px))!important;
    padding:5px 6px!important;
    border-radius:11px!important;
  }
  body.publicDirectoryMode #floatingSpace,
  body.publicDirectoryMode #floatingCategory,
  body.touchscreenMode #floatingSpace,
  body.touchscreenMode #floatingCategory,
  body.viewerHeaderControlsMode #floatingSpace,
  body.viewerHeaderControlsMode #floatingCategory{
    display:none!important;
  }
  body.viewerHeaderControlsMode .floatingStandRow{
    gap:4px!important;
    width:100%!important;
  }
  body.viewerHeaderControlsMode #floatingStand{
    min-width:0!important;
    flex:1 1 auto!important;
    font-size:12px!important;
    padding:3px 6px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.viewerHeaderControlsMode #floatingSize{
    margin-top:3px!important;
    font-size:9.5px!important;
    line-height:1.1!important;
  }
  body.viewerHeaderControlsMode #floatingCompany{
    max-width:152px!important;
    margin-top:3px!important;
    font-size:11.5px!important;
    line-height:1.12!important;
  }
  body.viewerHeaderControlsMode .floatingInfoBtn{
    min-width:31px!important;
    width:auto!important;
    height:23px!important;
    padding:0 6px!important;
    font-size:9px!important;
  }
  body.viewerHeaderControlsMode .floatingEnquiryBtn.isCompactPhoneEnquiry{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:42px!important;
    height:23px!important;
    min-height:23px!important;
    margin:0!important;
    padding:0 7px!important;
    font-size:9px!important;
    line-height:1!important;
  }
  body.publicDirectoryMode #floatingCompany,
  body.touchscreenMode #floatingCompany{
    max-width:150px!important;
    font-size:11.5px!important;
  }
  body.publicDirectoryMode .floatingVisitListBtn,
  body.touchscreenMode .floatingVisitListBtn{
    width:22px!important;
    min-width:22px!important;
    height:22px!important;
    font-size:13px!important;
  }
  body.publicDirectoryMode .floatingInfoBtn,
  body.touchscreenMode .floatingInfoBtn{
    min-width:31px!important;
    height:22px!important;
    padding:0 6px!important;
    font-size:9px!important;
  }
}


/* V798c — compact Admin/Exhibitor phone labels avoid repeating information
   already available through Details. */
@media (max-width:720px),
       (max-width:980px) and (orientation:landscape) and (pointer:coarse){
  body.viewerHeaderControlsMode #floatingLabel,
  body.adminHeaderControlsMode #floatingLabel{
    min-width:0!important;
    max-width:min(180px,calc(100vw - 20px))!important;
    padding:5px 6px!important;
    border-radius:11px!important;
  }
  body.viewerHeaderControlsMode #floatingSize,
  body.viewerHeaderControlsMode #floatingSpace,
  body.viewerHeaderControlsMode #floatingCategory,
  body.adminHeaderControlsMode #floatingSize,
  body.adminHeaderControlsMode #floatingSpace{
    display:none!important;
  }
  body.adminHeaderControlsMode #floatingExhibitorInfoBtn{
    display:none!important;
  }
  body.viewerHeaderControlsMode #floatingCompany,
  body.adminHeaderControlsMode #floatingCompany{
    display:block!important;
    max-width:166px!important;
    margin-top:3px!important;
    font-size:11px!important;
    line-height:1.12!important;
    font-weight:800!important;
    white-space:normal!important;
  }
  body.viewerHeaderControlsMode .floatingStandRow,
  body.adminHeaderControlsMode .floatingStandRow{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:4px!important;
    width:100%!important;
  }
  body.viewerHeaderControlsMode #floatingStand,
  body.adminHeaderControlsMode #floatingStand{
    flex:1 1 auto!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.viewerHeaderControlsMode #floatingDetailsBtn,
  body.adminHeaderControlsMode #floatingDetailsBtn,
  body.viewerHeaderControlsMode .floatingEnquiryBtn.isCompactPhoneEnquiry{
    flex:0 0 auto!important;
  }
}
