body {
  margin: 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;
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
    monospace;
}

/* Cross-Browser & Mobile Viewport Standardization (Bing / iOS / Android / Chrome) */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

/* SarkariResult theme classes */
.bg-sarkari-maroon {
  background-color: #800000 !important;
}
.text-sarkari-maroon {
  color: #800000 !important;
}
.border-sarkari-maroon {
  border-color: #800000 !important;
}
.hover\:bg-sarkari-maroon:hover {
  background-color: #660000 !important;
}
.hover\:text-sarkari-maroon:hover {
  color: #660000 !important;
}
.focus\:ring-sarkari-maroon:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px #800000 !important;
}
.focus\:border-sarkari-maroon:focus {
  border-color: #800000 !important;
}

/* ============================================================
   Rich Portal & Editor Content Formatting Preservation
   ============================================================ */
/* Bullet and Numbered Lists */
.rich-portal-content ul,
[contenteditable] ul {
  list-style-type: disc !important;
  margin: 8px 0 8px 24px !important;
  padding-left: 20px !important;
}

.rich-portal-content ol,
[contenteditable] ol {
  list-style-type: decimal !important;
  margin: 8px 0 8px 24px !important;
  padding-left: 20px !important;
}

.rich-portal-content li,
[contenteditable] li {
  display: list-item !important;
  margin-bottom: 4px !important;
  line-height: 1.6 !important;
}

/* Headings in Editor & Portal */
.rich-portal-content h1,
[contenteditable] h1 {
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  margin: 14px 0 8px 0 !important;
  line-height: 1.3 !important;
}

.rich-portal-content h2,
[contenteditable] h2 {
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  margin: 12px 0 6px 0 !important;
  line-height: 1.35 !important;
}

.rich-portal-content h3,
[contenteditable] h3 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  margin: 10px 0 4px 0 !important;
  line-height: 1.4 !important;
}

.rich-portal-content h4,
[contenteditable] h4 {
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  margin: 8px 0 4px 0 !important;
}

/* Font size tags support from execCommand('fontSize') */
.rich-portal-content font[size="1"], [contenteditable] font[size="1"] { font-size: 0.75rem !important; }
.rich-portal-content font[size="2"], [contenteditable] font[size="2"] { font-size: 0.875rem !important; }
.rich-portal-content font[size="3"], [contenteditable] font[size="3"] { font-size: 1rem !important; }
.rich-portal-content font[size="4"], [contenteditable] font[size="4"] { font-size: 1.15rem !important; }
.rich-portal-content font[size="5"], [contenteditable] font[size="5"] { font-size: 1.35rem !important; }
.rich-portal-content font[size="6"], [contenteditable] font[size="6"] { font-size: 1.75rem !important; }
.rich-portal-content font[size="7"], [contenteditable] font[size="7"] { font-size: 2.25rem !important; }

/* Text Alignment Preservation */
.rich-portal-content [align="center"],
.rich-portal-content [style*="text-align: center"],
.rich-portal-content [style*="text-align:center"],
[contenteditable] [align="center"],
[contenteditable] [style*="text-align: center"],
[contenteditable] [style*="text-align:center"] {
  text-align: center !important;
}

.rich-portal-content [align="right"],
.rich-portal-content [style*="text-align: right"],
.rich-portal-content [style*="text-align:right"],
[contenteditable] [align="right"],
[contenteditable] [style*="text-align: right"],
[contenteditable] [style*="text-align:right"] {
  text-align: right !important;
}

.rich-portal-content [align="left"],
.rich-portal-content [style*="text-align: left"],
.rich-portal-content [style*="text-align:left"],
[contenteditable] [align="left"],
[contenteditable] [style*="text-align: left"],
[contenteditable] [style*="text-align:left"] {
  text-align: left !important;
}

.rich-portal-content center,
[contenteditable] center {
  text-align: center !important;
  display: block;
}

.rich-portal-content font[color],
[contenteditable] font[color] {
  color: attr(color) !important;
}

/* Tables in Editor & Portal with mobile smoothness */
.rich-portal-content table,
[contenteditable] table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: collapse !important;
  margin: 12px 0 !important;
  word-break: break-word !important;
}

.rich-portal-content th,
.rich-portal-content td,
[contenteditable] th,
[contenteditable] td {
  padding: 8px !important;
  vertical-align: top !important;
}

/* Mobile-specific table padding to fit small phone screens */
@media (max-width: 640px) {
  .rich-portal-content th,
  .rich-portal-content td,
  [contenteditable] th,
  [contenteditable] td {
    padding: 6px 4px !important;
    font-size: 11px !important;
  }
}

/* ============================================================
   Glider Animation - Bulletproof Cross-Browser & Mobile (Chrome / Bing / Edge / Safari)
   ============================================================ */
@-webkit-keyframes sway-glider {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(calc(1232px - 100%));
    transform: translateX(calc(1232px - 100%));
  }
}

@keyframes sway-glider {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(calc(1232px - 100%));
    transform: translateX(calc(1232px - 100%));
  }
}

@media (max-width: 1280px) {
  @-webkit-keyframes sway-glider {
    0% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(calc(100vw - 100% - 32px));
      transform: translateX(calc(100vw - 100% - 32px));
    }
  }
  @keyframes sway-glider {
    0% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(calc(100vw - 100% - 32px));
      transform: translateX(calc(100vw - 100% - 32px));
    }
  }
}

.animate-sway-tiles {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: sway-glider 20s ease-in-out infinite alternate;
  animation: sway-glider 20s ease-in-out infinite alternate;
  will-change: transform;
  touch-action: pan-y;
}

.animate-sway-tiles:hover,
.animate-sway-tiles:focus-within {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
}

/* ============================================================
   Table Studio Popover - Fix Overlapping and Responsive Layout
   ============================================================ */
.table-studio-popover {
  position: absolute !important;
  top: 38px !important;
  left: 0 !important;
  right: auto !important;
  width: 380px !important;
  min-width: 360px !important;
  max-width: 420px !important;
  box-sizing: border-box !important;
  z-index: 100 !important;
  background-color: #ffffff !important;
}

@media (max-width: 640px) {
  .table-studio-popover {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    -webkit-transform: translate(-50%, -50%) !important;
    transform: translate(-50%, -50%) !important;
    width: calc(100vw - 32px) !important;
    min-width: 0 !important;
    max-width: 380px !important;
    max-height: 85vh !important;
    z-index: 99999 !important;
  }
}