/* Bachat — shared dark premium theme */

html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background: #0a0d12;
  color: #f5f1e8;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { background: rgba(212,160,76,.35); color: #fff; }

/* Display serif for big numbers */
.display { font-family: 'Instrument Serif', Georgia, serif; font-style: italic; letter-spacing: -.02em; }

/* Hairlines (subtle 1px borders on dark) */
.hairline { border-color: rgba(245,241,232,.08); }
.hairline-strong { border-color: rgba(245,241,232,.16); }

/* Card surface (used everywhere on app shell + auth) */
.card-surface {
  background: linear-gradient(180deg, rgba(245,241,232,.03), rgba(245,241,232,.01));
  border: 1px solid rgba(245,241,232,.08);
}
.card-surface:hover { border-color: rgba(245,241,232,.14); }

/* Inputs */
.input-dark {
  background: #11141b;
  border: 1px solid rgba(245,241,232,.08);
  color: #f5f1e8;
  border-radius: 10px;
  padding: 12px 14px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.input-dark::placeholder { color: rgba(245,241,232,.35); }
.input-dark:focus {
  border-color: rgba(212,160,76,.55);
  box-shadow: 0 0 0 3px rgba(212,160,76,.18);
}

/* Gold CTA */
.btn-gold {
  background: linear-gradient(180deg, #e8b765 0%, #d4a04c 60%, #b8893f 100%);
  color: #1a1208;
  box-shadow: 0 1px 0 rgba(255,255,255,.15) inset, 0 10px 30px -8px rgba(212,160,76,.45);
  transition: filter .15s, transform .15s;
}
.btn-gold:hover { filter: brightness(1.06); }
.btn-gold:active { transform: translateY(1px); }

/* Ghost button (cream outline) */
.btn-ghost {
  background: transparent;
  color: #f5f1e8;
  border: 1px solid rgba(245,241,232,.16);
  transition: background-color .15s, border-color .15s;
}
.btn-ghost:hover { background: rgba(245,241,232,.04); }

/* Strikethrough old prices */
.strike-old {
  text-decoration: line-through;
  text-decoration-color: rgba(245,241,232,.25);
  text-decoration-thickness: 2px;
}

/* Ambient decorative bg (used on hero-style sections) */
.ambient::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(60% 50% at 15% 10%, rgba(212,160,76,.10) 0, transparent 60%),
    radial-gradient(50% 40% at 90% 90%, rgba(212,160,76,.06) 0, transparent 60%);
}
.grain {
  position: absolute; inset: 0; pointer-events: none; opacity: .035; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* Details / chevron */
details[open] summary .chev { transform: rotate(180deg); }

/* Scrollbar suppression on horizontal scrollers */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Tab panels */
.tab-panel { display: none; }
.tab-panel.active { display: block; animation: fadeIn .25s ease-out both; }
@keyframes fadeIn { from { opacity: 0 } to { opacity: 1 } }

/* Agent log animation */
@keyframes agent-line-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.agent-line { animation: agent-line-in .35s ease-out both; }

/* Receipt rows */
.receipt-row { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .55rem 0; }
.receipt-row .dots { flex: 1; border-bottom: 1px dotted rgba(245,241,232,.18); transform: translateY(-4px); }

/* Mobile safe-area for bottom nav */
@supports (padding: max(0px)) {
  .safe-bottom { padding-bottom: max(0.75rem, env(safe-area-inset-bottom)); }
}

/* Pulse dot */
@keyframes pulseDot { 0%,100% { opacity: .35 } 50% { opacity: 1 } }
.animate-pulse-dot { animation: pulseDot 1.4s ease-in-out infinite; }
