/* Sojourner Events Finder v0.2.4 — scoped horizontal event results. */
.hvs-fef{max-width:1200px;margin:0 auto;font-family:inherit;color:inherit;line-height:1.55}
.hvs-fef,.hvs-fef *{box-sizing:border-box}
.hvs-fef-form{border:1px solid #c9c9c9;padding:clamp(18px,3vw,34px);margin:20px 0 18px;background:#f8f8f8;box-shadow:0 2px 12px rgba(0,0,0,.045)}
.hvs-fef-form h2{text-align:center;font-family:inherit;font-size:clamp(23px,2.5vw,29px);line-height:1.25;margin:0 0 24px;color:#171717;letter-spacing:.01em}
.hvs-fef-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.hvs-fef-fields label{display:flex;flex-direction:column;gap:7px;font-weight:650;font-size:15px;color:#242424}
.hvs-fef-fields select,.hvs-fef-fields input{display:block;width:100%;min-width:0;min-height:48px;background:#fff;border:1px solid #929292;border-radius:2px;padding:10px 13px;font-family:inherit;font-size:16px;font-weight:400;line-height:1.4;color:#171717;box-shadow:none}
.hvs-fef-fields select{font-size:16px}
.hvs-fef-fields input::placeholder{color:#626262;opacity:1}
.hvs-fef-fields select:hover,.hvs-fef-fields input:hover{border-color:#4a4a4a}
.hvs-fef-keyword{grid-column:1/-1}
.hvs-fef-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;flex-wrap:wrap}
.hvs-fef-buttons button,.hvs-fef-page{min-height:45px;border:1px solid #222;padding:10px 21px;border-radius:2px;cursor:pointer;font:600 15px/1.35 inherit;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.hvs-fef-submit{background:#1a1a1a;color:#fff}.hvs-fef-submit:hover{background:#3d3d3d;color:#fff}
.hvs-fef-reset,.hvs-fef-page{background:#fff;color:#171717}.hvs-fef-reset:hover,.hvs-fef-page:hover{background:#e9e9e9;color:#111}
.hvs-fef :is(button,select,input):focus-visible{outline:3px solid #444;outline-offset:3px}
.hvs-fef-status{min-height:1.5em;font-size:14px;color:#404040;margin:8px 0}
.hvs-fef-status:empty{min-height:0;margin:0}
.hvs-fef-loading .hvs-fef-results{opacity:.55;transition:opacity .15s ease}
.hvs-fef-results{min-width:0}
.hvs-fef-list{overflow-wrap:anywhere}
.hvs-fef-list a{text-underline-offset:2px}
.hvs-fef-list :is(li,article){line-height:1.6}
.hvs-fef-pagination{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:28px 0}
.hvs-fef-pagination span{font-size:14px;color:#444}
@media(max-width:640px){.hvs-fef-fields{grid-template-columns:1fr;gap:15px}.hvs-fef-form{padding:18px 15px}.hvs-fef-form h2{margin-bottom:20px}.hvs-fef-buttons{display:grid;grid-template-columns:1fr 1fr}.hvs-fef-buttons button{width:100%;padding:12px 10px}}
@media(max-width:350px){.hvs-fef-buttons{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.hvs-fef-buttons button,.hvs-fef-page,.hvs-fef-loading .hvs-fef-results{transition:none}}

/* Event results: override Events Manager's inline column layout inside the Finder only.
   Other Events Manager lists across the site remain unaffected. */
.hvs-fef-list .em-event-list-item{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  gap:clamp(16px,2.5vw,26px) !important;
  margin-bottom:20px !important;
  padding:0 0 20px !important;
  border-bottom:1px solid #d4d4d4 !important;
}
.hvs-fef-list .em-event-list-item .em-event-image{
  flex:0 0 120px !important;
  width:120px !important;
  max-width:120px;
  margin:0 !important;
}
.hvs-fef-list .em-event-list-item .em-event-image a{display:block}
.hvs-fef-list .em-event-list-item .em-event-image img{
  display:block;
  width:120px !important;
  height:120px !important;
  max-width:100%;
  object-fit:contain;
}
.hvs-fef-list .em-event-list-item .em-event-details{
  flex:1 1 0 !important;
  min-width:0;
  text-align:left;
}
.hvs-fef-list .em-event-list-item .em-event-title{
  font-size:clamp(19px,2vw,23px);
  line-height:1.3;
  margin:0 0 8px !important;
}
.hvs-fef-list .em-event-list-item .em-event-excerpt{line-height:1.55}
.hvs-fef-list .em-event-list-item .em-event-more-info a{align-items:center}
/* The standard Events Manager template adds standalone breaks and rules per item. */
.hvs-fef-list > br{display:none}
.hvs-fef-list .em-event-list-item + hr{display:none}
@media(max-width:640px){
  .hvs-fef-list .em-event-list-item{gap:12px !important}
  .hvs-fef-list .em-event-list-item .em-event-image{
    flex-basis:80px !important;
    width:80px !important;
    max-width:80px;
  }
  .hvs-fef-list .em-event-list-item .em-event-image img{
    width:80px !important;
    height:80px !important;
  }
  .hvs-fef-list .em-event-list-item .em-event-title{font-size:18px}
}

/* Keep selected option text visible despite Avada/global form skins. */
.hvs-fef .hvs-fef-fields select{
  -webkit-appearance:auto;
  appearance:auto;
  background-color:#fff !important;
  color:#171717 !important;
  -webkit-text-fill-color:#171717;
  opacity:1 !important;
}
.hvs-fef .hvs-fef-fields select option{
  background:#fff;
  color:#171717;
}

/* 0.2.6: make the selected option visible even when Avada skins the
   collapsed browser select. Native select remains interactive and submits
   its real value; the mirror is display-only and pointer-transparent. */
.hvs-fef .hvs-fef-select-holder{
  display:block;
  position:relative;
  width:100%;
  min-width:0;
}
.hvs-fef .hvs-fef-select-holder select{
  position:relative;
  z-index:0;
  margin:0;
  width:100%;
}
.hvs-fef .hvs-fef-select-value{
  position:absolute;
  z-index:1;
  left:14px;
  right:43px;
  top:50%;
  transform:translateY(-50%);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  pointer-events:none;
  color:#171717 !important;
  background:transparent;
  font:400 16px/1.4 inherit;
  font-family:inherit;
  font-size:16px;
  font-weight:400;
  line-height:1.4;
}

.hvs-fef .hvs-fef-select-holder select{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
}
.hvs-fef .hvs-fef-select-holder select option{
  color:#171717 !important;
  -webkit-text-fill-color:#171717 !important;
}
