/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It's ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It's fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.12.3.1772427704
Updated: 2026-03-02 05:01:44
*/

.Square-image img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

.swiper-slide-inner {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}

.swiper-slide-inner figure {
  margin: 0 !important;
  height: 100% !important;
}

.swiper-slide-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   EVENT LIST VIEW (Homepage/Events Page - 3 column grid)
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Grid ── */
.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 0 !important;
}

/* ── Card ── */
.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-event.em-item {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: hidden;
  border: none !important;
  background: #111;
}

/* ── Image as background ── */
.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-image {
  position: absolute !important;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ── Gradient overlay ── */
.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-event.em-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.2) 0%,
    rgba(0,0,0,0.5) 50%,
    rgba(0,0,0,0.7) 100%
  );
  z-index: 1;
}

/* ── Info panel ── */
.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-info {
  position: absolute !important;
  inset: 0;
  z-index: 2;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: 20px !important;
}

/* ── Date block — top left ── */
.em-date-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: .5;
}

.em-date-month {
  display: block;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,0.85);
  margin-bottom: 4px;
}

.em-date-day {
  display: block;
  font-size: 48px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1;
}

/* ── Bottom group: title + time + button ── */
.em-bottom-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ── Event title ── */
.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-bottom-group .em-item-title,
.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-bottom-group h3.em-item-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-bottom-group .em-item-title a,
.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-bottom-group h3.em-item-title a {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
}

.em-bottom-group .em-item-title a {
  color: #ffffff !important;
  text-decoration: none !important;
}

/* ── Time line ── */
.em-time-line {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: rgba(255,255,255,0.9);
}

/* ── Register Now button — all white ── */
.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-bottom-group .em-item-actions .em-item-read-more.button,
.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-bottom-group .em-item-actions .em-item-read-more.button:link,
.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-bottom-group .em-item-actions .em-item-read-more.button:visited {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 18px !important;
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  border-radius: 60px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  align-self: flex-start;
  transition: background 0.2s, color 0.2s;
}

.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-bottom-group .em-item-actions .em-item-read-more.button:hover {
  background: #ffffff !important;
  color: #111111 !important;
}

.em-bottom-group .em-item-read-more.button:hover {
  background: #ffffff !important;
  color: #111111 !important;
}

/* Make buttons display side by side */
.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

/* ── Mobile ── */
@media (max-width: 768px) {
  .em-list.em-events-list:not(.em-events-grid) {
    grid-template-columns: 1fr !important;
  }
}

/* ── Remove green and black borders ── */
.em-list.em-events-list .em-event.em-item {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  --default-border: transparent !important;
}

.em-list.em-events-list .em-event.em-item::before {
  display: none !important;
}

/* ── Fix plugin's internal grid layout on each card ── */
.em.em-list .em-event.em-item {
  display: block !important;
  grid-template-columns: unset !important;
  padding: 0 !important;
}

/* ── Force image to fill card completely ── */
.elementor-element-f776856 .em-item-image img,
.elementor-element-a70cdd6 .em-item-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   MODAL POPUP (Different styling - vertical layout)
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Modal Popup Container Size ── */
.em-modal-popup {
  max-width: 900px !important;
  width: 95% !important;
  max-height: 90vh !important;
}

.em-modal-popup .em-modal-content {
  max-height: 85vh !important;
  overflow-y: auto !important;
  padding: 32px !important;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .em-modal-popup {
    width: 95% !important;
    max-width: 95% !important;
  }
  
  .em-modal-popup .em-modal-content {
    padding: 20px !important;
  }
  
  .em-modal-popup .em-item-image,
  .em-modal-popup.active .em-item-image,
  .em-modal-popup .em-events-list .em-item-image {
    height: 200px !important;
  }
}

/* ── Modal Popup Override - Force block layout ── */
.em-modal-popup .em-events-list,
.em-modal-popup.active .em-events-list {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  padding: 0 !important;
}

.em-modal-popup .em-event.em-item,
.em-modal-popup.active .em-event.em-item {
  position: relative !important;
  aspect-ratio: auto !important;
  border-radius: 0 !important;
  background: #fff !important;
  display: block !important;
  overflow: visible !important;
  padding: 0 !important;
}

.em-modal-popup .em-event.em-item::after,
.em-modal-popup.active .em-event.em-item::after {
  display: none !important;
  content: none !important;
}

/* Image on top - force relative positioning */
.em-modal-popup .em-item-image,
.em-modal-popup.active .em-item-image,
.em-modal-popup .em-events-list .em-item-image {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: 300px !important;
  margin-bottom: 24px !important;
  z-index: 1 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  display: block !important;
}

.em-modal-popup .em-item-image img,
.em-modal-popup.active .em-item-image img,
.em-modal-popup .em-events-list .em-item-image img {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 8px !important;
}

/* Details below image - force relative positioning */
.em-modal-popup .em-item-info,
.em-modal-popup.active .em-item-info,
.em-modal-popup .em-events-list .em-item-info {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 1 !important;
  display: block !important;
  padding: 0 !important;
  margin-top: 0 !important;
}

.em-modal-popup .em-date-block {
  display: none !important;
}

.em-modal-popup .em-bottom-group {
  display: block !important;
}

.em-modal-popup .em-event-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
}

.em-modal-popup .em-item-meta-line {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 14px !important;
  color: #333 !important;
}

/* Title is in modal header, not in item-info */
.em-modal-popup .em-modal-title,
.em-modal-popup .em-modal-title a {
  color: #111 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  text-decoration: none !important;
}

/* But in case there IS a title in item-info, style it too */
.em-modal-popup .em-item-title,
.em-modal-popup .em-item-title a {
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  margin-bottom: 16px !important;
}

.em-modal-popup .em-item-desc {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #444 !important;
  margin: 16px 0 !important;
}

.em-modal-popup .em-item-actions {
  display: flex !important;
  gap: 12px !important;
  margin-top: 16px !important;
}

.em-modal-popup .em-item-actions .button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 11px 24px !important;
  border: 2px solid #111 !important;
  border-radius: 60px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: transparent !important;
  color: #111 !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}

.em-modal-popup .em-item-actions .button:hover {
  background: #111 !important;
  color: #ffffff !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   EVENT GRID VIEW (Search Results)
   ══════════════════════════════════════════════════════════════════════════ */

.em-events-grid .em-event.em-item {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: hidden;
  border: none !important;
  background: #111;
}

.em-events-grid .em-item-image {
  position: absolute !important;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.em-events-grid .em-item-image-wrapper {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.em-events-grid .em-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.em-events-grid .em-event.em-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.2) 0%,
    rgba(0,0,0,0.5) 50%,
    rgba(0,0,0,0.7) 100%
  );
  z-index: 1;
}

.em-events-grid .em-item-info {
  position: absolute !important;
  inset: 0;
  z-index: 2;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 28px !important;
}

.em-events-grid .em-item-title,
.em-events-grid h3.em-item-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  line-height: 1.2 !important;
  margin: 0 0 12px 0 !important;
}

.em-events-grid .em-item-title a,
.em-events-grid h3.em-item-title a {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
}

.em-events-grid .em-event-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.em-events-grid .em-item-meta-line {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.9) !important;
}

.em-events-grid .em-item-meta-line .em-icon {
  color: rgba(255,255,255,0.9) !important;
}

.em-events-grid .em-item-meta-line a {
  color: rgba(255,255,255,0.9) !important;
  text-decoration: none !important;
}

.em-events-grid .em-item-meta-line a:hover {
  text-decoration: underline !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   EVENT VERTICAL LIST VIEW (Search Results - List Format)
   ══════════════════════════════════════════════════════════════════════════ */

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-event.em-item {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: hidden;
  border: none !important;
  background: #111;
}

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-image {
  position: absolute !important;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-event.em-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.2) 0%,
    rgba(0,0,0,0.5) 50%,
    rgba(0,0,0,0.7) 100%
  );
  z-index: 1;
}

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-info {
  position: absolute !important;
  inset: 0;
  z-index: 2;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 28px !important;
}

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-title,
.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) h3.em-item-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  line-height: 1.2 !important;
  margin: 0 0 12px 0 !important;
}

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-title a,
.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) h3.em-item-title a {
  color: #ffffff !important;
  text-decoration: none !important;
}

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-event-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-meta-line {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.9) !important;
}

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-meta-line .em-icon {
  color: rgba(255,255,255,0.9) !important;
}

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-meta-line a {
  color: rgba(255,255,255,0.9) !important;
  text-decoration: none !important;
}

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-desc {
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: rgba(255,255,255,0.85) !important;
  margin-bottom: 12px !important;
}

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-actions .button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 20px !important;
  border: 2px solid #ffffff !important;
  border-radius: 60px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  background: transparent !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
  margin-right: 8px !important;
}

.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-actions .button:hover {
  background: #ffffff !important;
  color: #111 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   GROUPED LIST VIEW (Grouped by Month)
   ══════════════════════════════════════════════════════════════════════════ */

.em-events-list-grouped {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

.em-events-list-grouped h2 {
  color: #111 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  margin: 0 0 24px 0 !important;
  grid-column: 1 / -1 !important;
}

.em-events-list-grouped h2:first-child {
  margin-top: 0 !important;
}

/* Apply same card styles to grouped list */
.em-events-list-grouped .em-event.em-item {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: hidden;
  border: none !important;
  background: #111;
}

.em-events-list-grouped .em-item-image {
  position: absolute !important;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.em-events-list-grouped .em-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.em-events-list-grouped .em-event.em-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.2) 0%,
    rgba(0,0,0,0.5) 50%,
    rgba(0,0,0,0.7) 100%
  );
  z-index: 1;
}

.em-events-list-grouped .em-item-info {
  position: absolute !important;
  inset: 0;
  z-index: 2;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 28px !important;
}

.em-events-list-grouped .em-item-title,
.em-events-list-grouped h3.em-item-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  line-height: 1.2 !important;
  margin: 0 0 12px 0 !important;
}

.em-events-list-grouped .em-item-title a,
.em-events-list-grouped h3.em-item-title a {
  color: #ffffff !important;
  text-decoration: none !important;
}

.em-events-list-grouped .em-event-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}

.em-events-list-grouped .em-item-meta-line {
  display: block !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.9) !important;
  margin-bottom: 4px !important;
}

.em-events-list-grouped .em-item-meta-line .em-icon {
  color: rgba(255,255,255,0.9) !important;
}

.em-events-list-grouped .em-item-meta-line a {
  color: rgba(255,255,255,0.9) !important;
  text-decoration: none !important;
}

.em-events-list-grouped .em-item-desc {
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: rgba(255,255,255,0.85) !important;
  margin-bottom: 12px !important;
}

.em-events-list-grouped .em-item-actions .button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 20px !important;
  border: 2px solid #ffffff !important;
  border-radius: 60px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  background: transparent !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
  margin-right: 8px !important;
}

.em-events-list-grouped .em-item-actions .button:hover {
  background: #ffffff !important;
  color: #111 !important;
}

@media (max-width: 768px) {
  .em-events-list-grouped {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 768px) {
  .em-events-list-grouped {
    grid-template-columns: 1fr !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   VERTICAL LIST VIEW (Search Results - not grid, not grouped)
   ══════════════════════════════════════════════════════════════════════════ */

.em-events-list.size-large:not(.em-events-list-grouped) .em-event.em-item {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: hidden;
  border: none !important;
  background: #111;
  margin-bottom: 24px;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-item-image {
  position: absolute !important;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-event.em-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.2) 0%,
    rgba(0,0,0,0.5) 50%,
    rgba(0,0,0,0.7) 100%
  );
  z-index: 1;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-item-info {
  position: absolute !important;
  inset: 0;
  z-index: 2;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 20px !important;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-item-title,
.em-events-list.size-large:not(.em-events-list-grouped) h3.em-item-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  line-height: 1.2 !important;
  margin: 0 0 10px 0 !important;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-item-title a,
.em-events-list.size-large:not(.em-events-list-grouped) h3.em-item-title a {
  color: #ffffff !important;
  text-decoration: none !important;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-event-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin-bottom: 10px !important;
}

/* Ensure the meta container itself doesn't allow horizontal spread */
.em-events-list.size-large:not(.em-events-list-grouped) .em-event-meta.em-item-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  width: 100% !important;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-item-meta-line {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.9) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-item-meta-line .em-icon {
  color: rgba(255,255,255,0.9) !important;
  filter: brightness(0) invert(1) !important;
  flex-shrink: 0;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-item-meta-line a {
  color: rgba(255,255,255,0.9) !important;
  text-decoration: none !important;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-item-desc {
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: rgba(255,255,255,0.85) !important;
  margin-bottom: 10px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-item-actions {
  display: flex !important;
  gap: 10px !important;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-item-actions .button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 18px !important;
  border: 2px solid #ffffff !important;
  border-radius: 60px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  background: transparent !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}

.em-events-list.size-large:not(.em-events-list-grouped) .em-item-actions .button:hover {
  background: #ffffff !important;
  color: #111 !important;
}

.menu-item-365 a {
  border: 1px solid #159349;
  padding: 5px 10px;
  display: inline-block;
	border-radius: 10px;
}

.wpr-slider-item-bg {
  background-position: center 15% !important;
  background-size: cover !important;
}

/* HFE Basic Posts — horizontal list layout override */

.hfe-posts-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.hfe-post-card {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 32px;
    padding: 32px 0;
    border-bottom: 1px solid #e0e0e0;
    background: none;
    box-shadow: none;
    border-radius: 0;
}

.hfe-post-card:first-child {
    padding-top: 0;
}

.hfe-post-card:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* Thumbnail */
.hfe-post-image {
    width: 260px;
    min-width: 260px;
    height: 180px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 12px;
}

.hfe-post-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.hfe-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 12px;
}

/* Content area */
.hfe-post-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0;
}

/* Title */
.hfe-post-title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}

.hfe-post-title a {
    color: inherit;
    text-decoration: none;
}

.hfe-post-title a:hover {
    text-decoration: underline;
}

/* Meta (date, author) */
.hfe-post-meta {
    font-size: 13px;
    color: #888;
    margin: 0;
}

/* Excerpt */
.hfe-post-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: #444;
    margin: 4px 0 8px;
}

/* Read More button — pill style */
.hfe-read-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 24px;
    border: 2px solid #111;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 500;
    color: #111;
    background: transparent;
    text-decoration: none;
    width: fit-content;
    margin-top: 4px;
    transition: background 0.2s ease;
}

.hfe-read-more:hover {
    background: #f5f5f5;
    text-decoration: none;
}

/* Replace arrow text with a chevron-style › */
.hfe-read-more::after {
    content: "›";
    font-size: 18px;
    line-height: 1;
}

/* Hide the original → arrow from the PHP output */
.hfe-read-more {
    font-size: 15px;
}

/* Responsive: stack on mobile */
@media (max-width: 640px) {
    .hfe-post-card {
        flex-direction: column;
        gap: 16px;
    }

    .hfe-post-image {
        width: 100%;
        min-width: unset;
        height: 200px;
    }
}

/* EAEL Post Grid — vertical card layout override */

#eael-post-grid-ffd2fcf .eael-post-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}

#eael-post-grid-ffd2fcf .eael-grid-post {
    width: 100% !important;
}

#eael-post-grid-ffd2fcf .eael-grid-post-holder {
    background: none;
    box-shadow: none;
    border: none;
    border-radius: 0;
    padding: 0;
}

#eael-post-grid-ffd2fcf .eael-grid-post-holder-inner {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Image */
#eael-post-grid-ffd2fcf .eael-entry-media {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 20px;
}

#eael-post-grid-ffd2fcf .eael-entry-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 16px;
}

/* Hide overlay arrow */
#eael-post-grid-ffd2fcf .eael-entry-overlay {
    display: none;
}

/* Content wrapper */
#eael-post-grid-ffd2fcf .eael-entry-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0;
}

/* Title */
#eael-post-grid-ffd2fcf .eael-entry-title {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}

#eael-post-grid-ffd2fcf .eael-entry-title a {
    color: inherit;
    text-decoration: none;
}

#eael-post-grid-ffd2fcf .eael-entry-title a:hover {
    text-decoration: underline;
}

/* Date meta — with calendar icon */
#eael-post-grid-ffd2fcf .eael-entry-header-after {
    order: -1; /* move date below title but before excerpt — adjust if needed */
}

#eael-post-grid-ffd2fcf .eael-entry-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #555;
}

#eael-post-grid-ffd2fcf .eael-meta-posted-on {
    display: flex;
    align-items: center;
    gap: 8px;
}

#eael-post-grid-ffd2fcf .eael-meta-posted-on i {
    font-size: 16px;
    color: #555;
}

/* Excerpt */
#eael-post-grid-ffd2fcf .eael-grid-post-excerpt p {
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    margin: 0 0 16px;
}

/* Read More button — pill style */
#eael-post-grid-ffd2fcf .eael-post-elements-readmore-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 11px 26px;
    border: 2px solid #111;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 500;
    color: #111;
    background: transparent;
    text-decoration: none;
    width: fit-content;
    transition: background 0.2s ease;
}

#eael-post-grid-ffd2fcf .eael-post-elements-readmore-btn::after {
    content: "›";
    font-size: 18px;
    line-height: 1;
}

#eael-post-grid-ffd2fcf .eael-post-elements-readmore-btn:hover {
    background: #f5f5f5;
    text-decoration: none;
}

/* Hide load more if not needed */
.eael-force-hide {
    display: none !important;
}

/* Responsive */
@media (max-width: 640px) {
    #eael-post-grid-ffd2fcf .eael-entry-title {
        font-size: 22px;
    }
}

/* Always hide the first (most recent) post from the list */
.hfe-post-card:first-child {
    display: none !important;
}

/* Hide Book Now button in event lists and grids (not in modals) */
.em-events-list:not(.em-modal-popup .em-events-list) .em-event-book-now,
.em-events-grid .em-event-book-now,
.em-events-list-grouped .em-event-book-now {
    display: none !important;
}

/* Additional specificity for main list view */
.em-list.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-bottom-group .em-event-book-now {
    display: none !important;
}

/* Make all icons white in event lists/grids (not modals) */
.em-events-list:not(.em-modal-popup .em-events-list) .em-icon,
.em-events-grid .em-icon,
.em-events-list-grouped .em-icon,
.em-events-list:not(.em-modal-popup .em-events-list) .em-icon-calendar,
.em-events-list:not(.em-modal-popup .em-events-list) .em-icon-clock,
.em-events-list:not(.em-modal-popup .em-events-list) .em-icon-ticket,
.em-events-list:not(.em-modal-popup .em-events-list) .em-icon-location,
.em-events-list:not(.em-modal-popup .em-events-list) .em-icon-category,
.em-events-grid .em-icon-calendar,
.em-events-grid .em-icon-clock,
.em-events-grid .em-icon-ticket,
.em-events-grid .em-icon-location,
.em-events-grid .em-icon-category,
.em-events-list-grouped .em-icon-calendar,
.em-events-list-grouped .em-icon-clock,
.em-events-list-grouped .em-icon-ticket,
.em-events-list-grouped .em-icon-location,
.em-events-list-grouped .em-icon-category,
.em-clock-icon,
.em-clock-icon img.emoji {
    color: rgba(255,255,255,0.9) !important;
    filter: brightness(0) invert(1) !important;
}

/* Fix meta line wrapping in grouped list */
.em-events-list-grouped .em-item-meta-line,
.em-events-list:not(.em-events-grid):not(.em-modal-popup .em-events-list) .em-item-meta-line {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   MODAL POPUP
   ══════════════════════════════════════════════════════════════════════════ */

.em-modal-popup {
  max-width: 700px !important;
  width: 90% !important;
}

.em-modal-popup .em-modal-content {
  max-height: 85vh !important;
  overflow-y: auto !important;
  padding: 24px !important;
}

.em-modal-popup .em-events-list,
.em-modal-popup.active .em-events-list {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  padding: 0 !important;
}

.em-modal-popup .em-event.em-item,
.em-modal-popup.active .em-event.em-item {
  position: relative !important;
  aspect-ratio: auto !important;
  border-radius: 0 !important;
  background: #fff !important;
  display: block !important;
  overflow: visible !important;
  padding: 0 !important;
}

.em-modal-popup .em-event.em-item::after,
.em-modal-popup.active .em-event.em-item::after {
  display: none !important;
  content: none !important;
}

.em-modal-popup .em-item-image,
.em-modal-popup.active .em-item-image,
.em-modal-popup .em-events-list .em-item-image {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: 300px !important;
  margin-bottom: 24px !important;
  z-index: 1 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  display: block !important;
}

.em-modal-popup .em-item-image img,
.em-modal-popup.active .em-item-image img,
.em-modal-popup .em-events-list .em-item-image img {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 8px !important;
}

.em-modal-popup .em-item-info,
.em-modal-popup.active .em-item-info,
.em-modal-popup .em-events-list .em-item-info {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 1 !important;
  display: block !important;
  padding: 0 !important;
  justify-content: flex-start !important;
}

.em-modal-popup .em-date-block {
  display: none !important;
}

.em-modal-popup .em-bottom-group {
  display: block !important;
}

.em-modal-popup .em-event-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
}

.em-modal-popup .em-item-meta-line {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 14px !important;
  color: #333 !important;
}

.em-modal-popup .em-item-title,
.em-modal-popup .em-item-title a {
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  margin-bottom: 16px !important;
}

.em-modal-popup .em-item-desc {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #444 !important;
  margin: 16px 0 !important;
}

.em-modal-popup .em-item-actions {
  display: flex !important;
  gap: 12px !important;
  margin-top: 16px !important;
}

.em-modal-popup .em-item-actions .button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 11px 24px !important;
  border: 2px solid #111 !important;
  border-radius: 60px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: transparent !important;
  color: #111 !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}

.em-modal-popup .em-item-actions .button:hover {
  background: #111 !important;
  color: #ffffff !important;
}

/* ── Fix calendar event modal popup image ── */
.em-calendar-preview.em-modal .em-modal-popup .em-item-image,
.em-cal-event-content .em-modal-popup .em-item-image {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 250px !important;
  margin-bottom: 16px !important;
  z-index: 1 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  display: block !important;
}

.em-calendar-preview.em-modal .em-modal-popup .em-item-image img,
.em-cal-event-content .em-modal-popup .em-item-image img {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

.em-calendar-preview.em-modal .em-modal-popup .em-event.em-item,
.em-cal-event-content .em-modal-popup .em-event.em-item {
  position: relative !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
  background: #fff !important;
}

.em-calendar-preview.em-modal .em-modal-popup .em-event.em-item::after,
.em-cal-event-content .em-modal-popup .em-event.em-item::after {
  display: none !important;
}

.em-calendar-preview.em-modal .em-modal-popup .em-item-info,
.em-cal-event-content .em-modal-popup .em-item-info {
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  display: block !important;
  padding: 0 !important;
}

/* ── Fix meta line overflow in search results ── */
.em-events-list.size-large .em-item-meta-line {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  flex-wrap: wrap !important;
}

/* Also fix the info panel so it doesn't overflow the card */
.em-events-list.size-large:not(.em-events-list-grouped) .em-item-info {
  overflow: hidden !important;
}

/* ── Calendar modal popup — force dark text ── */
.em-cal-event-content .em-modal-popup .em-item-info,
.em-cal-event-content .em-modal-popup .em-item-meta-line,
.em-cal-event-content .em-modal-popup .em-item-meta-line a,
.em-cal-event-content .em-modal-popup .em-item-desc,
.em-cal-event-content .em-modal-popup .em-item-title,
.em-cal-event-content .em-modal-popup .em-item-title a,
.em-cal-event-content .em-modal-popup .event-categories a {
  color: #333 !important;
}

/* ── Icons back to dark ── */
.em-cal-event-content .em-modal-popup .em-icon {
  color: #555 !important;
  filter: none !important;
}

/* ── Buttons — dark outline style ── */
.em-cal-event-content .em-modal-popup .em-item-actions .button {
  color: #111 !important;
  border-color: #111 !important;
  background: transparent !important;
}

.em-cal-event-content .em-modal-popup .em-item-actions .button:hover {
  background: #111 !important;
  color: #fff !important;
}

/* ── Calendar modal popup — force dark text (high specificity) ── */
div.em-cal-event-content div.em-modal-popup div.em-modal-content *,
div.em-cal-event-content div.em-modal-popup div.em-modal-content a,
div.em-cal-event-content div.em-modal-popup div.em-modal-content span,
div.em-cal-event-content div.em-modal-popup div.em-modal-content p,
div.em-cal-event-content div.em-modal-popup div.em-modal-content li,
div.em-cal-event-content div.em-modal-popup div.em-modal-content h3 {
  color: #111111 !important;
  filter: none !important;
}

/* ── Buttons — dark outline ── */
div.em-cal-event-content div.em-modal-popup div.em-modal-content .em-item-actions .button,
div.em-cal-event-content div.em-modal-popup div.em-modal-content .em-item-actions .button:link,
div.em-cal-event-content div.em-modal-popup div.em-modal-content .em-item-actions .button:visited {
  color: #111111 !important;
  border: 2px solid #111111 !important;
  background: transparent !important;
}

div.em-cal-event-content div.em-modal-popup div.em-modal-content .em-item-actions .button:hover {
  background: #111111 !important;
  color: #ffffff !important;
}
/* ── Calendar modal — nuclear option for text color ── */
div.em-cal-event-content div.em-modal-popup div.em-modal-content,
div.em-cal-event-content div.em-modal-popup div.em-modal-content div,
div.em-cal-event-content div.em-modal-popup div.em-modal-content span:not(.em-icon),
div.em-cal-event-content div.em-modal-popup div.em-modal-content a,
div.em-cal-event-content div.em-modal-popup div.em-modal-content p,
div.em-cal-event-content div.em-modal-popup div.em-modal-content li,
div.em-cal-event-content div.em-modal-popup div.em-modal-content h3,
div.em-cal-event-content div.em-modal-popup div.em-modal-content .em-item-meta-line,
div.em-cal-event-content div.em-modal-popup div.em-modal-content .em-event-meta,
div.em-cal-event-content div.em-modal-popup div.em-modal-content .em-item-desc,
div.em-cal-event-content div.em-modal-popup div.em-modal-content .em-item-info {
  color: #111111 !important;
  filter: none !important;
}


/* ── Calendar modal icons — maximum specificity fix ── */
html body div.em-cal-event-content div.em-modal-popup div.em-modal-content div.em-event-meta span.em-icon-calendar,
html body div.em-cal-event-content div.em-modal-popup div.em-modal-content div.em-event-meta span.em-icon-clock,
html body div.em-cal-event-content div.em-modal-popup div.em-modal-content div.em-event-meta span.em-icon-ticket,
html body div.em-cal-event-content div.em-modal-popup div.em-modal-content div.em-event-meta span.em-icon-location,
html body div.em-cal-event-content div.em-modal-popup div.em-modal-content div.em-event-meta span.em-icon-category,
html body div.em-cal-event-content div.em-modal-popup div.em-modal-content div.em-event-meta span.em-icon {
  filter: brightness(0) invert(0) !important;
  -webkit-filter: brightness(0) invert(0) !important;
  opacity: 1 !important;
  color: #333333 !important;
  background-color: transparent !important;
}