.vfv-calendar {color:var(--vfv-text,#24201d);font-family:var(--vfv-font,inherit);background:var(--vfv-background,#fff);padding:var(--vfv-outer-padding,0);border-radius:var(--vfv-outer-radius,0);}
.vfv-calendar button {font:inherit;}
.vfv-calendar-toolbar {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--vfv-toolbar-gap,12px);margin-bottom:var(--vfv-toolbar-bottom,18px);}
.vfv-calendar-month {font-size:var(--vfv-month-size,24px);font-weight:var(--vfv-month-weight,700);line-height:var(--vfv-month-line-height,1.2);color:var(--vfv-month-color,#24201d);margin:0;}
.vfv-calendar-controls {display:flex;gap:var(--vfv-button-gap,6px);}
.vfv-calendar button {font-size:var(--vfv-button-size,16px);color:var(--vfv-button-text,#24201d);border:var(--vfv-button-border-width,1px) solid var(--vfv-button-border,#eadfd5);border-radius:var(--vfv-button-radius,8px);background:var(--vfv-button-bg,#fff);padding:var(--vfv-button-padding-y,8px) var(--vfv-button-padding-x,12px);cursor:pointer;}
.vfv-calendar button:hover {background:var(--vfv-button-hover,#fff3e8);}
.vfv-calendar :is(button,a):focus-visible {outline:3px solid var(--vfv-accent,#fd6f00);outline-offset:3px;}
.vfv-calendar-grid {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:var(--vfv-grid-border-width,1px) var(--vfv-grid-border-style,solid) var(--vfv-border,#eadfd5);border-top:var(--vfv-grid-border-width,1px) var(--vfv-grid-border-style,solid) var(--vfv-border,#eadfd5);}
.vfv-calendar-weekday,.vfv-calendar-day {border-right:var(--vfv-grid-border-width,1px) var(--vfv-grid-border-style,solid) var(--vfv-border,#eadfd5);border-bottom:var(--vfv-grid-border-width,1px) var(--vfv-grid-border-style,solid) var(--vfv-border,#eadfd5);}
.vfv-calendar-weekday {text-align:center;font-size:var(--vfv-weekday-size,12px);font-weight:700;padding:var(--vfv-weekday-padding,10px) 0;background:var(--vfv-weekday-bg,#fff3e8);color:var(--vfv-weekday-text,#24201d);}
.vfv-calendar-day {min-height:var(--vfv-day-height,108px);padding:var(--vfv-day-padding,7px);min-width:0;background:var(--vfv-day-bg,#fff);}
.vfv-calendar-day.is-blank {background:var(--vfv-blank-bg,#faf8f6);}
.vfv-calendar-number {display:block;font-size:var(--vfv-date-size,13px);color:var(--vfv-date-color,#24201d);font-weight:600;margin-bottom:6px;}
.vfv-calendar-day.is-today .vfv-calendar-number {color:var(--vfv-today-color,#b94e00);text-decoration:underline;text-decoration-thickness:2px;}
.vfv-calendar-full-date {display:none;}
.vfv-calendar-event {display:block;background:var(--vfv-tint,#fff3e8);border:var(--vfv-event-border-width,0px) var(--vfv-event-border-style,solid) var(--vfv-event-border,#eadfd5);border-left:var(--vfv-accent-width,3px) solid var(--vfv-accent,#fd6f00);border-radius:var(--vfv-event-radius,4px);padding:var(--vfv-event-padding,6px);margin-top:var(--vfv-event-gap,5px);color:inherit;text-decoration:none;overflow-wrap:anywhere;}
.vfv-calendar-event:hover {background:var(--vfv-event-hover,#ffe1c6);}
.vfv-calendar-event strong,.vfv-calendar-event small {display:block;}
.vfv-calendar-event strong {font-size:var(--vfv-title-size,12px);font-weight:var(--vfv-title-weight,700);line-height:var(--vfv-title-line-height,1.2);color:var(--vfv-title-color,#24201d);letter-spacing:var(--vfv-title-tracking,0);}
.vfv-calendar-event small {font-size:var(--vfv-time-size,11px);line-height:var(--vfv-time-line-height,1.35);color:var(--vfv-time-color,#24201d);margin-top:3px;}
.vfv-calendar-event.is-canceled {opacity:.7;}
.vfv-calendar-note,.vfv-calendar-empty {font-size:var(--vfv-note-size,14px);color:var(--vfv-note-color,#24201d);line-height:1.5;margin:14px 0 0;}
@media(max-width:600px) {
 .vfv-calendar-grid {display:block;border:0;}
 .vfv-calendar-weekday,.vfv-calendar-day.is-blank,.vfv-calendar-day:not(.has-events) {display:none;}
 .vfv-calendar-day {min-height:0;border:var(--vfv-grid-border-width,1px) var(--vfv-grid-border-style,solid) var(--vfv-border,#eadfd5);border-radius:var(--vfv-mobile-day-radius,10px);padding:var(--vfv-mobile-day-padding,14px);margin-bottom:var(--vfv-mobile-day-gap,12px);}
 .vfv-calendar-number {display:none;}
 .vfv-calendar-full-date {display:block;font-size:15px;font-weight:700;}
 .vfv-calendar-event {padding:var(--vfv-mobile-event-padding,10px);}
 .vfv-calendar-event strong {font-size:var(--vfv-mobile-title-size,15px);}
 .vfv-calendar-event small {font-size:var(--vfv-mobile-time-size,13px);}
}

/* Only the cards inside the Upcoming Events sidebar. */
.vfv-events-index .vfv-upcoming-card {
  display: grid !important;
  grid-template-columns: 75px minmax(0, 1fr) !important;
  column-gap: 15px !important;
  row-gap: 12px !important;
  align-items: start !important;
}
.vfv-events-index .vfv-upcoming-card > .vfv-event-thumb {
  width: 75px !important;
  min-width: 75px !important;
  max-width: 75px !important;
  height: 75px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: start !important;
}
.vfv-events-index .vfv-upcoming-card > .vfv-event-thumb a,
.vfv-events-index .vfv-upcoming-card > .vfv-event-thumb .et_pb_image_wrap {
  display: block;
  width: 100%;
  height: 100%;
}
.vfv-events-index .vfv-upcoming-card > .vfv-event-thumb img {
  display: block;
  width: 75px !important;
  height: 75px !important;
  object-fit: cover;
}
.vfv-events-index .vfv-upcoming-card > .et_pb_group {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  grid-column: auto !important;
  grid-row: auto !important;
}
@media (max-width: 767px) {
  .vfv-events-index .vfv-upcoming-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .vfv-events-index .vfv-upcoming-card > .vfv-event-thumb {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .vfv-events-index .vfv-upcoming-card > .et_pb_group {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
}
