/* Global Application CSS */

/* Organic Linen Texture Overlay for Crisp Light Scheme */
.linen-grain {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.02'/%3E%3C/svg%3E");
}

::selection {
  background-color: #E8B4A8;
  color: #2B2B2B;
}

/* Animated editorial link underline */
.link-underline {
  position: relative;
}
.link-underline::after {
  content: '';
  position: absolute;
  width: 0;
  height: 1.5px;
  bottom: -2px;
  left: 0;
  background-color: currentColor;
  transition: width 0.35s cubic-bezier(0.25, 1, 0.5, 1);
}
.link-underline:hover::after {
  width: 100%;
}

/* Scroll reveal transitions */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.reveal.is-revealed {
  opacity: 1;
  transform: translateY(0);
}
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* Custom light luxury scrollbar */
::-webkit-scrollbar { width: 7px; }
::-webkit-scrollbar-track { background: #FDFBF7; }
::-webkit-scrollbar-thumb { background: #E3D8C3; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #D8AFA0; }

/* Mega Menu Hover Bridge - Prevents flickering when moving mouse from nav to mega menu */
#services-nav-wrap::after, #locations-nav-wrap::after, #company-nav-wrap::after {
  content: '';
  position: absolute;
  top: 100%;
  left: -20px;
  right: -20px;
  height: 60px;
  z-index: 10;
}

/* PDF Print Styles (A4, No sidebars/modals) */
@media print {
  @page {
    size: A4 portrait;
    margin: 1.5cm;
  }
  
  body {
    background-color: white !important;
    color: black !important;
  }
  
  header, footer, aside, .sidebar, #mobile-menu, #mega-menu-backdrop, #chatbot-concierge, #floating-whatsapp {
    display: none !important;
  }
  
  main {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
  
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
