/* Global UI helpers */
body {
  background-color: #DADBDA;
  -webkit-font-smoothing: antialiased;
}
.img-logo{
    width:20%
}
.sheet-container {
  max-width: 1440px;
  margin: 0 auto;
  background-color: #f9f9ff;
  box-shadow: 0 0 100px rgba(0, 0, 0, 0.05);
}

.glass-pill {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.diffuse-shadow {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), 0 32px 64px -12px rgba(17, 19, 24, 0.04);
}

.hero-gradient {
  background: radial-gradient(circle at 80% 20%, rgba(48, 250, 255, 0.15) 0%, transparent 50%);
}

.cta-gradient {
  background: linear-gradient(135deg, #00696c 0%, #30faff 100%);
}

.bento-card {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.bento-card:hover {
  transform: translateY(-4px);
}

.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.glass-nav {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.form-input-glow:focus {
  box-shadow: 0 0 0 4px rgba(48, 250, 255, 0.15);
}

.node-line {
  stroke: #E4E6E8;
  stroke-dasharray: 4;
  animation: dash 20s linear infinite;
}

@keyframes dash {
  to {
    stroke-dashoffset: -1000;
  }
}

#editor {
  min-height: 400px;
  height: 600px;
}

.ck-content {
  min-height: 400px;
}

.ql-align-center {
  text-align: center;
}

.ql-align-right {
  text-align: right;
}

.ql-align-justify {
  text-align: justify;
}

.ql-editor {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}

.ql-editor h1,
.ql-editor h2,
.ql-editor h3,
.ql-editor h4,
.ql-editor h5,
.ql-editor h6 {
  margin: 1rem 0 0.5rem;
}

.ql-editor blockquote {
  margin: 0 0 1rem;
  padding-left: 1rem;
  border-left: 4px solid #00696c;
  color: #45464e;
}

.ql-editor img {
  max-width: 100%;
  height: auto;
}

.prose ol,
.prose ul {
  margin: 1rem 0 1rem 1.5rem;
  padding-left: 1.2rem;
}

.prose ol {
  list-style-type: decimal;
  list-style-position: outside;
}

.prose ul {
  list-style-type: disc;
}

.prose li {
  display: list-item;
  margin-bottom: 0.75rem;
}

/* Force marker visibility in case other resets override them */
.prose ol,
.prose ul {
  margin-left: 1.5rem !important;
  padding-left: 1.2rem !important;
}

.prose ol {
  counter-reset: list-item;
}

.prose ol li::marker {
  content: counter(list-item) ". ";
  color: #111318;
  font-weight: 600;
  font-size: 1em;
}

.prose ul li::marker {
  color: #111318;
}


.reading-progress-bar {
  transition: width 0.1s ease-out;
}

/* Ajustes mobile */
@media (max-width: 768px) {
  .px-gutter {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .pt-xxl,
  .pb-xxl,
  .py-xxl {
    padding-top: 3rem;
    padding-bottom: 1rem !important;
  }

  .hero-gradient {
    background-position: top center;
  }

  .glass-nav {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .max-w-[1440px],
  .max-w-6xl,
  .max-w-4xl,
  .max-w-[960px],
  .max-w-[780px] {
    max-width: 100%;
    width: 100%;
  }

  .bento-card {
    min-width: 0;
  }

  .overflow-x-auto {
    -webkit-overflow-scrolling: touch;
  }

  .scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .scrollbar-hide::-webkit-scrollbar {
    display: none;
  }

  h1.text-display,h1.text-h1,
  h1.font-display.text-display {
    font-size: 48px !important;
    line-height: 1.1;
  }

  h2.text-h2,
  h2.font-h2.text-h2,
  h2.text-h1,
  h2[class*="text-"] {
    font-size: 32px !important;
    line-height: 1.2;
  }
  h3.text-h3,
  h3.font-h3.text-h3,
  h3.text-h3,
  h3[class*="text-"] {
    font-size: 32px !important;
    line-height: 1.2;
  }
  h4.text-h3,
  h4.font-h3.text-h3,
  h4.text-h3,
  h4[class*="text-"] {
    font-size: 22px !important;
    line-height: 1.2;
  }
  .p-xl{
    padding: 40px !important;
  }
  .img-logo{
    width:50% !important
  }
}

#mobile-menu {
  max-height: calc(100vh - 4.5rem);
  overflow-y: auto;
}

#mobile-menu a {
  display: block;
  padding: 0.75rem 0;
}

#mobile-menu a:not(:last-child) {
  border-bottom: 1px solid rgba(228, 230, 232, 0.7);
}
