
/* =========================================================
   Responsive-only CSS for SteadFast API Premium
   Purpose: mobile/tablet/desktop layout improvements only.
   No plugin function/API/PHP logic is changed.
   ========================================================= */

:root {
  --sf-resp-gap-xs: 6px;
  --sf-resp-gap-sm: 10px;
  --sf-resp-gap-md: 14px;
  --sf-resp-gap-lg: 18px;
  --sf-resp-radius: 14px;
}

/* Scope broad plugin-like selectors without changing functionality */
[class*="steadfast"],
[class*="SteadFast"],
[class*="stdf"],
[class*="sf-"],
[id*="steadfast"],
[id*="stdf"],
[id*="sf-"] {
  box-sizing: border-box;
  max-width: 100%;
}

[class*="steadfast"] *,
[class*="SteadFast"] *,
[class*="stdf"] *,
[class*="sf-"] * {
  box-sizing: border-box;
}

[class*="steadfast"] img,
[class*="SteadFast"] img,
[class*="stdf"] img,
[class*="sf-"] img {
  max-width: 100%;
  height: auto;
}

/* Customer tracking wrapper */
.steadfast-customer-live-tracking,
.steadfast-live-tracking,
.steadfast-tracking-wrapper,
.steadfast-tracking-container,
.steadfast-tracking-dashboard,
.stdf-customer-live-tracking,
.stdf-live-tracking,
.stdf-tracking-wrapper,
.stdf-tracking-container,
#steadfast-customer-live-tracking,
#steadfast-live-tracking,
#stdf-customer-live-tracking {
  width: 100%;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding: var(--sf-resp-gap-md);
  overflow-x: hidden;
}

/* Cards */
.steadfast-card,
.steadfast-order-card,
.steadfast-tracking-card,
.steadfast-parcel-card,
.stdf-card,
.stdf-order-card,
.stdf-tracking-card,
.stdf-parcel-card,
[class*="steadfast"][class*="card"],
[class*="stdf"][class*="card"] {
  width: 100%;
  max-width: 100%;
  border-radius: var(--sf-resp-radius);
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Grid layout */
.steadfast-grid,
.steadfast-dashboard-grid,
.steadfast-card-grid,
.stdf-grid,
.stdf-dashboard-grid,
.stdf-card-grid,
[class*="steadfast"][class*="grid"],
[class*="stdf"][class*="grid"] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--sf-resp-gap-md);
  width: 100%;
}

/* Tracking timeline */
.steadfast-timeline,
.steadfast-tracking-timeline,
.stdf-timeline,
.stdf-tracking-timeline,
[class*="steadfast"][class*="timeline"],
[class*="stdf"][class*="timeline"] {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--sf-resp-gap-sm);
  margin: var(--sf-resp-gap-md) 0;
  padding: 0;
}

.steadfast-timeline-item,
.steadfast-tracking-step,
.stdf-timeline-item,
.stdf-tracking-step,
[class*="steadfast"][class*="step"],
[class*="stdf"][class*="step"] {
  display: flex;
  align-items: flex-start;
  gap: var(--sf-resp-gap-sm);
  min-width: 0;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

/* Bangla hub/location/status long text */
.steadfast-current-status,
.steadfast-status-box,
.steadfast-hub,
.steadfast-location,
.steadfast-destination,
.stdf-current-status,
.stdf-status-box,
.stdf-hub,
.stdf-location,
.stdf-destination,
[class*="steadfast"][class*="status"],
[class*="steadfast"][class*="hub"],
[class*="steadfast"][class*="location"],
[class*="stdf"][class*="status"],
[class*="stdf"][class*="hub"],
[class*="stdf"][class*="location"] {
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.55;
}

/* Buttons */
.steadfast-btn,
.steadfast-button,
.stdf-btn,
.stdf-button,
button[class*="steadfast"],
a[class*="steadfast"],
button[class*="stdf"],
a[class*="stdf"] {
  max-width: 100%;
  white-space: normal;
  line-height: 1.35;
  text-align: center;
}

/* Inputs/settings */
[class*="steadfast"] input,
[class*="steadfast"] textarea,
[class*="steadfast"] select,
[class*="stdf"] input,
[class*="stdf"] textarea,
[class*="stdf"] select {
  max-width: 100%;
}

/* Tables and logs */
.steadfast-table-wrap,
.stdf-table-wrap,
.steadfast-webhook-logs,
.stdf-webhook-logs,
[class*="steadfast"][class*="table"],
[class*="stdf"][class*="table"],
[class*="steadfast"][class*="logs"],
[class*="stdf"][class*="logs"] {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

[class*="steadfast"] table,
[class*="stdf"] table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
}

[class*="steadfast"] th,
[class*="steadfast"] td,
[class*="stdf"] th,
[class*="stdf"] td {
  overflow-wrap: anywhere;
  vertical-align: top;
}

/* Modal / popup responsiveness */
.steadfast-modal,
.steadfast-popup,
.stdf-modal,
.stdf-popup,
[class*="steadfast"][class*="modal"],
[class*="steadfast"][class*="popup"],
[class*="stdf"][class*="modal"],
[class*="stdf"][class*="popup"] {
  max-width: min(94vw, 920px);
  max-height: 88vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.steadfast-modal-content,
.steadfast-popup-content,
.stdf-modal-content,
.stdf-popup-content,
[class*="steadfast"][class*="modal-content"],
[class*="stdf"][class*="modal-content"] {
  max-width: 100%;
}

/* Fraud/risk badges */
.steadfast-risk-badge,
.steadfast-fraud-badge,
.stdf-risk-badge,
.stdf-fraud-badge,
[class*="steadfast"][class*="badge"],
[class*="stdf"][class*="badge"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  white-space: normal;
  line-height: 1.25;
  padding: 5px 8px;
  border-radius: 999px;
}

/* Tablet */
@media (max-width: 1024px) {
  .steadfast-customer-live-tracking,
  .steadfast-live-tracking,
  .steadfast-tracking-wrapper,
  .steadfast-tracking-container,
  .stdf-customer-live-tracking,
  .stdf-live-tracking,
  .stdf-tracking-wrapper {
    padding: var(--sf-resp-gap-md);
  }

  .steadfast-grid,
  .steadfast-dashboard-grid,
  .steadfast-card-grid,
  .stdf-grid,
  .stdf-dashboard-grid,
  .stdf-card-grid,
  [class*="steadfast"][class*="grid"],
  [class*="stdf"][class*="grid"] {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}

/* Mobile */
@media (max-width: 768px) {
  .steadfast-customer-live-tracking,
  .steadfast-live-tracking,
  .steadfast-tracking-wrapper,
  .steadfast-tracking-container,
  .steadfast-tracking-dashboard,
  .stdf-customer-live-tracking,
  .stdf-live-tracking,
  .stdf-tracking-wrapper,
  .stdf-tracking-dashboard,
  #steadfast-customer-live-tracking,
  #steadfast-live-tracking,
  #stdf-customer-live-tracking {
    padding: 10px;
  }

  .steadfast-grid,
  .steadfast-dashboard-grid,
  .steadfast-card-grid,
  .stdf-grid,
  .stdf-dashboard-grid,
  .stdf-card-grid,
  [class*="steadfast"][class*="grid"],
  [class*="stdf"][class*="grid"] {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 12px;
  }

  .steadfast-card,
  .steadfast-order-card,
  .steadfast-tracking-card,
  .steadfast-parcel-card,
  .stdf-card,
  .stdf-order-card,
  .stdf-tracking-card,
  .stdf-parcel-card,
  [class*="steadfast"][class*="card"],
  [class*="stdf"][class*="card"] {
    padding: 12px !important;
    border-radius: 12px;
  }

  .steadfast-title,
  .steadfast-heading,
  .stdf-title,
  .stdf-heading,
  [class*="steadfast"][class*="title"],
  [class*="steadfast"][class*="heading"],
  [class*="stdf"][class*="title"],
  [class*="stdf"][class*="heading"] {
    font-size: clamp(18px, 5vw, 24px) !important;
    line-height: 1.35;
  }

  .steadfast-timeline,
  .steadfast-tracking-timeline,
  .stdf-timeline,
  .stdf-tracking-timeline,
  [class*="steadfast"][class*="timeline"],
  [class*="stdf"][class*="timeline"] {
    gap: 8px;
    margin: 12px 0;
  }

  .steadfast-timeline-item,
  .steadfast-tracking-step,
  .stdf-timeline-item,
  .stdf-tracking-step,
  [class*="steadfast"][class*="step"],
  [class*="stdf"][class*="step"] {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 8px;
    font-size: 14px;
  }

  .steadfast-actions,
  .stdf-actions,
  [class*="steadfast"][class*="actions"],
  [class*="stdf"][class*="actions"] {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .steadfast-btn,
  .steadfast-button,
  .stdf-btn,
  .stdf-button,
  button[class*="steadfast"],
  a[class*="steadfast"],
  button[class*="stdf"],
  a[class*="stdf"] {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    margin-top: 6px;
  }

  .steadfast-modal,
  .steadfast-popup,
  .stdf-modal,
  .stdf-popup,
  [class*="steadfast"][class*="modal"],
  [class*="steadfast"][class*="popup"],
  [class*="stdf"][class*="modal"],
  [class*="stdf"][class*="popup"] {
    width: 94vw !important;
    max-width: 94vw !important;
    max-height: 86vh;
    left: 3vw !important;
    right: 3vw !important;
    top: 7vh !important;
    margin-left: 0 !important;
    transform: none !important;
    border-radius: 14px;
  }

  [class*="steadfast"] .form-table,
  [class*="stdf"] .form-table {
    display: block;
    width: 100%;
  }

  [class*="steadfast"] .form-table tbody,
  [class*="steadfast"] .form-table tr,
  [class*="steadfast"] .form-table th,
  [class*="steadfast"] .form-table td,
  [class*="stdf"] .form-table tbody,
  [class*="stdf"] .form-table tr,
  [class*="stdf"] .form-table th,
  [class*="stdf"] .form-table td {
    display: block;
    width: 100% !important;
    padding-left: 0;
    padding-right: 0;
  }

  [class*="steadfast"] table,
  [class*="stdf"] table {
    min-width: 560px;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .steadfast-customer-live-tracking,
  .steadfast-live-tracking,
  .steadfast-tracking-wrapper,
  .stdf-customer-live-tracking,
  .stdf-live-tracking,
  .stdf-tracking-wrapper {
    padding: 8px;
  }

  .steadfast-card,
  .steadfast-order-card,
  .steadfast-tracking-card,
  .steadfast-parcel-card,
  .stdf-card,
  .stdf-order-card,
  .stdf-tracking-card,
  .stdf-parcel-card,
  [class*="steadfast"][class*="card"],
  [class*="stdf"][class*="card"] {
    padding: 10px !important;
  }

  .steadfast-risk-badge,
  .steadfast-fraud-badge,
  .stdf-risk-badge,
  .stdf-fraud-badge,
  [class*="steadfast"][class*="badge"],
  [class*="stdf"][class*="badge"] {
    font-size: 12px;
  }

  .steadfast-timeline-item,
  .steadfast-tracking-step,
  .stdf-timeline-item,
  .stdf-tracking-step,
  [class*="steadfast"][class*="step"],
  [class*="stdf"][class*="step"] {
    font-size: 13.5px;
    grid-template-columns: 22px minmax(0, 1fr);
  }
}

/* WordPress admin narrow screens */
@media (max-width: 782px) {
  body.wp-admin [class*="steadfast"] .button,
  body.wp-admin [class*="stdf"] .button {
    width: auto;
    min-height: 36px;
  }

  body.wp-admin [class*="steadfast"] input[type="text"],
  body.wp-admin [class*="steadfast"] input[type="password"],
  body.wp-admin [class*="steadfast"] textarea,
  body.wp-admin [class*="stdf"] input[type="text"],
  body.wp-admin [class*="stdf"] input[type="password"],
  body.wp-admin [class*="stdf"] textarea {
    width: 100%;
  }
}
