:root {
  /* Primary brand colors */
  --color-primary: rgb(46, 111, 64);
  --color-primary-hover: rgb(6, 64, 43);
  --color-primary-light: rgba(46, 111, 64, 0.1);
  --color-primary-shadow: rgba(46, 111, 64, 0.2);
  --color-primary-shadow-hover: rgba(46, 111, 64, 0.3);
  
  /* Gradient colors */
  --gradient-start: #0a72f1;
  --gradient-end: #7097eb;
  
  /* UI colors */
  --color-white: white;
  --color-black-transparent: rgba(0, 0, 0, 0.1);
  --color-text-secondary: #6c757d;
  --color-link-active: #0d6efd;
}

.review-container {
  position: relative;
  height: 400px;
  perspective: 1000px;
  margin: 0 auto;
  max-width: 600px;
}

.review-card {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

.review-card.flipped {
  transform: rotateY(180deg);
}

.review-front,
.review-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 10px;
  box-shadow: 0 4px 8px var(--color-black-transparent);
}

.review-back {
  transform: rotateY(180deg);
  background-color: var(--color-white);
}

.review-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.hero-badge {
  background: linear-gradient(45deg, var(--gradient-start), var(--gradient-end));
  color: var(--color-white);
  font-weight: 500;
}

.hero-badge a {
  color: var(--color-white);
}

#navbarNav {
  padding-top: 10px;
}

.accordion {
  width: 75%;
  margin: 0 auto;
}

.accordion-button {
  background-color: transparent !important;
  color: inherit !important;
  border: none;
  font-weight: 500;
}

.accordion-button:focus {
  box-shadow: none;
}

pre {
  margin: 0;
  border-radius: 0.25rem;
  max-height: 400px;
  overflow-y: auto;
}

.nav-tabs .nav-link {
  color: var(--color-text-secondary);
  border: none;
  border-bottom: 2px solid transparent;
  padding: 0.75rem 1rem;
}

.nav-tabs .nav-link.active {
  color: var(--color-link-active);
  border: none;
  border-bottom: 2px solid var(--color-link-active);
  background: none;
}

.nav-tabs .nav-link:hover {
  border: none;
  border-bottom: 2px solid var(--color-link-active);
  isolation: isolate;
}

pre[class*="language-"] {
  padding: 1em;
  margin: 0;
}

code[class*="language-"] {
  tab-size: 4;
}

.custom-btn-outline,
.custom-btn-solid {
  padding: 0.5rem 1.5rem;
  border: 2px solid var(--color-primary);
  transition: all 0.3s ease;
}

.custom-btn-outline {
  color: var(--color-primary);
  background: transparent;
}

.custom-btn-outline:hover {
  background: var(--color-primary-light);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px var(--color-primary-shadow);
}

.custom-btn-solid {
  color: var(--color-white);
  background: var(--color-primary);
  box-shadow: 0 4px 15px var(--color-primary-shadow);
}

.custom-btn-solid:hover {
  color: var(--color-white);
  background: var(--color-primary-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px var(--color-primary-shadow-hover);
}

.navbar-nav .nav-link {
  position: relative;
  transition: all 0.3s ease;
}

.navbar-nav .nav-link::after {
  content: '';
  position: absolute;
  width: 0;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: var(--color-primary);
  transition: width 0.3s ease;
}

.navbar-nav .nav-link:hover::after {
  width: 100%;
}

.navbar-nav .nav-link:hover {
  color: var(--color-primary);
}

.site-wrapper {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0;
}

.main-content {
  flex: 1 0 auto;
}

.footer {
  flex-shrink: 0;
}

.card-brand {
  max-width: 32px;
  max-height: 32px;
  width: auto;
}

.card-api-docs .card-title {
  font-size: 0.85rem;
}