.elementor-1697 .elementor-element.elementor-element-2a30315{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1697 .elementor-element.elementor-element-9b5e295{--display:flex;}.elementor-1697 .elementor-element.elementor-element-9acc008{--display:flex;}.elementor-1697 .elementor-element.elementor-element-1933e5e > .elementor-widget-container{margin:25px 0px 0px 0px;}@media(min-width:768px){.elementor-1697 .elementor-element.elementor-element-9b5e295{--width:75%;}.elementor-1697 .elementor-element.elementor-element-9acc008{--width:25%;}}/* Start custom CSS for shortcode, class: .elementor-element-ed7a607 *//* === CUSTOM EVENT LISTING === */
.custom-event-listing {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.event-item {
  display: flex;
  gap: 12px;
  padding: 15px;
  margin: 5px 0;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.event-image {
  position: relative;
  width: 75px;
  min-width: 75px;
  height: 75px;
}

.event-image a img {
  width: 75px;
  height: 75px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

.fallback-category-image {
  position: absolute;
  top: 0;
  left: 0;
}

.event-image a:first-child img[src*="http"] + .fallback-category-image {
  display: none;
}

.event-content {
  flex: 1;
  font-family: Arial, sans-serif;
  line-height: 1.3;
}

.event-title-text {
  display: block;
  margin-bottom: 4px;
}

.custom-event-listing a,
.custom-event-listing a:link,
.custom-event-listing a:visited,
.custom-event-listing a:active,
.custom-event-listing .event-title-text a,
.custom-event-listing .event-read-more,
.custom-event-listing .event-content a,
.custom-event-listing .event-image a {
  color: #000 !important;
  text-decoration: none !important;
}

.event-title-text a:hover,
.event-read-more:hover {
  text-decoration: none !important;
  color: #C99B72 !important;
}

.event-title-text a {
  font-family: 'Albert Sans', sans-serif !important;
  font-weight: 900 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
}

.event-date-text {
  font-family: 'Lora', serif !important;
  font-size: 12px !important;
  margin: 0;
  color: #C99B72 !important;
}

.event-read-more {
  font-size: 11px !important;
  font-weight: bold !important;
  display: inline-block;
  margin-top: 2px;
}


/* === EVENTS CALENDAR === */
.em-calendar .em-cal-body.em-cal-days {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  gap: 1px;
}

.em-calendar .em-cal-day {
  box-sizing: border-box;
  border: 1px solid #eee;
  min-height: 100px;
  padding: 8px;
  background: #fff;
  position: relative;
}

.em-calendar .em-cal-head.em-cal-week-days.em-cal-days.size-large {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  text-align: center;
  font-weight: 600;
  background: #f9f9f9;
  border-bottom: 1px solid #ddd;
  font-size: 13px;
  color: #444;
  padding: 5px 0;
}

.em-cal-head.size-small,
.em-cal-head.size-medium {
  display: none !important;
}

.em-calendar .em-cal-day-date span,
.em-calendar .em-cal-day-date a {
  font-weight: 600;
  font-size: 13px;
  color: #000;
  display: inline-block;
}

.em-calendar .em-cal-day.eventless-today,
.em-calendar .em-cal-day.eventful-today {
  background: #fff4e4;
  outline: 2px solid #C99B72;
}

.em-calendar .em-cal-event {
  margin-top: 6px;
  padding: 5px 8px;
  background: #f5f5f5;
  border-left: 3px solid #C99B72;
  font-size: 12px;
  color: #000;
  border-radius: 3px;
}

.em-calendar .em-cal-event a {
  font-weight: 600;
  color: #000 !important;
  text-decoration: none;
}

.em-calendar .em-cal-event a:hover {
  color: #C99B72 !important;
  text-decoration: underline;
}

.em-calendar .em-cal-event div {

  text-overflow: ellipsis;
  max-width: 25ch;
}

.em-calendar .em-cal-day.eventful:hover {
  background: #fff7f0;
}

.em-calendar .ring.one a {
  background: #C99B72 !important;
  color: #fff !important;
  padding: 4px 8px;
  border-radius: 20px;
  text-decoration: none;
  font-size: 12px;
}


/* === NAVIGATION === */
.em-calendar .em-cal-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
  margin-bottom: 10px;
  flex-wrap: wrap;
  position: relative;
}

.em-calendar .em-calnav-prev {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.em-calendar .em-calnav-next {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.em-calendar .em-calnav svg {
  display: none !important;
}

/* Inject arrows always using ::before — reliable after AJAX */
.em-calendar .em-calnav-prev::before {
  content: '‹';
  font-size: 20px;
  font-weight: bold;
  color: #C99B72;
  display: inline-block;
}

.em-calendar .em-calnav-next::before {
  content: '›';
  font-size: 20px;
  font-weight: bold;
  color: #C99B72;
  display: inline-block;
}

.em-calendar .em-calnav {
  font-size: 0; /* hide accidental inner text */
  padding: 0 10px;
  background: none;
  border: none;
  text-decoration: none;
  cursor: pointer;
}

.em-calendar .em-calnav:hover {
  background-color: #fff7f0;
  border-radius: 4px;
}

.em-calendar .em-calnav:active,
.em-calendar .em-calnav:focus {
  color: #C99B72 !important;
  background: none !important;
  outline: none !important;
}

.em-calendar .month.input {
  order: 1;
  flex: 0 0 auto;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  color: #000;
}

.em-calendar .em-calnav-today {
  display: none !important;
}

/* === REMOVE MODAL EVENT PREVIEWS === */
.em-calendar .em-cal-events-content,
.em-calendar .em-calendar-preview.em-modal,
.em-calendar .em-calendar-preview.em-modal * {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-1933e5e */.events-list-grouped {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0px;
  margin: 10px 0;
}

.council-meeting-grid-item {
  display: block;
  padding: 15px;
  border: 1px solid #eee;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
  margin-bottom: 5px;
  text-decoration: none !important;
  color: #000 !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.council-meeting-grid-item:hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
  color: #000 !important;
}

.council-meeting-grid-item:hover .meeting-title {
  color: #000 !important;
}

.gen-event-content {
  display: flex;
  align-items: center;
  gap: 12px;
}

.gen-event-image {
  flex-shrink: 0;
}

.gen-event-image a {
  display: block;
  width: 75px;
  height: 75px;
}

.gen-event-image img {
  width: 75px;
  height: 75px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

.gen-event-text {
  flex: 1;
}

.gen-event-text .meeting-date {
  font-weight: bold;
  color: #C99B72;
  font-size: 14px;
  margin-bottom: 6px;
}

.gen-event-text .meeting-title {
  font-size: 15px;
  font-weight: 600;
  color: #000 !important;
}/* End custom CSS */