/* Styles for Eastside Events Frontend Shortcodes */

/* Styles for the new Events Widget */
.set-events-widget-list {
    display: flex;
    flex-direction: column;
    gap: 20px; /* Space between event cards */
}

.set-event-widget-item {
    border: 1px solid #e5e5e5;      /* Faint border like the event list */
    border-radius: 8px;             /* Rounded corners like the event list */
    overflow: hidden;               /* Ensures the image corners are rounded */
    display: flex;
    flex-direction: column;         /* Stacks the image on top of the content */
}

.set-event-widget-image-link img {
    width: 100%;                    /* Image stretches to full width */
    height: 200px !important;                  /* Fixed height of 200px */
    object-fit: cover;
    display: block;
}

.set-event-widget-content {
    padding: 12px;                  /* Adds spacing for the text content */
}

.set-event-widget-title {
    margin: 0 0 5px 0;
    font-size: 1.2em;
    font-weight: 600;
}

.set-event-widget-title a {
    text-decoration: none;
    color: inherit;
}

.set-event-widget-date {
    margin: 0;
    font-size: 0.95em;
    font-weight: 600;
    opacity: 0.9;
}

/* Filter Calendar */
.set-cal {

    border-radius: 8px;
    max-width: 360px;
	background: #fff;
	padding: 5px;
	border-radius: 8px;
}
.set-cal .cal-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}
.set-cal .cal-grid {
    display: grid;
    grid-template-columns: repeat(7,1fr);
    gap: 3px;

}

.set-cal .cal-cell {
    padding: 6px 0;
    text-align: center;
    border-radius: 6px;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
}
.set-cal .cal-cell.muted {
    opacity: .4;
    cursor: default;
}

.set-cal .cal-cell button:hover {
    background: #FF8F3E;
}


.set-cal .cal-head button {
    background: #000;
    color: #fff;
    cursor: pointer;
    border: none;

}





.set-cal .cal-cell.in-range {
    background: #FFC9A1;
}
.set-cal .cal-cell.start,
.set-cal .cal-cell.end {
    background: #F47920;
    color: #fff;
}
.set-cal .dow {
    font-weight: 600;
    opacity: .7;
}

/* Filter Category Checkboxes */
.set-category-filters {
    border: none;
    padding: 0px;
    overflow-y: auto;
}
.set-category-filters label {
    display: block;
    margin-bottom: 5px;
}





.filter-labels {
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: 500;
	color: #000;
}



.set-category-filters input[type="checkbox"]{
  /* Change just the accent (tick + active state), super compatible */
  accent-color: var(--accent, #000);
  inline-size: 1.1rem;
  block-size: 1.1rem;
  margin-right: 5px; /* tighten layout if you’re aligning with text */
  vertical-align: middle;
}

/* Optional: nicer focus outline */
.set-category-filters input[type="checkbox"]:focus-visible{
  outline: 2px solid rgba(37,99,235,.6);
  outline-offset: 2px;
}












/* Active Filter Pills */
.set-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 1em 0;
    align-items: center;
}
.set-active-filters-label {
    font-weight: 600;
    margin-right: 8px;
}
.set-filter-pill {
    background-color: #f0f0f0;
    border-radius: 16px;
    padding: 4px 10px;
    font-size: 0.9em;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.set-filter-pill a {
    text-decoration: none;
    color: #d63638;
    font-weight: bold;
}

.set-filter button {
    background: #333;
    color: #fff;
    cursor: pointer;
    border: none;
 
}

.set-filter button:focus {
    background: #333;
    color: #fff;
    border: none;
 
}

.set-filter button:hover {
    background: #000;
    color: #fff;
    border: none;
 
}

/* Event List Grid */
.set-events-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, 1fr);
}
.set-event-card {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.set-event-card a .set-event-card-image {
    width: 100%;
    height: 170px;
    object-fit: cover;
    display: block;
}
.set-event-card-content {
    padding: 12px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.set-event-card-content h3 {
    margin: 0 0 12px;
    font-size: 1.2em;
}
.set-event-details-list p {
    margin: 0 0 10px;
    font-size: 0.95em;
    line-height: 1.5;
}
.set-event-details-list p:last-child {
    margin-bottom: 0;
}
.set-event-details-list strong {
    font-weight: 600;
    opacity: 0.9;
}

/* Pagination */
.set-pagination {
    margin-top: 2em;
    text-align: center;
}
.set-pagination .page-numbers {
    padding: 5px 10px;
    border: 1px solid #ddd;
    text-decoration: none;
    margin: 0 3px;
    border-radius: 4px;
}

/* Organiser Details Box */
.set-organiser-details {
    background-color: #f9f9f9;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 16px;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}
.set-organiser-details h4 {
    margin: 0 0 12px;
    font-size: 1.2em;
}
.set-organiser-details p {
    margin: 0 0 8px;
    font-size: 0.95em;
    line-height: 1.5;
}
.set-organiser-details p:last-child {
    margin-bottom: 0;
}

/* Contact Details Box */

.set-contact-details h4 {
    margin: 0 0 12px;
    font-size: 1.2em;
}

.set-contact-details p {
    margin: 0 0 8px;
    font-size: 0.95em;
    line-height: 1.5;
	
}

.set-contact-info {
  white-space: normal;
  word-wrap: break-word;   /* old, widely supported */
  overflow-wrap: break-word; /* modern standard */
}

.set-contact-info a {
font-weight: 400;
}




.set-contact-details p:last-child {
    margin-bottom: 0;
}

/* Responsive Grid */
@media (max-width: 960px) {
    .set-events-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 600px) {
    .set-events-grid {
        grid-template-columns: 1fr;
    }
}
