* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
}

body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  width: 100%;
  position: relative;
}

#root {
  min-height: 100vh;
  width: 100%;
  overflow-x: hidden;
}

/* Breadcrumb link styles */
.ant-breadcrumb .ant-btn-link {
  color: #4b5563 !important;
}

.ant-breadcrumb .ant-btn-link:hover {
  color: #000000 !important;
}

/* Table link styles */
.ant-table .ant-btn-link {
  color: #1f2937 !important;
  font-weight: 500;
}

.ant-table .ant-btn-link:hover {
  color: #000000 !important;
  text-decoration: underline;
}

/* Documentation-specific styles */

/* Target only Paragraph components and regular p tags */
.docs-content p,
.docs-content .ant-typography-paragraph {
  font-size: 15px !important;
  line-height: 1.6;
}

/* Also target Text components */
.docs-content .ant-typography-text {
  font-size: 15px !important;
}

/* Ensure div-based typography that's not a title is 15px */
.docs-content .ant-typography:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not([class*="title"]) {
  font-size: 15px !important;
  line-height: 1.6;
}

/* Keep lists at 15px as well for consistency */
.docs-content ul,
.docs-content ol {
  font-size: 15px;
  line-height: 1.8;
}

/* Ensure nested lists maintain the same font size */
.docs-content ul ul,
.docs-content ul ol,
.docs-content ol ul,
.docs-content ol ol {
  font-size: 15px;
}

/* Alert content should also use 15px */
.docs-content .ant-alert-description {
  font-size: 15px;
}

/* Table content consistency */
.docs-content .ant-table {
  font-size: 15px;
}

/* Descriptions list consistency */
.docs-content .ant-descriptions-item-content {
  font-size: 15px;
}

/* Responsive Navigation */
@media (min-width: 768px) {
  .desktop-nav {
    display: block !important;
  }
  .mobile-nav {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .desktop-nav {
    display: none !important;
  }
  .mobile-nav {
    display: block !important;
  }
}

/* Mobile content adjustments */
@media (max-width: 767px) {
  .ant-card-head {
    padding: 16px;
  }

  .ant-card-body {
    padding: 16px;
  }

  /* Prevent horizontal scroll */
  .ant-layout {
    overflow-x: hidden;
  }

  /* Ensure content fits mobile width */
  .ant-space {
    max-width: 100%;
  }
}