* {
  font-family: 'Inter', sans-serif;
  -webkit-tap-highlight-color: transparent;
}

body {
  background-color: #0b0b0f;
  color: white;
  overscroll-behavior-y: none;
}

/* Scrollbar hiding */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Press effect */
.press:active {
  transform: scale(0.97);
  transition: transform 0.1s ease;
}

/* Modal animations */
.modal-enter {
  animation: fadeIn 0.25s ease-out;
}
.modal-sheet {
  animation: slideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes slideUp {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}

/* Pulse ring animation */
.pulse-ring {
  animation: pulseRing 2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}
@keyframes pulseRing {
  0% { transform: scale(0.8); opacity: 0.8; }
  100% { transform: scale(1.4); opacity: 0; }
}

/* QR Scan line animation */
.scan-line {
  position: absolute;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, transparent, #10b981, transparent);
  animation: scan 2.5s linear infinite;
  top: 0;
}
@keyframes scan {
  0% { top: 0; opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

/* Input date/time dark mode overrides */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
  opacity: 0.6;
  cursor: pointer;
}

/* Select dropdown arrow override */
select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='rgba(255,255,255,0.5)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.75rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
}

/* Nav active state underline optional enhancement */
.nav-btn {
  position: relative;
}

/* Safe area support */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  nav {
    padding-bottom: env(safe-area-inset-bottom);
  }
}

/* Champagne Prestige Theme — uniquement Mise à disposition */
.btn-prestige {
  background-color: #D6B36A;
  color: #0b0b0f;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
  box-shadow: 0 10px 15px -3px rgba(214, 179, 106, 0.25), 0 4px 6px -2px rgba(214, 179, 106, 0.1);
}
.btn-prestige:hover {
  background-color: #C9A55B;
}
.btn-prestige:active {
  background-color: #B9934B;
}