/* Custom CSS for Best Accounting Malaysia */

:root {
  --color-navy: #14243D;
  --color-gold: #B8912F;
  --color-off-white: #FAF9F6;
  --color-charcoal: #1A1D21;
  --color-grey: #5F6773;
  --color-border: #E4E1DB;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 5rem;
  background-color: var(--color-off-white);
  color: var(--color-charcoal);
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

/* Typography styles */
.font-serif-heading {
  font-family: 'Playfair Display', Georgia, serif;
}

/* Minimalist Hairline Borders */
.border-hairline {
  border-color: var(--color-border);
}

/* Ensure all interactive touch elements are at least 44x44px */
.tap-target {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Mobile Drawer rules */
#mobile-menu {
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, visibility 0.3s ease, padding 0.3s ease;
}

#mobile-menu.menu-closed {
  max-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-top-width: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  overflow: hidden !important;
  pointer-events: none;
}

#mobile-menu.menu-open {
  max-height: 500px !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: hidden !important;
  pointer-events: auto;
}

/* Accordion Smooth Transitions */
.faq-answer {
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
}

.faq-item.active .faq-answer {
  opacity: 1;
}

.faq-item .faq-icon {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-item.active .faq-icon {
  transform: rotate(180deg);
}

/* Subtle card hover elevation without blur heavy drop shadows */
.card-hover {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.card-hover:hover {
  border-color: #D1CDCE;
  box-shadow: 0 4px 16px rgba(20, 36, 61, 0.05);
}
