/* Shared mobile bottom-space contract: payment, consent, then closed launchers. */
@media (max-width: 991.98px) {
  html { scroll-padding-bottom: calc(var(--wdch-bottom-occupied, 0px) + 16px); }
  body { padding-bottom: var(--wdch-bottom-occupied, 0px); }
  body.wdch-payment-page {
    padding-bottom: var(--wdch-bottom-occupied, calc(74px + env(safe-area-inset-bottom, 0px)));
  }
  .wdch-mobile-paybar {
    padding-bottom: calc(.5rem + env(safe-area-inset-bottom, 0px)) !important;
    padding-left: max(1rem, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(1rem, env(safe-area-inset-right, 0px)) !important;
  }
  #cookie-consent-banner {
    bottom: var(--wdch-payment-bar-height, 0px) !important;
    max-height: calc(100vh - var(--wdch-payment-bar-height, 0px) - 16px);
    max-height: calc(100dvh - var(--wdch-payment-bar-height, 0px) - 16px);
    overflow-y: auto;
  }
  body.wdch-payment-page #cookie-consent-banner {
    bottom: var(--wdch-payment-bar-height, calc(74px + env(safe-area-inset-bottom, 0px))) !important;
  }
  body:not(.wdch-payment-page) #cookie-consent-banner {
    padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }
  body.wdch-payment-page #rsl-fab-wrap { display: none !important; }
  /* Widget configuration writes inline bottom. Only the closed launcher moves;
     the opened conversation keeps its own normal stacking and interaction. */
  .hzc-root:not(.hzc-open) {
    bottom: calc(var(--wdch-bottom-occupied, 0px) + var(--wdch-chat-resting-bottom, 25px) + env(safe-area-inset-bottom, 0px)) !important;
  }
  #rsl-fab-wrap {
    bottom: calc(var(--wdch-bottom-occupied, 0px) + 20px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .wdch-pagination, .ajax-search-pagination { min-width: 0; max-width: 100%; }
  .wdch-pagination > nav, .ajax-search-pagination > nav {
    min-width: 0;
    max-width: 100%;
  }
  .wdch-pagination .pagination, .ajax-search-pagination .pagination {
    flex-wrap: nowrap !important;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
  .wdch-pagination .page-item, .ajax-search-pagination .page-item { flex-shrink: 0; }
  .wdch-order-detail, main h1, main .breadcrumb-item {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .wdch-order-detail .min-w-0, .wdch-sku-heading > div { min-width: 0; }
}
@media (max-width: 480px) {
  #rsl-fab-wrap {
    bottom: calc(var(--wdch-bottom-occupied, 0px) + 10px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
@media (max-width: 767px) {
  main input.form-control, main select.form-select, main textarea.form-control,
  .wdch-sku-dialog input.form-control, .wdch-sku-dialog select.form-select,
  .wdch-sku-dialog textarea.form-control, .hzc-root .hzc-textarea {
    font-size: 16px;
  }
  .hzc-root.hzc-open .hzc-window {
    top: var(--wdch-visual-top, 0px);
    bottom: auto;
    height: var(--wdch-visual-height, 100vh);
    max-height: var(--wdch-visual-height, 100vh);
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
}
