/* ===== Documentation Page ===== */
.documentation-container {
   display: grid;
   grid-template-columns: 300px 1fr;
   gap: 3rem;
}

.documentation-sidebar {
   position: sticky;
   top: 100px;
   height: fit-content;
}

.documentation-nav {
   background-color: white;
   border-radius: var(--border-radius-lg);
   padding: 1.5rem;
   box-shadow: var(--box-shadow);
}

.documentation-nav h3 {
   font-size: 1.125rem;
   margin-bottom: 1rem;
   padding-bottom: 0.75rem;
   border-bottom: 1px solid var(--gray-200);
}

.documentation-nav ul {
   list-style: none;
}

.documentation-nav li {
   margin-bottom: 0.5rem;
}

.documentation-nav a {
   display: block;
   padding: 0.5rem;
   color: var(--gray-700);
   border-radius: var(--border-radius);
   transition: var(--transition);
}

.documentation-nav a:hover,
.documentation-nav a.active {
   background-color: var(--gray-100);
   color: var(--primary-color);
}

.documentation-content {
   background-color: white;
   border-radius: var(--border-radius-lg);
   padding: 2rem;
   box-shadow: var(--box-shadow);
}

.documentation-content h2 {
   font-size: 1.5rem;
   margin-bottom: 1rem;
   padding-bottom: 0.75rem;
   border-bottom: 1px solid var(--gray-200);
}

.documentation-content h3 {
   font-size: 1.25rem;
   margin-top: 2rem;
   margin-bottom: 1rem;
}

.documentation-content h4 {
   font-size: 1.125rem;
   margin-top: 1.5rem;
   margin-bottom: 0.75rem;
   color: var(--gray-800);
}

.documentation-content ul {
   list-style: none;
   margin-bottom: 1.5rem;
}

.documentation-content li {
   padding-left: 1.5rem;
   position: relative;
   margin-bottom: 0.5rem;
}

.documentation-content li::before {
   content: "•";
   position: absolute;
   left: 0.5rem;
   color: var(--primary-color);
}

.documentation-content ol {
   margin-bottom: 1.5rem;
   padding-left: 1.5rem;
}

.documentation-content ol li {
   padding-left: 0;
   margin-bottom: 0.75rem;
}

.documentation-content ol li::before {
   content: none;
}

.doc-contact {
   margin-top: 3rem;
   padding-top: 2rem;
   border-top: 1px solid var(--gray-200);
}

/* ===== Alert Boxes ===== */
.alert {
   padding: 1rem 1.5rem;
   margin: 1.5rem 0;
   border-radius: var(--border-radius);
   border-left: 4px solid;
   display: flex;
   align-items: flex-start;
   gap: 0.75rem;
}

.alert i {
   font-size: 1.125rem;
   margin-top: 0.125rem;
}

.alert.alert-info {
   background-color: #e3f2fd;
   border-left-color: #2196f3;
   color: #1565c0;
}

.alert.alert-warning {
   background-color: #fff3e0;
   border-left-color: #ff9800;
   color: #e65100;
}

.alert.alert-success {
   background-color: #e8f5e8;
   border-left-color: #4caf50;
   color: #2e7d32;
}

.alert.alert-danger {
   background-color: #ffebee;
   border-left-color: #f44336;
   color: #c62828;
}

.alert strong {
   font-weight: 600;
}

/* ===== Code Examples ===== */
.code-example {
   background-color: #f8f9fa;
   border: 1px solid #e9ecef;
   border-radius: var(--border-radius);
   margin: 1.5rem 0;
   overflow: hidden;
}

.code-example pre {
   margin: 0;
   padding: 1.5rem;
   background-color: #282c34;
   color: #abb2bf;
   font-family: 'Courier New', Courier, monospace;
   font-size: 0.875rem;
   line-height: 1.5;
   overflow-x: auto;
}

.code-example code {
   background: none;
   padding: 0;
   color: inherit;
}

/* ===== Helpful Section ===== */
.helpful-section {
   margin-top: 2rem;
   padding: 1.5rem;
   background-color: #f8f9fa;
   border-radius: var(--border-radius);
   text-align: center;
}

.helpful-section h3 {
   margin-top: 0;
   margin-bottom: 1rem;
   font-size: 1.125rem;
   color: var(--gray-800);
}

.helpful-buttons {
   display: flex;
   gap: 1rem;
   justify-content: center;
   flex-wrap: wrap;
}

.btn-helpful {
   padding: 0.75rem 1.5rem;
   border: 2px solid var(--primary-color);
   background-color: white;
   color: var(--primary-color);
   border-radius: var(--border-radius);
   cursor: pointer;
   transition: var(--transition);
   font-size: 0.875rem;
   font-weight: 500;
   display: flex;
   align-items: center;
   gap: 0.5rem;
}

.btn-helpful:hover {
   background-color: var(--primary-color);
   color: white;
}

.btn-helpful:disabled {
   opacity: 0.6;
   cursor: not-allowed;
}

.btn-helpful:disabled:hover {
   background-color: white;
   color: var(--primary-color);
}

/* ===== Responsive Design ===== */
@media (max-width: 1024px) {
   .documentation-container {
      grid-template-columns: 250px 1fr;
      gap: 2rem;
   }
}

@media (max-width: 768px) {
   .documentation-container {
      grid-template-columns: 1fr;
      gap: 2rem;
   }

   .documentation-sidebar {
      position: static;
      order: -1;
   }

   .documentation-content {
      padding: 1.5rem;
   }

   .documentation-content h2 {
      font-size: 1.375rem;
   }

   .documentation-content h3 {
      font-size: 1.125rem;
   }

   .helpful-buttons {
      flex-direction: column;
      align-items: center;
   }

   .btn-helpful {
      width: 200px;
      justify-content: center;
   }
}

@media (max-width: 480px) {
   .documentation-content {
      padding: 1rem;
   }

   .documentation-nav {
      padding: 1rem;
   }

   .alert {
      padding: 0.75rem 1rem;
      flex-direction: column;
      text-align: center;
   }

   .alert i {
      margin-bottom: 0.5rem;
   }

   .code-example pre {
      padding: 1rem;
      font-size: 0.8rem;
   }
}

/* ===== Print Styles ===== */
@media print {
   .documentation-sidebar {
      display: none;
   }

   .documentation-container {
      grid-template-columns: 1fr;
   }

   .helpful-section {
      display: none;
   }

   .documentation-content {
      box-shadow: none;
      border: 1px solid #ddd;
   }

   .documentation-content a {
      color: inherit;
      text-decoration: underline;
   }
}

/* ===== Accessibility ===== */
.documentation-content a:focus,
.btn-helpful:focus {
   outline: 2px solid var(--primary-color);
   outline-offset: 2px;
}

/* ===== Smooth Scroll ===== */
html {
   scroll-behavior: smooth;
}

/* ===== Text Selection ===== */
.documentation-content ::selection {
   background-color: var(--primary-color);
   color: white;
}

.documentation-content ::-moz-selection {
   background-color: var(--primary-color);
   color: white;
}
