/* Website CMS admin + public responsive helpers — 360 / 768 / 1024 / 1440 */

:root {
  --ws-tap-min: 44px;
}

/* Page / section / menu / form builder two-pane → single column below ~900px */
@media (max-width: 899.98px) {
  .website-builder-panes,
  .ws-page-builder,
  #website-page-builder,
  .menu-builder-layout,
  .form-builder-layout {
    display: flex !important;
    flex-direction: column !important;
  }

  .website-builder-panes > *,
  .ws-page-builder > *,
  .menu-builder-layout > *,
  .form-builder-layout > *,
  .website-builder-panes > [class*="col-"],
  .menu-builder-layout > [class*="col-"],
  .form-builder-layout > [class*="col-"],
  .ws-page-builder > [class*="col-"] {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Drag-and-drop fallback: show up/down reorder controls on narrow viewports */
  .ws-reorder-fallback,
  [data-reorder-fallback] {
    display: inline-flex !important;
    gap: 0.35rem;
  }

  .ws-reorder-fallback button,
  [data-reorder-fallback] button,
  .btn-move-up,
  .btn-move-down {
    min-width: var(--ws-tap-min);
    min-height: var(--ws-tap-min);
  }

  [data-drag-handle],
  .drag-handle {
    display: none !important;
  }
}

@media (min-width: 900px) {
  .ws-reorder-fallback,
  [data-reorder-fallback] {
    display: none !important;
  }
}

/* Gallery carousel — touch-friendly (matches gallery.blade.php markup) */
.ws-gallery__track,
.gallery-track {
  display: flex;
  gap: 0.75rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.5rem;
}

.ws-gallery__slide,
.gallery-slide {
  flex: 0 0 min(85vw, 28rem);
  scroll-snap-align: start;
}

.ws-gallery__controls button,
.ws-gallery__prev,
.ws-gallery__next,
[data-gallery-prev],
[data-gallery-next] {
  min-width: var(--ws-tap-min);
  min-height: var(--ws-tap-min);
  touch-action: manipulation;
}

/* Form builder + public forms at ≤768 — prevent horizontal scroll */
@media (max-width: 767.98px) {
  .ws-form,
  .form-builder-layout,
  .ws-form__field input,
  .ws-form__field textarea,
  .ws-form__field select,
  #form-builder-form input,
  #form-builder-form textarea,
  #form-builder-form select,
  .website-builder-panes,
  .menu-builder-layout {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .ws-form__field button,
  .ws-form button[type="submit"],
  .website-media-picker button {
    min-height: var(--ws-tap-min);
    min-width: var(--ws-tap-min);
  }

  body {
    overflow-x: hidden;
  }
}

/* Extra-tight 360 viewport */
@media (max-width: 360px) {
  .card,
  section.card {
    margin-left: 0;
    margin-right: 0;
  }
}

/* Menu builder item rows */
.menu-builder-item-actions button,
.form-builder-field-actions button {
  min-height: var(--ws-tap-min);
  min-width: var(--ws-tap-min);
}
