/* Ethereal Glass & Organic Tech Design System */
/* Светлая и тёмная тема */
:root {
  --bg-primary: 255 255 255;
  --bg-secondary: 255 255 255;
 --bg-tertiary: 248 250 252; /* Slightly darker for card backgrounds */
  --text-primary: 15 23 42;
  --text-secondary: 51 65 85;
  --text-muted: 100 116 139;
  --border-color: 226 232 240;
  /* Glassmorphism variables */
  --glass-bg: var(--bg-tertiary);
  --glass-opacity: 0.9;
  --glass-opacity-hover: 0.95;
  --glass-border: var(--border-color);
  --glass-border-opacity: 0.5;
  --glass-blur: 16px;
  /* Accent gradient */
  --accent-start: 79 70 229; /* Indigo-60 */
  --accent-middle: 147 51 234; /* Purple-600 */
  --accent-end: 219 39 119; /* Pink-60 */
}

body {
  font-family: 'Outfit', sans-serif;
  background-color: #ffffff;
  overflow-x: hidden;
}

a {
  color: inherit; /* Inherit color from parent */
  text-decoration: none; /* Remove default underline */
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

a:hover {
  color: rgb(var(--text-primary)); /* Slightly darker on hover */
  text-decoration: underline; /* Underline on hover */
  text-decoration-color: rgba(var(--text-primary), 0.5); /* Lighter underline */
}

/* Specific link styles that need to be more prominent */
a.text-slate-600:hover {
  color: #4f46e5; /* Tailwind indigo-600 */
  text-decoration-color: rgba(79, 70, 229, 0.7);
}

a.accent-gradient:hover {
  text-decoration: underline;
  text-decoration-color: rgba(var(--accent-middle), 0.7);
}

/* Ensure studio and hall card links are prominent */
.studio-card-link, .hall-card a {
  text-decoration: none;
}

.studio-card-link:hover, .hall-card a:hover {
  text-decoration: underline;
  text-decoration-color: rgba(var(--text-primary), 0.5);
}
/* Hide background elements */
.bg-noise {
  display: none;
}
.mesh-bg {
  display: none;
}
.blob-1, .blob-2, .blob-3 {
  display: none;
}


.floating-dot {
  animation: float 9s ease-in-out infinite alternate;
}
@keyframes float {
  from { transform: translate3d(0,0); }
 to { transform: translate3d(0,-18px,0); }
}

.soft-scrollbar::-webkit-scrollbar { height: 6px; width: 6px; }
.soft-scrollbar::-webkit-scrollbar-track { background: transparent; }
.soft-scrollbar::-webkit-scrollbar-thumb { background: rgba(148,163,184,0.4); border-radius: 999px; }
.dark .soft-scrollbar::-webkit-scrollbar-thumb { background: rgba(148,163,184,0.6); }

.dark .light-hidden { display: inline !important; }
.dark .dark-hidden { display: none !important; }

body {
  background-color: rgb(var(--bg-primary));
  color: rgb(var(--text-primary));
}

/* Glassmorphism components */
.card-glass {
  background: rgba(var(--glass-bg), var(--glass-opacity));
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid rgba(var(--glass-border), var(--glass-border-opacity));
}

.card-glass-hover:hover {
  background: rgba(var(--glass-bg), var(--glass-opacity-hover));
  transform: translateY(-2px);
  box-shadow: 0 10px 25px -5px rgba(var(--accent-start), 0.1);
}

.card-glass-inner-glow {
  position: relative;
  overflow: hidden;
}

.card-glass-inner-glow::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 2rem; /* Super-elliptical rounded corners */
  background: radial-gradient(circle at center, rgba(var(--accent-start), 0.1) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.card-glass-inner-glow:hover::before {
  opacity: 0.3;
}

.card-base {
  background-color: rgba(var(--glass-bg), var(--glass-opacity));
  border-color: rgb(var(--border-color));
}

.input-base {
  background-color: rgba(var(--glass-bg), var(--glass-opacity));
  border-color: rgb(var(--border-color));
  color: rgb(var(--text-primary));
}

.input-base::placeholder {
  color: rgb(var(--text-muted));
}

/* Gallery Modal Styles */
#gallery-modal {
  display: none;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: rgba(0, 0, 0, 0.3);
}

#gallery-modal.active {
  display: flex;
}

/* Hall Card Styles with super-elliptical corners */
.hall-card {
  transition: all 0.2s ease;
  border-radius: 2rem; /* Super-elliptical rounded corners */
}

.hall-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

/* Gallery Images */
.gallery-image {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 0.5rem;
  transition: transform 0.3s ease;
}

.gallery-image:hover {
  transform: scale(1.05);
}

/* Gallery Item */
.gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  aspect-ratio: 1 / 1;
}

/* Gallery Modal */
#gallery-modal {
  z-index: 60; /* Higher than other elements */
}

/* Glassmorphism effect for modal content */
#gallery-modal .bg-white {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(226, 232, 240, 0.8);
}

/* Hall Info Section */
.hall-info {
  transition: all 0.2s ease;
}

.hall-info p {
  line-height: 1.5;
}

.hall-info .font-medium {
  font-weight: 500;
}

/* VK Button */
.hall-info a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  transition: all 0.2s ease;
}

.hall-info a:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}

/* Gallery Layout Fix */
#gallery-content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Photos Grid */
.photos-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}

@media (min-width: 640px) {
  .photos-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 768px) {
  .photos-grid {
    grid-template-columns: repeat(5, 1fr);
  }
}

/* Gallery Modal Content Adjustments */
#gallery-modal .bg-white {
  max-height: 90vh;
  overflow-y: auto;
}

/* Override HTML grid classes for gallery content */
#gallery-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}

/* Full-size Image Modal */
#image-modal {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: rgba(0, 0, 0, 0.5);
}

#image-modal.active {
  display: flex;
  opacity: 1;
}

#image-modal-content {
  transition: transform 0.3s ease;
}

#close-image-modal,
#prev-image,
#next-image {
  transition: background-color 0.2s ease, transform 0.2s ease;
}

#prev-image:hover,
#next-image:hover {
  transform: scale(1.1);
}

/* Super-elliptical rounded corners for various components */
.rounded-super {
  border-radius: 1.5rem; /* 24px */
}

.rounded-ultra {
  border-radius: 1.5rem; /* 24px */
}

/* Accent gradient for text and elements */
.accent-gradient {
  background: linear-gradient(90deg, 
    rgba(var(--accent-start), 1) 0%, 
    rgba(var(--accent-middle), 1) 50%, 
    rgba(var(--accent-end), 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

/* Pill-shaped navigation */
.nav-pill {
  border-radius: 1.5rem;
  background: rgba(var(--glass-bg), var(--glass-opacity));
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid rgba(var(--glass-border), var(--glass-border-opacity));
}

/* Floating capsule search */
.search-capsule {
  border-radius: 1.5rem;
  background: rgba(var(--glass-bg), var(--glass-opacity));
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid rgba(var(--glass-border), var(--glass-border-opacity));
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg equivalent */
}

.search-capsule:focus-within {
  background: rgba(var(--glass-bg), var(--glass-opacity-hover));
  box-shadow: 0 20px 25px -5px rgba(var(--accent-start), 0.3), 0 8px 10px -6px rgba(var(--accent-start), 0.1);
}

/* AI Advisor glass container */
.ai-advisor-glass {
  border-radius: 1.5rem;
  background: rgba(var(--glass-bg), var(--glass-opacity));
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid rgba(var(--glass-border), var(--glass-border-opacity));
  overflow: hidden;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg equivalent */
}

/* Light planner glass container */
.light-planner-glass {
  border-radius: 1.5rem;
  background: rgba(var(--glass-bg), var(--glass-opacity));
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid rgba(var(--glass-border), var(--glass-border-opacity));
  overflow: hidden;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg equivalent */
}

/* Studio card with glass effect */
.studio-card {
  border-radius: 1.5rem;
  background: rgba(var(--glass-bg), var(--glass-opacity));
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid rgba(var(--glass-border), var(--glass-border-opacity));
  transition: all 0.3s ease;
}

.studio-card:hover {
  background: rgba(var(--glass-bg), var(--glass-opacity-hover));
  transform: translateY(-2px);
  box-shadow: 0 20px 25px -5px rgba(var(--accent-start), 0.1), 0 8px 10px -6px rgba(var(--accent-start), 0.1);
}

/* Darken studio cards for better contrast in light theme */
.card-glass {
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.8);
}

.studio-card {
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.8);
}

.card-glass-hover:hover {
  background: rgba(248, 250, 252, 0.98);
}

/* Make studio cards even darker */
.studio-card-link {
  background: rgba(241, 245, 249, 0.95) !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
}

.studio-card-link:hover {
  background: rgba(226, 232, 240, 0.95) !important;
}

/* Make hall cards darker too */
#studios-container .rounded-super {
  background: rgba(241, 245, 249, 0.95) !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
}

#studios-container .rounded-super:hover {
  background: rgba(226, 232, 240, 0.95) !important;
}

/* Modal with split-screen layout */
.modal-split-screen {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .modal-split-screen {
    flex-direction: row;
  }
}

.modal-split-screen .image-panel {
  flex: 1;
  border-radius: 2.5rem 0 0 2.5rem;
  overflow: hidden;
}

.modal-split-screen .content-panel {
  flex: 1;
  border-radius: 0 2.5rem 2.5rem 0;
  background: rgba(var(--glass-bg), var(--glass-opacity-hover));
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border-left: 1px solid rgba(var(--glass-border), var(--glass-border-opacity));
  padding: 1.5rem;
}

/* Enhanced typography with proper leading */
.text-display {
  font-weight: 800;
  line-height: 1.1;
}

.text-body {
  line-height: 1.6;
  color: rgb(var(--text-secondary));
}

/* AI chips with glass effect */
.ai-chip {
  border-radius: 1.5rem;
  background: rgba(var(--glass-bg), var(--glass-opacity));
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid rgba(var(--glass-border), var(--glass-border-opacity));
  transition: all 0.2s ease;
}

.ai-chip:hover {
  background: rgba(var(--glass-bg), var(--glass-opacity-hover));
  border-color: rgba(var(--accent-start), 0.5);
}

/* Glow effect for active elements */
.glow-effect {
  position: relative;
}

.glow-effect::after {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  border-radius: inherit;
  background: linear-gradient(45deg, 
    rgba(var(--accent-start), 0.5), 
    rgba(var(--accent-middle), 0.5), 
    rgba(var(--accent-end), 0.5));
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.glow-effect.active::after,
.glow-effect:hover::after {
  opacity: 0.5;
}

/* Glow effect for emerald-colored elements */
.glow-effect-green {
  position: relative;
}

.glow-effect-green::after {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  border-radius: inherit;
  background: radial-gradient(circle at center, rgba(52, 211, 153, 0.5) 0%, transparent 70%); /* Emerald-400 with 0.5 opacity */
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.glow-effect-green.active::after,
.glow-effect-green:hover::after {
  opacity: 0.5;
}