/* Pub 34 — Custom Styles */

/* Base reset & typography */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { margin: 0; overflow-x: hidden; }

/* Custom scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #070908; }
::-webkit-scrollbar-thumb { background: #1e4f24; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #25622c; }

/* Gold line divider animation */
.gold-line {
  background: linear-gradient(90deg, transparent 0%, rgba(184,134,11,0.4) 20%, rgba(232,201,122,0.6) 50%, rgba(184,134,11,0.4) 80%, transparent 100%);
}

/* Hero card hover effects */
.float-card, .float-card-alt, .float-card-slow {
  will-change: transform;
  transition: box-shadow 0.3s ease;
}
.float-card:hover, .float-card-alt:hover, .float-card-slow:hover {
  box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 30px rgba(184,134,11,0.1);
}

/* Drink card image container */
.group:hover .group-hover\:scale-110 {
  transform: scale(1.1);
}

/* Mobile menu transitions */
#mobile-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.3s ease;
}
#mobile-menu.open {
  max-height: 400px;
  opacity: 1;
}

/* Focus styles for accessibility */
a:focus-visible, button:focus-visible {
  outline: 2px solid #d4a84b;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Ensure map is readable */
iframe[title*="Google Maps"] {
  border-radius: 0.75rem;
}

/* Smooth section transitions */
section {
  position: relative;
}

/* Selection color */
::selection {
  background: rgba(184, 134, 11, 0.35);
  color: #f0f7f0;
}

/* Print styles */
@media print {
  body { background: white; color: black; }
  .float-card, .float-card-alt, .float-card-slow { animation: none; }
  .gold-shimmer { animation: none; -webkit-text-fill-color: #b8860b; }
}
