/* ==========================================================================
   TAJ SAHITYA UTSAV — JAIPUR LITERATURE FESTIVAL (JLF) LUXURY DESIGN SYSTEM
   High Performance, Zero-Lag Architecture Optimized for Smooth 60fps Scrolling
   ========================================================================== */

/* User Selection */
::selection {
  background-color: #EE2A7B;
  color: #FFFFFF;
}

/* Custom Luxury Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #FDFBF7;
}
::-webkit-scrollbar-thumb {
  background: #D69411;
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: #EE2A7B;
}

/* Gold Metallic Text Shimmer */
.gold-text-shimmer {
  background: linear-gradient(135deg, #FFF6D6 0%, #F7B727 35%, #F59E0B 70%, #FFF3C4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.pink-gold-shimmer {
  background: linear-gradient(135deg, #FFE082 0%, #F7B727 30%, #EE2A7B 70%, #F43F5E 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

/* High-Performance Cultural Accents (Lightweight CSS, No Repaint Bottlenecks) */
.mandala-bg {
  background-image: radial-gradient(rgba(247, 183, 39, 0.12) 1px, transparent 1px);
  background-size: 28px 28px;
}

.jaali-pattern {
  background-color: #190A2E;
  background-image: radial-gradient(#F7B727 0.6px, transparent 0.6px);
  background-size: 24px 24px;
}

.indian-arch-border {
  border-top: 3px solid #EE2A7B;
}

/* Mughal Arch Shape Frame */
.mughal-arch-top {
  border-radius: 40px 40px 16px 16px;
}

/* High-Performance Luxury Cards (Zero GPU Lag, No Heavy Continuous Blur) */
.card-glass {
  background: #FFFFFF;
  border: 1px solid rgba(247, 183, 39, 0.4);
  box-shadow: 0 4px 16px -2px rgba(58, 30, 95, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.card-glass:hover {
  transform: translateY(-3px);
  border-color: rgba(238, 42, 123, 0.55);
  box-shadow: 0 12px 24px -4px rgba(58, 30, 95, 0.12);
}

.card-dark-glass {
  background: #190A2E;
  border: 1px solid rgba(247, 183, 39, 0.3);
  box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.35);
}

/* Subtle Gold Foil Trims */
.gold-trim {
  position: relative;
}

.gold-trim::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #3a1e5f, #f7b727, #ee2a7b);
  border-radius: 4px 4px 0 0;
}

/* Section Title Ornaments */
.section-ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 10px 0 18px 0;
}

.section-ornament .ornament-line {
  height: 1px;
  width: 60px;
  background: linear-gradient(90deg, transparent, #e2c079, transparent);
}

.section-ornament .ornament-diamond {
  width: 8px;
  height: 8px;
  background: #f7b727;
  transform: rotate(45deg);
}

/* Status Indicator Dot (Static, Zero GPU Repaint) */
.pulse-badge {
  display: inline-block;
  box-shadow: 0 0 0 2px rgba(247, 183, 39, 0.4);
}

/* Performance containment for offscreen sections */
.perf-section {
  content-visibility: auto;
  contain-intrinsic-size: 1px 500px;
}

/* Interactive Lightbox Modal (Appears only on user click, GPU accelerated) */
.lightbox-modal {
  position: fixed;
  inset: 0;
  background: rgba(15, 6, 26, 0.95);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  cursor: zoom-out;
}

.lightbox-modal.active {
  display: flex;
  animation: modalFade 0.18s ease-out;
}

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

.lightbox-container {
  max-width: 94vw;
  max-height: 92vh;
  position: relative;
  cursor: default;
}

.lightbox-img {
  max-width: 100%;
  max-height: 84vh;
  border-radius: 10px;
  box-shadow: 0 20px 50px -10px rgba(0, 0, 0, 0.8);
  border: 2px solid rgba(247, 183, 39, 0.5);
}

.lightbox-caption {
  color: #fef0f6;
  text-align: center;
  margin-top: 12px;
  font-size: 14px;
  font-weight: 600;
}

.lightbox-close-btn {
  position: absolute;
  top: 20px;
  right: 24px;
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.35);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.lightbox-close-btn:hover {
  background: #ee2a7b;
  transform: rotate(90deg);
}

/* Aspect Ratio helper */
.aspect-16-9 {
  aspect-ratio: 16 / 9;
}

/* Dignitary & Awardee Portrait Framing - Never crop heads/faces */
.award-portrait-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 6% !important;
}

.guest-portrait-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top !important;
}

/* Header Edition Dropdown */
.edition-dropdown-wrapper {
  position: relative;
}

.edition-dropdown-menu {
  display: none;
  animation: dropdownSlide 0.18s ease-out;
}

.edition-dropdown-wrapper:hover .edition-dropdown-menu,
.edition-dropdown-wrapper.open .edition-dropdown-menu {
  display: block;
}

/* Primary Navigation Group Dropdowns */
.nav-dropdown-wrapper {
  position: relative;
}

.nav-dropdown-menu {
  display: none;
  animation: dropdownSlide 0.18s ease-out;
}

/* Invisible bridge prevents menu from disappearing on hover gap */
.nav-dropdown-menu::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 10px;
}

.nav-dropdown-wrapper:hover .nav-dropdown-menu,
.nav-dropdown-wrapper.open .nav-dropdown-menu {
  display: block;
}

@keyframes dropdownSlide {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Rich Text / TinyMCE Output Styling for Notices */
.notice-message-body p {
  margin-bottom: 0.65rem;
  line-height: 1.6;
}
.notice-message-body p:last-child {
  margin-bottom: 0;
}
.notice-message-body ul {
  list-style-type: disc;
  margin-left: 1.35rem;
  margin-bottom: 0.65rem;
}
.notice-message-body ol {
  list-style-type: decimal;
  margin-left: 1.35rem;
  margin-bottom: 0.65rem;
}
.notice-message-body li {
  margin-bottom: 0.25rem;
}
.notice-message-body a {
  color: #ee2a7b;
  text-decoration: underline;
  font-weight: 600;
}
.notice-message-body a:hover {
  color: #c1175e;
}
.notice-message-body blockquote {
  border-left: 3px solid #f7b727;
  padding-left: 0.75rem;
  font-style: italic;
  color: #4b5563;
  margin: 0.65rem 0;
  background: rgba(247, 183, 39, 0.08);
  border-radius: 0 6px 6px 0;
  padding: 0.5rem 0.75rem;
}
.notice-message-body h1, 
.notice-message-body h2, 
.notice-message-body h3, 
.notice-message-body h4 {
  font-family: 'Cinzel', serif;
  font-weight: 700;
  color: #3a1e5f;
  margin: 0.75rem 0 0.4rem 0;
}
.notice-message-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.75rem 0;
}
.notice-message-body table th,
.notice-message-body table td {
  border: 1px solid #e5e7eb;
  padding: 0.4rem 0.6rem;
  font-size: 0.85rem;
}
.notice-message-body table th {
  background: #fdfbf7;
  font-weight: bold;
}


