/* Dirham to Taka (dirhamtotaka.com) - Custom Stylesheet */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap');

:root {
  --font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --primary: #059669;
  --primary-hover: #047857;
  --accent: #d97706;
}

body {
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.font-mono-num {
  font-family: var(--font-mono);
  font-feature-settings: 'tnum' on, 'lnum' on;
}

/* Glassmorphism effects */
.glass-card {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(226, 232, 240, 0.8);
}

.dark .glass-card {
  background: rgba(30, 41, 59, 0.85);
  border-color: rgba(51, 65, 85, 0.6);
}

/* Hero Converter Card Glow */
.converter-card {
  box-shadow: 0 20px 40px -15px rgba(5, 150, 105, 0.15), 0 0 1px 1px rgba(5, 150, 105, 0.1);
}

.dark .converter-card {
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.5), 0 0 1px 1px rgba(16, 185, 129, 0.2);
}

/* Swap button rotation animation */
.swap-btn {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.swap-btn:hover {
  transform: rotate(180deg) scale(1.08);
}

.swap-btn:active {
  transform: rotate(180deg) scale(0.95);
}

/* Pulsing live dot */
@keyframes pulse-ring {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.3); opacity: 0.2; }
  100% { transform: scale(0.95); opacity: 0.8; }
}

.pulse-indicator::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  border-radius: 9999px;
  background-color: inherit;
  animation: pulse-ring 2s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

/* Number input styling without spin buttons */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield;
}

/* Table styles */
.conversion-table tr:hover td {
  background-color: rgba(5, 150, 105, 0.05);
}
.dark .conversion-table tr:hover td {
  background-color: rgba(16, 185, 129, 0.08);
}

/* Accordion Smooth Expand */
details summary::-webkit-details-marker {
  display: none;
}
details summary {
  list-style: none;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 9999px;
}
.dark ::-webkit-scrollbar-thumb {
  background: #334155;
}

/* Mobile Touch & Usability Enhancements */
@media (max-width: 640px) {
  /* Prevent awkward zooming on input focus in iOS Safari */
  input[type="number"],
  input[type="text"],
  input[type="email"],
  textarea,
  select {
    font-size: 16px !important;
  }

  /* Safe tap target padding for touch devices */
  button, 
  .preset-btn, 
  .mobile-nav-link {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
}

/* Subtle realistic card borders & shadows (Fintech human aesthetic) */
.card-elevation {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05), 0 1px 2px -1px rgba(0, 0, 0, 0.05);
}

.dark .card-elevation {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 2px -1px rgba(0, 0, 0, 0.3);
}

/* Print Stylesheet */
@media print {
  nav, footer, .no-print, button, #swapBtn {
    display: none !important;
  }
  body {
    background: white !important;
    color: black !important;
  }
  .converter-card {
    border: 1px solid #ccc !important;
    box-shadow: none !important;
  }
}
