/* PINPOINT: SISTEMA DE ESTILO LUXO ATUALIZADO 2026 */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Montserrat:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  --font-sans: "Montserrat", sans-serif;
  --font-serif: "Cormorant Garamond", serif;
  --font-display: "Cormorant Garamond", serif;
  --font-mono: "Montserrat", sans-serif;

  --color-accent: #D4AF37;
  --color-gold: #D4AF37;
  --color-[#D4AF37]: #D4AF37;
  --color-card: #141414;
  --color-bg-dark: #0A0A0A;
  --color-muted-dark: #A0A0A0;
}

/* Base definitions */
body {
  background-color: #0A0A0A;
  color: #FFFFFF;
  font-family: var(--font-sans);
  overflow-x: hidden;
  scroll-behavior: smooth;
}

@media (min-width: 1024px) {
  html {
    font-size: 115%;
  }
  
  [class*="text-[8px]"] { font-size: 9.2px !important; }
  [class*="text-[9px]"] { font-size: 10.35px !important; }
  [class*="text-[10px]"] { font-size: 11.5px !important; }
  [class*="text-[11px]"] { font-size: 12.65px !important; }

  footer .text-xs, 
  footer button, 
  footer a, 
  footer li, 
  footer p,
  footer span {
    font-size: 15.6px !important;
  }
  
  footer .text-\[8px\] {
    font-size: 10.4px !important;
  }
  
  footer h4, footer h4.text-xs {
    font-size: 17px !important;
  }

  footer .text-lg {
    font-size: 23.5px !important;
  }
  
  footer div.border-t > div,
  footer div.border-t {
    font-size: 16px !important;
  }
}

/* Custom row titles with Netflix luxury dividing lines */
.lux-row-title {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
}

.lux-row-title::after {
  content: '';
  flex-grow: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(212, 175, 55, 0.25), transparent);
}

/* Custom scrollbar to resemble high-end premium interfaces */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #0A0A0A;
}

::-webkit-scrollbar-thumb {
  background: #262626;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #D4AF37;
}

/* Custom utility for hiding scrollbar on scrolling rows but keeping swipe functionality */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Custom Glow effects */
.glow-accent {
  box-shadow: 0 0 20px rgba(212, 175, 55, 0.45);
}

.glow-accent-btn {
  box-shadow: 0 0 10px rgba(212, 175, 55, 0.25);
  transition: all 0.3s ease;
}

.glow-accent-btn:hover {
  box-shadow: 0 0 25px rgba(212, 175, 55, 0.7);
}

.glow-gold-btn {
  box-shadow: 0 0 12px rgba(212, 175, 55, 0.3);
  transition: all 0.3s ease;
}

.glow-gold-btn:hover {
  box-shadow: 0 0 30px rgba(212, 175, 55, 0.75);
}

.glass-nav {
  background-color: rgba(10, 10, 10, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* Highly Sophisticated Sweeping Reflective Shine Button Effect */
.btn-shine {
  position: relative;
  overflow: hidden;
}

.btn-shine::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -75%;
  width: 60px;
  height: 200%;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.35) 45%,
    rgba(255, 255, 255, 0.6) 50%,
    rgba(255, 255, 255, 0.35) 55%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: rotate(30deg);
  pointer-events: none;
  animation: shine-sweep 3.5s infinite ease-in-out;
}

@keyframes shine-sweep {
  0% {
    left: -100%;
  }
  20% {
    left: 130%;
  }
  100% {
    left: 130%;
  }
}

/* Modal and transition overrides */
.modal-backdrop {
  backdrop-filter: blur(12px);
  background-color: rgba(5, 5, 5, 0.88);
}

.fade-in {
  animation: fadeIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.pulse-indicator {
  position: relative;
}
.pulse-indicator::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  background-color: #ef4444;
  border-radius: 50%;
  animation: pulse-ring 1.8s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.pulse-indicator::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 6px;
  background-color: #ef4444;
  border-radius: 50%;
}

@keyframes pulse-ring {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.8;
  }
  100% {
    transform: translate(-50%, -50%) scale(3);
    opacity: 0;
  }
}

/* Floating toasts */
.toast-slide-in {
  animation: toastSlideIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.toast-slide-out {
  animation: toastSlideOut 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes toastSlideIn {
  from {
    opacity: 0;
    transform: translateY(35px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes toastSlideOut {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
}
