/**
 * SPOTD — Couche responsive globale (mobile, tablette, desktop, encoches).
 * À charger après Bootstrap sur les layouts public, espace membre et admin.
 */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: var(--spotd-scroll-offset, 5.5rem);
}

body {
  overflow-wrap: break-word;
}

img,
svg,
video,
canvas {
  max-width: 100%;
  height: auto;
}

iframe {
  max-width: 100%;
}

pre,
code,
kbd,
samp {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-responsive {
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
}

.spotd-front-main,
.spotd-dashboard-main,
main.content-wrapper.spotd-admin-main,
#main-content,
#app {
  min-width: 0;
}

body.admin-theme-dark #content-wrapper.d-flex {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}

button,
[type="button"],
[type="submit"],
[type="reset"],
.btn,
a.btn,
summary {
  touch-action: manipulation;
}

@media (max-width: 576px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),
  select,
  textarea,
  .form-control,
  .form-select {
    font-size: 1rem;
  }
}

@media (max-width: 576px) and (pointer: coarse) {
  .btn:not(.btn-close):not(.btn-sm):not(.btn-link) {
    min-height: 2.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

@supports (bottom: env(safe-area-inset-bottom)) {
  .spotd-scroll-top {
    right: max(1.1rem, calc(0.5rem + env(safe-area-inset-right, 0px)));
    bottom: max(1.1rem, calc(0.65rem + env(safe-area-inset-bottom, 0px)));
  }
}
