body{
  margin:0;
  background:#f7f1e9;
  color:#2b211c;
  font-family:Inter,system-ui,sans-serif;
}
.events-v2-main{
  max-width:1160px;
  margin:0 auto;
  padding:34px 16px 80px;
}
.events-v2-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}
.events-v2-eyebrow{
  color:#17492a;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.events-v2-hero h1{
  margin:5px 0 7px;
  font:700 clamp(38px,6vw,58px)/1 Georgia,serif;
}
.events-v2-hero p{
  margin:0;
  max-width:690px;
  color:#75685f;
  font-size:13px;
  line-height:1.55;
}
.events-v2-count{
  color:#75685f;
  font-size:11px;
  white-space:nowrap;
}
.events-v2-filters{
  display:grid;
  gap:9px;
  margin-bottom:16px;
}
.events-v2-search{
  display:flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1px solid #e4d9cf;
  border-radius:12px;
  padding:0 11px;
}
.events-v2-search input{
  width:100%;
  min-height:42px;
  border:0;
  outline:0;
  background:transparent;
  color:#2b211c;
  font:inherit;
}
.events-v2-filter-row{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
}
.events-v2-filter-row button,
.events-v2-filter-row select{
  min-height:35px;
  border:1px solid #e1d6cc;
  border-radius:999px;
  background:#fff;
  color:#63554c;
  padding:6px 10px;
  font-size:10px;
  font-weight:800;
}
.events-v2-filter-row button{
  cursor:pointer;
}
.events-v2-filter-row button.active{
  background:#17492a;
  border-color:#17492a;
  color:#fff;
}
.events-v2-filter-row button.secondary.active{
  background:#7a4a2d;
  border-color:#7a4a2d;
}
.events-v2-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.events-v2-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #e6dbd2;
  border-radius:18px;
  background:#fff;
}
.events-v2-photo{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#eee4db;
}
.events-v2-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s ease;
}
.events-v2-card:hover .events-v2-photo img{
  transform:scale(1.015);
}
.events-v2-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  font-size:54px;
}
.events-v2-type,
.events-v2-price{
  position:absolute;
  top:10px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#463a33;
  font-size:8px;
  font-weight:900;
  backdrop-filter:blur(7px);
}
.events-v2-type{left:10px}
.events-v2-price{right:10px}
.events-v2-body{
  padding:14px;
}
.events-v2-date{
  color:#17492a;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.events-v2-body h2{
  margin:6px 0;
  font:700 27px/1.1 Georgia,serif;
}
.events-v2-body h2 a{
  color:#2b211c;
  text-decoration:none;
}
.events-v2-place{
  color:#6c5f56;
  font-size:11px;
  font-weight:700;
}
.events-v2-body p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:10px 0 0;
  color:#74675e;
  font-size:11px;
  line-height:1.55;
}
.events-v2-footer{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-end;
  margin-top:14px;
  padding-top:11px;
  border-top:1px solid #f0e8e1;
}
.events-v2-footer>span{
  color:#776a61;
  font-size:9px;
}
.events-v2-links{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.events-v2-links a{
  padding:7px 9px;
  border:1px solid #e3d8ce;
  border-radius:9px;
  color:#2b211c;
  font-size:9px;
  font-weight:850;
  text-decoration:none;
}
.events-v2-links a.primary{
  background:#17492a;
  border-color:#17492a;
  color:#fff;
}
.events-v2-state{
  display:grid;
  place-items:center;
  gap:8px;
  min-height:220px;
  color:#766960;
  text-align:center;
}
.events-v2-state h2{
  margin:0;
  font:700 28px Georgia,serif;
}
.events-v2-state p{margin:0}
.events-v2-empty-icon{font-size:40px}
.events-v2-error{
  grid-column:1/-1;
  display:grid;
  gap:5px;
  padding:30px;
  border:1px solid #efd0ca;
  border-radius:14px;
  background:#fff4f1;
  color:#934238;
}
.events-v2-spinner{
  width:28px;height:28px;
  border:3px solid #dfd5cc;
  border-top-color:#17492a;
  border-radius:50%;
  animation:events-v2-spin .7s linear infinite;
}
@keyframes events-v2-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){
  .events-v2-main{padding:24px 10px 70px}
  .events-v2-hero{display:block}
  .events-v2-count{margin-top:12px}
  .events-v2-filter-row{
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:none;
  }
  .events-v2-filter-row::-webkit-scrollbar{display:none}
  .events-v2-filter-row>*{flex:0 0 auto}
  .events-v2-grid{grid-template-columns:1fr}
  .events-v2-footer{align-items:flex-start;flex-direction:column}
  .events-v2-links{justify-content:flex-start}
}


/* EVENTS_PUBLIC_LAYOUT_STATE_FIX_V2 */
#eventsGrid[hidden],
#eventsLoading[hidden],
#eventsEmpty[hidden]{
  display:none !important;
}

.events-v2-main{
  width:min(1160px,calc(100% - 28px));
  margin-left:auto;
  margin-right:auto;
}

.events-v2-filters{
  padding:12px;
  border:1px solid #e6dbd2;
  border-radius:15px;
  background:rgba(255,255,255,.72);
}

.events-v2-search{
  width:100%;
}

.events-v2-filter-row{
  min-width:0;
}

.events-v2-grid{
  align-items:start;
}

.events-v2-state{
  width:100%;
  min-height:260px;
  margin-top:8px;
  border:1px dashed #ddd1c7;
  border-radius:15px;
  background:rgba(255,255,255,.55);
}

@media(max-width:760px){
  .events-v2-main{
    width:calc(100% - 20px);
  }

  .events-v2-filters{
    padding:10px;
  }
}
