/* Archive controls and cards */
.ocwe-calendar-controls{display:flex;gap:1rem;flex-wrap:wrap;margin:1.5rem 0}
.ocwe-calendar-controls label{display:flex;align-items:center;gap:.5rem}
.ocwe-calendar-controls select{padding:.45rem .75rem;max-width:12rem}
.ocwe-archive-list{margin-top:3rem}
.ocwe-event-list{display:flex;flex-direction:column;}
.ocwe-event-card{
	display:flex;flex-direction:row;gap:30px;width:100%;max-width:none;padding:0 0 30px;margin-bottom: 30px; border-bottom:1px solid #ddd;
@media(min-width: 992px) {
align-items:center;
}
	h2 a {
		color: #222;
		text-decoration: none;
	}
}
.ocwe-event-card-content{min-width:0;flex:0 1 40%}
.ocwe-event-card:not(:has(.ocwe-event-image)) .ocwe-event-card-content{flex:1 1 100%}
.ocwe-event-image{display:block;flex:0 1 60%;min-width:0}
.ocwe-event-image img{display:block;width:100%;height:auto}
.ocwe-session-list{
	padding-left: 0;
	li:not([class]):not(:last-child) {
    margin-bottom: 0.85em;
  }

	li:not([class]) {
    position: relative;
    list-style: none;
    padding-left: 1.25em;

    ul:not([class]) {
      margin-top: 0.25em;
    }

    &::before {
      content: "";
      position: absolute;
      top: 0.55em;
      left: 0;
      display: inline-block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: #f79861;
    }
  }
}

/* Single event hero */
.ocwe-single-hero{display:flex;align-items:center;gap:30px}
.ocwe-single-details{flex:0 1 40%;min-width:0}
.ocwe-single-hero-image{flex:0 1 60%;min-width:0}
.ocwe-single-hero-image img{display:block;width:100%;height:auto}
.ocwe-single-hero:not(:has(.ocwe-single-hero-image)) .ocwe-single-details{flex:1 1 100%}
.ocwe-single #event-registration{margin:2rem 0}
/* The time is a small shaded eyebrow; titles are transparent and wrap naturally. */
.ocwe-calendar .fc-daygrid-event{background:transparent!important;border:0!important;box-shadow:none!important;color:inherit!important;white-space:normal!important}
.ocwe-calendar .fc-daygrid-event .fc-event-main{color:inherit!important}
.ocwe-calendar .fc-daygrid-event-harness{margin-bottom:.3rem}
.ocwe-calendar .fc-daygrid-event .fc-event-main-frame{display:block}
.ocwe-calendar-event{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.25;padding:2px 3px}
.ocwe-calendar-event-time{display:inline-block;background:#f79861;color:#343a40;border-radius:2px;font-size:1rem;font-weight:600;line-height:1.3;padding:1px 4px}
.ocwe-calendar-event-title{display:block;font-size:1.4rem;font-weight:500;line-height:1.3;white-space:normal;overflow-wrap:anywhere;background:none}
.ocwe-calendar a{text-decoration:none; color: #222;}
.fc .fc-daygrid-day-number {
	font-size: 1.4rem;
}
.ocwe-calendar .fc-today-button{text-transform:none}
@media(max-width:991px){
 .ocwe-event-card,.ocwe-single-hero{flex-direction:column;gap:30px}
 .ocwe-event-image,.ocwe-single-hero-image{order:-1;flex:0 0 auto;width:100%}
 .ocwe-event-card-content,.ocwe-single-details{flex:0 0 auto;width:100%}
}

/* Keep calendar rows consistently sized */
.ocwe-calendar .fc-daygrid-day-frame {
    min-height: 130px;
}

/* Keep the day number at the top */
.ocwe-calendar .fc-daygrid-day-top {
    justify-content: flex-start;
}

/* Allow long event titles to wrap */
.ocwe-calendar .fc-daygrid-event {
    white-space: normal;
}

.ocwe-calendar .fc-daygrid-event-title {
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 991.98px) {

    .ocwe-calendar-widget {
        width: 100%;
        -webkit-overflow-scrolling: touch;
    }

    .ocwe-calendar {
        min-width: 800px;
    }

    .ocwe-calendar .fc-daygrid-day-frame {
        min-height: 110px;
    }

}

.ocwe-calendar-scroll-hint {
    display: none;
}

@media (max-width: 991.98px) {

    .ocwe-calendar-widget {
        position: relative;
        max-width: 100%;
    }

    .ocwe-calendar-scroll-hint {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        margin-bottom: 10px;
        font-size: 12px;
        font-weight: 600;
        color: #666;
    }

    .ocwe-calendar-scroll {
        position: relative;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;

        border: 1px solid #ddd;
        border-radius: 6px;

        /* Right-edge shadow indicating more content */
        background:
            linear-gradient(to right, white 30%, transparent),
            linear-gradient(to left, white 30%, transparent) right,
            radial-gradient(
                farthest-side at 0 50%,
                rgba(0, 0, 0, 0.12),
                transparent
            ),
            radial-gradient(
                farthest-side at 100% 50%,
                rgba(0, 0, 0, 0.2),
                transparent
            ) right;

        background-repeat: no-repeat;
        background-size: 40px 100%, 40px 100%, 15px 100%, 15px 100%;
        background-attachment: local, local, scroll, scroll;

        scrollbar-width: thin;
        scrollbar-color: #999 #eee;
				padding: 30px 15px;
    }

    .ocwe-calendar {
        min-width: 800px;
    }

    .ocwe-calendar-scroll::-webkit-scrollbar {
        height: 7px;
    }

    .ocwe-calendar-scroll::-webkit-scrollbar-track {
        background: #eee;
    }

    .ocwe-calendar-scroll::-webkit-scrollbar-thumb {
        background: #999;
        border-radius: 10px;
    }

}