/* ===== VENUE INFORMATION COMPONENTS ===== */

/* Venue Hours Display */
.pg-venue-hours {
  display: flex;
  flex-direction: column;
  gap: var(--pg-space-1);
  font-size: var(--pg-text-sm);
}

.pg-venue-hours__day {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--pg-space-1) 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition: all var(--pg-transition);
  min-height: 26px;
}

.pg-venue-hours__day:last-child {
  border-bottom: none;
}

.pg-venue-hours__day:hover {
  background: rgba(236, 8, 240, 0.03);
  padding-left: var(--pg-space-2);
  border-radius: var(--pg-border-radius-sm);
  border-bottom-color: transparent;
}

.pg-venue-hours__day--closed {
  opacity: 0.5;
}

.pg-venue-hours__day-name {
  font-weight: var(--pg-font-normal);
  color: var(--pg-text-secondary);
  font-size: var(--pg-text-sm);
}

.pg-venue-hours__time {
  color: var(--pg-primary);
  font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
  font-size: var(--pg-text-xs);
  font-weight: var(--pg-font-medium);
  letter-spacing: 0.3px;
}

.pg-venue-hours__day--closed .pg-venue-hours__time {
  color: var(--pg-text-muted);
  font-style: italic;
  font-family: inherit;
}

/* Venue Contact Card */
.pg-venue-contact {
  display: grid;
  gap: var(--pg-space-6);
  padding: var(--pg-space-6);
  background: var(--pg-bg-light);
  border: var(--pg-border-width) solid var(--pg-border);
  border-radius: var(--pg-border-radius-lg);
  box-shadow: var(--pg-shadow-md);
}

.pg-venue-contact__item {
  display: flex;
  gap: var(--pg-space-4);
  align-items: flex-start;
}

.pg-venue-contact__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: rgba(236, 8, 240, 0.1);
  border: 1px solid rgba(236, 8, 240, 0.3);
  border-radius: var(--pg-border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pg-primary);
}

.pg-venue-contact__content {
  flex: 1;
}

.pg-venue-contact__content strong {
  display: block;
  color: var(--pg-text-primary);
  font-weight: var(--pg-font-semibold);
  margin-bottom: var(--pg-space-1);
}

.pg-venue-contact__content a {
  color: var(--pg-text-secondary);
  text-decoration: none;
  transition: color var(--pg-transition);
}

.pg-venue-contact__content a:hover {
  color: var(--pg-primary);
  text-decoration: underline;
}

.pg-venue-contact__social-links {
  display: flex;
  gap: var(--pg-space-3);
  margin-top: var(--pg-space-2);
}

.pg-venue-contact__social-links a {
  font-size: var(--pg-text-sm);
  font-weight: var(--pg-font-medium);
  padding: var(--pg-space-1) var(--pg-space-3);
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-border-radius);
  transition: all var(--pg-transition);
}

.pg-venue-contact__social-links a:hover {
  transform: translateY(-1px);
  box-shadow: var(--pg-shadow-sm);
  text-decoration: none;
}

.pg-venue-contact__social-links .pg-social-link--instagram:hover {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  color: white;
  border-color: transparent;
}

.pg-venue-contact__social-links .pg-social-link--facebook:hover {
  background: #1877f2;
  color: white;
  border-color: transparent;
}

/* Venue Status Badge */
.pg-venue-status {
  display: inline-flex;
  align-items: center;
  gap: var(--pg-space-2);
  padding: var(--pg-space-2) var(--pg-space-3);
  border-radius: var(--pg-border-radius);
  font-size: var(--pg-text-sm);
  font-weight: var(--pg-font-medium);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pg-venue-status--open {
  background: rgba(34, 197, 94, 0.1);
  color: rgb(34, 197, 94);
  border: 1px solid rgba(34, 197, 94, 0.3);
}

.pg-venue-status--closed {
  background: rgba(239, 68, 68, 0.1);
  color: rgb(239, 68, 68);
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.pg-venue-status::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* Responsive Design */
@media (min-width: 768px) {
  .pg-venue-contact {
    padding: var(--pg-space-8);
    gap: var(--pg-space-8);
  }

  .pg-venue-hours {
    gap: var(--pg-space-1);
  }

  .pg-venue-hours__day {
    padding: var(--pg-space-1) 0;
    min-height: 28px;
  }

  .pg-venue-hours__day-name {
    font-size: var(--pg-text-sm);
  }

  .pg-venue-hours__time {
    font-size: var(--pg-text-sm);
  }
}

@media (min-width: 1024px) {
  .pg-venue-contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--pg-space-10);
  }

  .pg-venue-contact__item {
    grid-column: span 1;
  }

  .pg-venue-contact__social {
    grid-column: span 2;
  }
}