/* ============================================
   ClipScribe Landing Page - Custom Styles
   Base: site_antigravity design system
   ============================================ */

html {
  scroll-behavior: smooth;
}

/* --- Glassmorphism --- */
.glass {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

/* --- Gradient text helper --- */
.gradient-text {
  background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* --- Hover lift --- */
.hover-lift {
  transition: transform 0.2s ease;
}
.hover-lift:hover {
  transform: translateY(-2px);
}

/* --- Header scroll state --- */
#header.scrolled {
  border-bottom-color: rgba(229, 231, 235, 0.5);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* --- FAQ Accordion --- */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}

.faq-item.open .faq-answer {
  max-height: 300px;
}

.faq-item.open {
  background: white;
  border-color: rgba(37, 99, 235, 0.12);
  box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.04);
}

.faq-item.open .faq-chevron {
  transform: rotate(180deg);
  color: #2563eb;
}

.faq-btn:focus {
  outline: none;
}

/* --- Reveal animation --- */
.reveal-item {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.reveal-item.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger children */
.reveal-item:nth-child(2) { transition-delay: 0.05s; }
.reveal-item:nth-child(3) { transition-delay: 0.1s; }
.reveal-item:nth-child(4) { transition-delay: 0.05s; }
.reveal-item:nth-child(5) { transition-delay: 0.1s; }
.reveal-item:nth-child(6) { transition-delay: 0.15s; }

/* --- Mobile nav animation --- */
#mobileNav {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
}

#mobileNav.open {
  max-height: 400px;
}

/* --- Selection color --- */
::selection {
  background: #2563eb;
  color: white;
}

/* --- Custom scrollbar --- */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #f3f6fb;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* --- FOUC prevention for i18n --- */
html.i18n-loading [data-i18n],
html.i18n-loading [data-i18n-html] {
  visibility: hidden;
}

/* --- Language toggle --- */
.lang-toggle-btn {
  cursor: pointer;
  line-height: 1;
  transition: color 0.15s ease;
}
.lang-toggle-btn:hover {
  opacity: 0.8;
}

/* --- Legal pages --- */
.legal-content section {
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.6);
}
.legal-content section:last-child {
  border-bottom: none;
}

/* Disclosure table (commercial disclosure) */
.disclosure-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.disclosure-row {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(226, 232, 240, 0.6);
}
.disclosure-row:last-child {
  border-bottom: none;
}
@media (max-width: 640px) {
  .disclosure-row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}
