/*
 * Baker Street Mystery — Events Calendar Pro: Photo View
 * ───────────────────────────────────────────────────────
 * File location in child theme:
 *   neve-child/tribe-events/pro/tribe-events-pro.css
 *
 * This file loads ON TOP of the plugin's skeleton styles.
 * Skeleton styles handle the layout grid — this file handles
 * all visual styling: colors, typography, hover effects.
 *
 * Prerequisites:
 *   1. Events → Settings → Display → Stylesheet = "Skeleton Styles"
 *   2. Google Fonts loaded via neve-child/functions.php (already done)
 */

/* ════════════════════════════════════════════════════════
   DESIGN TOKENS
   ════════════════════════════════════════════════════════ */

.tribe-events-pro-photo {
  --bsm-black:      #0a0a0a;
  --bsm-dark:       #111010;
  --bsm-card:       #181818;
  --bsm-gold:       #c9a84c;
  --bsm-gold-dim:   rgba(201, 168, 76, 0.15);
  --bsm-gold-ring:  rgba(201, 168, 76, 0.3);
  --bsm-white:      #ffffff;
  --bsm-muted:      rgba(255, 255, 255, 0.4);
  --bsm-border:     rgba(255, 255, 255, 0.07);

  background: var(--bsm-dark);
  font-family: 'DM Sans', sans-serif;
}


/* ════════════════════════════════════════════════════════
   PHOTO VIEW CONTAINER
   ════════════════════════════════════════════════════════ */

.tribe-events-pro-photo__event-list {
  gap: 1.5rem;
}


/* ════════════════════════════════════════════════════════
   EVENT CARD — article
   ════════════════════════════════════════════════════════ */

.tribe-events-pro-photo__event {
  background: var(--bsm-card);
  border: 1px solid var(--bsm-border);
  overflow: hidden;
  transition: border-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
}

.tribe-events-pro-photo__event:hover {
  border-color: var(--bsm-gold);
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}


/* ════════════════════════════════════════════════════════
   FEATURED IMAGE
   ════════════════════════════════════════════════════════ */

.tribe-events-pro-photo__event-featured-image-wrapper {
  overflow: hidden;
  position: relative;
}

/* Gold + shadow overlay on hover */
.tribe-events-pro-photo__event-featured-image-wrapper::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, transparent 50%),
    linear-gradient(135deg, var(--bsm-gold-dim) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.tribe-events-pro-photo__event:hover
.tribe-events-pro-photo__event-featured-image-wrapper::after {
  opacity: 1;
}

.tribe-events-pro-photo__event-featured-image {
  display: block;
  width: 100%;
  filter: brightness(0.85);
  transition: transform 0.6s ease, filter 0.4s ease;
}

.tribe-events-pro-photo__event:hover
.tribe-events-pro-photo__event-featured-image {
  transform: scale(1.05);
  filter: brightness(1);
}


/* ════════════════════════════════════════════════════════
   DETAILS WRAPPER
   ════════════════════════════════════════════════════════ */

.tribe-events-pro-photo__event-details-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1.25rem 1.5rem;
  background: var(--bsm-card);
}


/* ════════════════════════════════════════════════════════
   DATE TAG
   ════════════════════════════════════════════════════════ */

.tribe-events-pro-photo__event-date-tag {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 48px;
  padding: 0.4rem 0.7rem;
  background: rgba(201, 168, 76, 0.1);
  border: 1px solid var(--bsm-gold-ring);
}

.tribe-events-pro-photo__event-date-tag-month {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bsm-gold);
  line-height: 1;
  margin-bottom: 0.2rem;
}

.tribe-events-pro-photo__event-date-tag-daynum {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.8rem;
  color: var(--bsm-white);
  line-height: 1;
  /* Reset any tribe utility font sizes */
  font-weight: normal;
}


/* ════════════════════════════════════════════════════════
   EVENT TITLE
   ════════════════════════════════════════════════════════ */

.tribe-events-pro-photo__event-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.04em;
  line-height: 1.1;
  margin: 0 0 0.4rem;
  /* Reset tribe utility classes */
  font-weight: normal;
}

.tribe-events-pro-photo__event-title-link {
  color: var(--bsm-white);
  text-decoration: none;
  transition: color 0.3s;
}

.tribe-events-pro-photo__event-title-link:hover,
.tribe-events-pro-photo__event-title-link:focus {
  color: var(--bsm-gold);
  text-decoration: none;
}


/* ════════════════════════════════════════════════════════
   EVENT DATE / TIME
   ════════════════════════════════════════════════════════ */

.tribe-events-pro-photo__event-datetime {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  color: var(--bsm-muted);
  /* Reset tribe utility */
  font-weight: normal;
}

.tribe-events-events-pro-photo__event-datetime-separator {
  color: var(--bsm-gold);
  margin: 0 0.15rem;
}


/* ════════════════════════════════════════════════════════
   NAVIGATION (prev / next)
   ════════════════════════════════════════════════════════ */

.tribe-events-c-nav {
  border-top: 1px solid var(--bsm-border);
  padding-top: 2rem;
  margin-top: 2rem;
}

.tribe-events-c-nav__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tribe-events-c-nav__next,
.tribe-events-c-nav__prev {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--bsm-gold);
  text-decoration: none;
  transition: opacity 0.3s;
}

.tribe-events-c-nav__next:hover,
.tribe-events-c-nav__prev:hover {
  opacity: 0.7;
  text-decoration: none;
}

.tribe-events-c-nav__next-text,
.tribe-events-c-nav__prev-text {
  color: var(--bsm-gold);
}


/* ════════════════════════════════════════════════════════
   "NO EVENTS" MESSAGE
   ════════════════════════════════════════════════════════ */

.tribe-events-pro-photo__no-results-title,
.tribe-events-c-no-results-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 2rem;
  color: var(--bsm-white);
  letter-spacing: 0.05em;
}

.tribe-events-c-no-results-description {
  font-family: 'DM Sans', sans-serif;
  color: var(--bsm-muted);
}


/* ════════════════════════════════════════════════════════
   TRIBE COMMON RESETS
   Neutralize tribe-common utility classes that fight
   our typography without touching the skeleton layout
   ════════════════════════════════════════════════════════ */

.tribe-events-pro-photo .tribe-common-h4,
.tribe-events-pro-photo .tribe-common-h5,
.tribe-events-pro-photo .tribe-common-h6 {
  font-family: 'Bebas Neue', sans-serif;
  font-weight: normal;
  color: var(--bsm-white);
}

.tribe-events-pro-photo .tribe-common-b2 {
  font-family: 'DM Sans', sans-serif;
  color: var(--bsm-muted);
}

.tribe-events-pro-photo .tribe-common-anchor-thin {
  text-decoration: none;
}

.tribe-events-pro-photo .tribe-common-anchor-thin:hover {
  text-decoration: none;
}

