/*
 * TripNestIQ Mobile Width Fix V2
 * Resets the iframe document margins and keeps all planner content inside the phone viewport.
 */

html,
body {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden !important;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip !important;
  }
}

#tripnest-ai-app {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  overflow-x: hidden;
}

#tripnest-ai-app .tn-shell,
#tripnest-ai-app .tn-grid,
#tripnest-ai-app .tn-grid > *,
#tripnest-ai-app .tn-chat,
#tripnest-ai-app .tn-check,
#tripnest-ai-app .tn-card,
#tripnest-ai-app .tn-head,
#tripnest-ai-app .tn-messages,
#tripnest-ai-app .tn-quick,
#tripnest-ai-app .tn-compose,
#tripnest-ai-app .tn-progress,
#tripnest-ai-app .tn-list,
#tripnest-ai-app .tn-item {
  min-width: 0;
  max-width: 100%;
}

#tripnest-ai-app .tn-topbar {
  min-width: 0;
  max-width: 100%;
  flex-wrap: wrap;
  gap: 8px;
}

#tripnest-ai-app .tn-brand,
#tripnest-ai-app .tn-pill,
#tripnest-ai-app .tn-progress > div:last-child,
#tripnest-ai-app .tn-item > div:last-child {
  min-width: 0;
}

#tripnest-ai-app .tn-head h1,
#tripnest-ai-app .tn-head p,
#tripnest-ai-app .tn-msg,
#tripnest-ai-app .tn-value,
#tripnest-ai-app .tn-pill {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 640px) {
  #tripnest-ai-app .tn-shell {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 10px;
  }

  #tripnest-ai-app .tn-topbar {
    justify-content: flex-start;
  }

  #tripnest-ai-app .tn-pill {
    max-width: 100%;
    white-space: normal;
  }

  #tripnest-ai-app .tn-progress {
    align-items: flex-start;
  }

  #tripnest-ai-app .tn-ring {
    flex: 0 0 66px;
  }

  #tripnest-ai-app .tn-quick button {
    max-width: 100%;
    white-space: normal;
  }
}