/* Custom styles for Platinum National Title */

/* Smooth scroll offset for fixed nav */
section[id] {
  scroll-margin-top: 80px;
}

/* Selection color */
::selection {
  background: rgba(122, 26, 49, 0.2);
  color: #7A1A31;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #FEFDFB;
}
::-webkit-scrollbar-thumb {
  background: #d4455c;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #7A1A31;
}

/* Geometric shape animations */
@media (prefers-reduced-motion: no-preference) {
  .geo-circle,
  .geo-rect {
    animation: float 8s ease-in-out infinite;
  }
  .geo-circle:nth-child(2) {
    animation-delay: -2s;
    animation-duration: 10s;
  }
  .geo-rect {
    animation-delay: -4s;
    animation-duration: 12s;
  }
}

@keyframes float {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(3deg); }
}

/* Service card hover tilt effect */
.service-card {
  transform-style: preserve-3d;
}

/* Marquee strip */
.bg-burgundy {
  overflow: hidden;
}

/* Navbar active state */
.nav-scrolled {
  background: rgba(254, 253, 251, 0.97) !important;
  box-shadow: 0 2px 24px rgba(122, 26, 49, 0.08);
}

/* Mobile menu transitions */
.mobile-menu {
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.mobile-menu.open {
  transform: translateX(0);
}

/* Menu lines animation */
.menu-line {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
#menu-btn.active .menu-line:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
#menu-btn.active .menu-line:nth-child(2) {
  opacity: 0;
}
#menu-btn.active .menu-line:nth-child(3) {
  width: 24px;
  transform: rotate(-45deg) translate(5px, -5px);
}

/* Button ripple effect */
.btn-primary {
  position: relative;
  overflow: hidden;
}
.btn-primary::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}
.btn-primary:active::after {
  width: 200px;
  height: 200px;
}

/* Image hover zoom */
.relative.z-10.rounded-3xl.overflow-hidden {
  overflow: hidden;
}
.relative.z-10.rounded-3xl.overflow-hidden img {
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.relative.z-10.rounded-3xl.overflow-hidden:hover img {
  transform: scale(1.05);
}

/* Input autofill styling */
input:-webkit-autofill,
textarea:-webkit-autofill {
  box-shadow: 0 0 0 30px #FEFDFB inset !important;
  -webkit-text-fill-color: #111827 !important;
}

/* Focus visible for keyboard nav */
*:focus-visible {
  outline: 2px solid #7A1A31;
  outline-offset: 2px;
}

/* Print styles */
@media print {
  nav, .geo-circle, .geo-rect, .stripe-accent, .animate-marquee {
    display: none !important;
  }
  body {
    background: white !important;
    color: black !important;
  }
}
