
/*
Theme Name: Astra Child
Template: astra
*/

/* 1. FORCE grid on the list (TEC sometimes resets display) */
ul.tribe-events-calendar-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 20px;

  list-style: none;
  padding: 0;
  margin: 0;
}

.tribe-events-calendar-series-archive__container {
  display: none;
}

/* 2. REMOVE month separators from layout entirely */
.tribe-events-calendar-list__month-separator {
  display: none !important;
}

/* 3. Each event row = one grid item */
.tribe-events-calendar-list__event-row {
  margin: 0 !important;
  padding: 0 !important;
  display: flex;

  flex: 1;

  height: 100%;
  
}

/* 4. KILL ALL TEC FLOATS (this stops overlap) */
.tribe-events-calendar-list__event-wrapper *,
.tribe-events-calendar-list__event * {
  float: none !important;
  clear: none !important;
}

/* 5. Card container */
/* Card */

.tribe-events-calendar-list__event {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
}

ul.tribe-events-calendar-list {
  align-items: stretch;
}

.tribe-events-calendar-list__event-row {
  display: flex;
  height: 100%;
}

.event-card__inner {
    padding: 20px !important;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: 100%;
    
    
    flex: 1;
    
    gap: 16px;

    background: #ffffff;
    border-radius: 15px;

    position: relative;
    z-index: 1;

    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);

    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tribe-events-calendar-list__event::before {
  content: "";
  position: absolute;
  inset: -4px; /* slightly outside card */

  border-radius: 18px;

  background: linear-gradient(to bottom, #A922FF, #FF0200);

  filter: blur(1px); /* THIS creates glow */

  opacity: 0.25; /* subtle */

  z-index: 0;

  pointer-events: none;
}

.tribe-events-calendar-list__event:hover .event-card__inner {
  transform: translateY(-4px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15);
}

.tribe-events-calendar-list__event:hover::before {
  opacity: 0.45; /* stronger glow */
  filter: blur(16px);
}


/* Full clickable overlay */
.event-card__link {
  position: absolute;
  inset: 0;
  z-index: 2;
  text-indent: -9999px; /* hide text if any */
}

/* Keep content above overlay visually */
.event-card__inner {
  position: relative;
  z-index: 1;
}

/* FINAL FIX: neutralise injected TEC columns inside cards */

/* Fix injected TEC columns */
.tribe-events-calendar-list__event-featured-image-wrapper,
.tribe-events-calendar-list__event-details {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* Image container */

.event-card__image {
  width: 100%;
  height: 220px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 10px;
  overflow: hidden;
}


/* 8. Card content */

/* FORCE padding on card content */
.event-card__content {
  box-sizing: border-box;
}

.tribe-events-calendar-list__event-details {
  padding: 1rem 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* Layout row */
.event-card__meta-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

/* Date box */
.event-card__date {
  min-width: 50px;

  border: 2px solid #140B1B;
  border-radius: 8px;

  text-align: center;
  padding: 6px 4px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  font-family: Arial, sans-serif;
}

/* Month */
.event-card__month {
  font-size: 0.75rem;
  font-weight: 400;
  text-transform: uppercase;
}

/* Day */
.event-card__day {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

/* Right content */
.event-card__meta-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Time */
.event-card__time {
  font-size: 0.9rem;
  font-weight: 600;
}

.tribe-events-calendar-list__event-venue-address {
  display: none;
}

.tribe-events-calendar-list__event-title {
  font-family: Arial, sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: #FF0200 !important;
}

.tribe-events-calendar-list__event-title a {
  color: #A922FF !important;
  text-decoration: none;
}

.tribe-events-calendar-list__event-title a:hover {
  color: #140B1B !important;
  font-weight: 800;
  text-decoration: underline;
}

.tribe-events-calendar-list__event-title-link {
  color: #FF0200 !important;
}

.tribe-events-calendar-list__event-title-link:hover {
  color: #140B1B !important;
  text-decoration: underline;
}

ul.tribe-events-calendar-list .tribe-events-calendar-list__event-title-link {
  color: #FF0200 !important;
}

ul.tribe-events-calendar-list .tribe-events-calendar-list__event-title-link:hover {
  color: #A922FF !important;
}


.tribe-events-calendar-list__event-venue {
  color: #140B1B !important;
  font-style: normal !important;
  font-weight: 600;
}


.tribe-events-calendar-list__event-venue {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  line-height: 1.35;
  color: #140B1B;
  margin-bottom: 0.35rem;
}




/* SEARCH BAR */
/* Kill the white background of the entire events bar */
.tribe-events-header__events-bar,
.tribe-events-c-events-bar,
.tribe-events-c-events-bar__search-container,
.tribe-events-c-events-bar__search {
    background: #fff !important;
    border: none !important;
    box-shadow: none !important;
}

/* Search input */

/* Search input container (the visible field) */
.tribe-events-c-search__input-control {
    background: #140B1B !important;
    border: 3px solid #FF0200 !important;
    border-radius: 5px !important;
    padding: 0.7em 0.8em !important;
    box-shadow: none !important;
    position: relative;
}

/* Kill TEC inner focus ring / box */
.tribe-common-form-control-text::after,
.tribe-common-form-control-text--active::after {
    content: none !important;
}

.tribe-events-c-search__input {
    background: transparent !important;
    color: #140B1B !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    caret-color: #FF0200;
    font-family: 'Open sans', sans-serif !important;
}

/* Active / focus state */
.tribe-events-c-search__input-control:focus-within {
    border-color: #A922FF !important;
    box-shadow: 0 0 10px 0 #A922FF !important;
}

/* Search icon colour */
.tribe-events-c-search__input-control-icon-svg {
    color: #FF0200 !important;
}

/* Text cursor */
.tribe-events-c-search__input {
    caret-color: #FF0200;
}

/* Placeholder text */
.tribe-events-c-search__input::placeholder {
    color: #FFFFFF !important;
    opacity: 0.3 !important;
}

/* Force TEC search icon visible (bypass missing breakpoint logic) */
.tribe-events .tribe-events-c-search__input-control-icon-svg {
  display: block !important;
  position: absolute !important;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

/* Ensure container behaves correctly */
.tribe-events-c-search__input-control {
  position: relative;
}



/* Find Events button */
/* EVENTS SEARCH: Find Events button */
.tribe-events-c-search__button {
    background: #140B1B !important;
    color: #FF0200 !important;

    border: 3px solid #FF0200 !important;
    border-radius: 5px !important;

    font-family: "Smooch Sans", sans-serif !important;
    font-size: 1.7rem !important;
    font-weight: 700 !important;

    padding: 0.7em 1em !important;
    box-shadow: none !important;

    cursor: pointer;
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

/* Hover state */
.tribe-events-c-search__button:hover {
    background: transparent !important;
    color: #A922FF !important;

    border-color: #A922FF !important;

    box-shadow: 0 0 10px 0 #A922FF !important;
}


/* === Bottom Events Navigation – Link Style === */

/* Remove divider line above nav */
.tribe-events-calendar-list-nav {
    border-top: none !important;
}

.tribe-events-calendar-list-nav::before {
    content: none !important;
}

/* Layout */
.tribe-events-c-nav__list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    margin: 0;
    list-style: none;
}

/* Links */
/* Bottom nav link colour */
.tribe-events-c-nav__prev-label,
.tribe-events-c-nav__next-label,
.tribe-events-c-nav__today {
    color: #FF0200 !important;
}

/* Hover / focus colour */
.tribe-events-c-nav__prev:hover .tribe-events-c-nav__prev-label,
.tribe-events-c-nav__next:hover .tribe-events-c-nav__next-label,
.tribe-events-c-nav__today:hover {
    color: #A922FF !important;
    text-decoration: underline;
}

/* Bottom nav icons */
.tribe-events-c-nav__prev-icon-svg path,
.tribe-events-c-nav__next-icon-svg path {
    fill: #FF0200 !important;
}

/* Force nav icons visible */
.tribe-events-c-nav__prev-icon,
.tribe-events-c-nav__next-icon {
  display: inline-flex !important;
  align-items: center;
}

.tribe-events-c-nav__prev-icon svg,
.tribe-events-c-nav__next-icon svg {
  width: 16px;
  height: 16px;
  fill: #FF0200 !important;
}

/* Hover */
.tribe-events-c-nav__prev:hover path,
.tribe-events-c-nav__next:hover path {
    fill: #A922FF !important;
}




/* === Top calendar bar background === */

.tribe-events-c-top-bar {
    background: #fff !important;
    border: none !important;
    box-shadow: none !important;
    padding: 12px 0;
}

/* Date range button */
.tribe-events-c-top-bar__datepicker-button {
    background: transparent !important;
    outline: 1.5px solid #FF0200 !important;
    box-shadow: none !important;

    color: #FF0200 !important;
    font-family: "Arial", sans-serif !important;
    font-size: 1.3rem !important;
    font-weight: 600;

    cursor: pointer;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 12px !important;
    box-sizing: border-box;
}

.tribe-events-c-top-bar__datepicker-button:hover {
    color: #A922FF !important;
    text-decoration: underline;
    outline: 1.5px solid #A922FF !important;
    box-shadow: 0 0 10px 0 #A922FF !important;
}

/* Top bar Today button */
.tribe-events-c-top-bar__today-button {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    color: #FF0200 !important;
    font-family: "Arial", sans-serif !important;
    font-size: 1.3rem !important;

    padding: 12px 16px !important;
    cursor: pointer;
}

/* Hover */
.tribe-events-c-top-bar__today-button:hover {
    color: #A922FF !important;
    text-decoration: underline !important;
}

/* focus */
.tribe-events-c-top-bar__today-button:active {
    color: #A922FF !important;
    text-decoration: underline !important;
}

/* Caret icon */
.tribe-events-c-top-bar__datepicker-button svg path {
    fill: #FF0200 !important;
}

/* Top bar prev/next arrows */
.tribe-events-c-top-bar__nav-link {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #FF0200 !important;
}

.tribe-events-c-top-bar__nav-link:hover {
    color: #A922FF !important;
}

.tribe-events-c-top-bar__nav-link svg path {
    fill: #FF0200 !important;
}


/* Datepicker popup */
.datepicker-dropdown {
    background: #140B1B !important;
    border: 2px solid #FF0200 !important;
    box-shadow: none !important;
}

/* Calendar day buttons */
.datepicker table tr td button {
    color: #FF0200 !important;
    background: transparent !important;
}

/* Selected day */
.datepicker table tr td button.active {
    font-weight: 700;
    text-decoration: underline;
    color: #A922FF !important;
    background: transparent !important;
    border: 2px solid #A922FF !important;
}

.datepicker table tr td button.current {
    font-weight: 700;
    text-decoration: underline;
    color: #A922FF !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
}


/* === Datepicker header buttons === */
.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next {
    background: transparent !important;
    color: #FF0200 !important;
    font-family: "Arial", sans-serif !important;
    
}

/* Hover state */
.datepicker .datepicker-switch:hover,
.datepicker .prev:hover,
.datepicker .next:hover {
    background: transparent !important;
    color: #A922FF !important;
}

/* Datepicker arrows */
.datepicker .prev svg path,
.datepicker .next svg path {
    fill: #FF0200 !important;
}

.datepicker .prev:hover svg path,
.datepicker .next:hover svg path {
    fill: #A922FF !important;
}