/* Modern Scot Events Calendar v1.0.11 — master calendar region filter and square image/date cards */
.entry-content .ms-events-wrap,
.wp-block-post-content .ms-events-wrap,
.ms-events-wrap{
  max-width:1280px !important;
  width:100% !important;
  margin:0 auto !important;
  font-size:20px !important;
  line-height:1.65 !important;
  color:#111 !important;
}
.entry-content .ms-events-filters,
.wp-block-post-content .ms-events-filters,
.ms-events-filters{
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) 190px 230px 250px auto !important;
  gap:14px !important;
  margin:24px 0 34px !important;
  align-items:stretch !important;
}
.ms-events-filters-council{
  grid-template-columns:minmax(260px,1fr) 220px 270px auto !important;
}

.entry-content .ms-events-filters input,
.entry-content .ms-events-filters select,
.wp-block-post-content .ms-events-filters input,
.wp-block-post-content .ms-events-filters select,
.ms-events-filters input,
.ms-events-filters select{
  width:100% !important;
  min-height:58px !important;
  padding:14px 16px !important;
  border:1px solid #999 !important;
  font-size:20px !important;
  line-height:1.3 !important;
  background:#fff !important;
  color:#111 !important;
  box-sizing:border-box !important;
}
.entry-content .ms-events-filters button,
.wp-block-post-content .ms-events-filters button,
.ms-events-filters button{
  min-height:58px !important;
  padding:14px 24px !important;
  border:1px solid #111 !important;
  background:#111 !important;
  color:#fff !important;
  font-size:20px !important;
  font-weight:700 !important;
  cursor:pointer !important;
  border-radius:0 !important;
}
.entry-content .ms-events-list,
.wp-block-post-content .ms-events-list,
.ms-events-list{
  display:grid !important;
  gap:22px !important;
}
.entry-content .ms-event-card,
.wp-block-post-content .ms-event-card,
.ms-event-card{
  width:100% !important;
  box-sizing:border-box !important;
  border:1px solid #cfcfcf !important;
  padding:0 !important;
  background:#fff !important;
  display:grid !important;
  grid-template-columns:240px minmax(0,1fr) !important;
  gap:0 !important;
  align-items:stretch !important;
  min-height:240px !important;
}
.entry-content .ms-event-card:has(.ms-event-thumb),
.wp-block-post-content .ms-event-card:has(.ms-event-thumb),
.ms-event-card:has(.ms-event-thumb){
  grid-template-columns:240px 240px minmax(0,1fr) !important;
}
.ms-event-thumb{
  width:240px !important;
  height:240px !important;
  margin:0 !important;
  overflow:hidden !important;
  background:transparent !important;
}
.ms-event-thumb img{
  width:240px !important;
  height:240px !important;
  object-fit:cover !important;
  display:block !important;
}
.entry-content .ms-event-date-block,
.wp-block-post-content .ms-event-date-block,
.ms-event-date-block{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  background:#111 !important;
  color:#fff !important;
  padding:24px !important;
  min-height:240px !important;
  border:0 !important;
  box-sizing:border-box !important;
}
.entry-content .ms-event-date-block span,
.wp-block-post-content .ms-event-date-block span,
.ms-event-date-block span{
  display:block !important;
  color:#fff !important;
  font-size:28px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:.01em !important;
}
.entry-content .ms-event-card-content,
.wp-block-post-content .ms-event-card-content,
.ms-event-card-content{
  padding:26px 32px !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.entry-content .ms-event-card h3,
.wp-block-post-content .ms-event-card h3,
.ms-event-card h3{
  margin:0 0 10px !important;
  font-size:28px !important;
  line-height:1.22 !important;
  font-weight:800 !important;
}
.entry-content .ms-event-card h3 a,
.wp-block-post-content .ms-event-card h3 a,
.ms-event-card h3 a{
  color:#111 !important;
  text-decoration:none !important;
}
.entry-content .ms-event-card h3 a:hover,
.wp-block-post-content .ms-event-card h3 a:hover,
.ms-event-card h3 a:hover{
  text-decoration:underline !important;
}
.entry-content .ms-event-card p,
.wp-block-post-content .ms-event-card p,
.ms-event-card p{
  font-size:19px !important;
  line-height:1.55 !important;
  margin:8px 0 !important;
  color:#111 !important;
}
.entry-content .ms-event-meta,
.entry-content .ms-event-type,
.wp-block-post-content .ms-event-meta,
.wp-block-post-content .ms-event-type,
.ms-event-meta,
.ms-event-type{
  font-size:18px !important;
  line-height:1.45 !important;
  opacity:1 !important;
  color:#333 !important;
  margin:5px 0 !important;
}
.entry-content .ms-event-readmore,
.entry-content .ms-event-button,
.wp-block-post-content .ms-event-readmore,
.wp-block-post-content .ms-event-button,
.ms-event-readmore,
.ms-event-button{
  display:inline-block !important;
  margin:12px 10px 0 0 !important;
  padding:11px 16px !important;
  border:1px solid #111 !important;
  color:#111 !important;
  background:#fff !important;
  text-decoration:none !important;
  font-size:18px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
}
.entry-content .ms-event-readmore:hover,
.entry-content .ms-event-button:hover,
.wp-block-post-content .ms-event-readmore:hover,
.wp-block-post-content .ms-event-button:hover,
.ms-event-readmore:hover,
.ms-event-button:hover{
  background:#111 !important;
  color:#fff !important;
}
.ms-event-single-box{
  border:1px solid #cfcfcf !important;
  padding:26px !important;
  margin:26px 0 !important;
  background:#fafafa !important;
  font-size:21px !important;
  line-height:1.65 !important;
}
.ms-event-single-box p{font-size:21px !important;line-height:1.65 !important;margin:12px 0 !important;}
.ms-event-single-date{
  font-size:30px !important;
  line-height:1.25 !important;
  border-left:10px solid #111 !important;
  padding:14px 18px !important;
  background:#fff !important;
  margin-bottom:18px !important;
}
.ms-events-council-index{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;gap:12px !important;}
.ms-events-council-link{display:block !important;border:1px solid #ddd !important;padding:16px !important;text-decoration:none !important;font-size:19px !important;}
.ms-event-single-image{max-width:500px !important;margin:0 0 24px 0 !important;}
.ms-event-single-image img{width:500px !important;max-width:100% !important;height:auto !important;aspect-ratio:1/1 !important;object-fit:cover !important;display:block !important;}

@media(max-width:1200px){
  .entry-content .ms-events-filters,.wp-block-post-content .ms-events-filters,.ms-events-filters{grid-template-columns:1fr 1fr !important;}
  .entry-content .ms-events-filters button,.wp-block-post-content .ms-events-filters button,.ms-events-filters button{width:100% !important;}
  .entry-content .ms-event-card:has(.ms-event-thumb),.wp-block-post-content .ms-event-card:has(.ms-event-thumb),.ms-event-card:has(.ms-event-thumb){grid-template-columns:210px 210px minmax(0,1fr) !important;}
  .ms-event-thumb,.ms-event-thumb img{width:210px !important;height:210px !important;}
  .entry-content .ms-event-card,.wp-block-post-content .ms-event-card,.ms-event-card{grid-template-columns:210px minmax(0,1fr) !important;min-height:210px !important;}
  .entry-content .ms-event-date-block,.wp-block-post-content .ms-event-date-block,.ms-event-date-block{min-height:210px !important;}
}

@media(max-width:980px){
  .entry-content .ms-events-filters,.wp-block-post-content .ms-events-filters,.ms-events-filters{grid-template-columns:1fr !important;}
  .entry-content .ms-event-card,.wp-block-post-content .ms-event-card,.ms-event-card,
  .entry-content .ms-event-card:has(.ms-event-thumb),.wp-block-post-content .ms-event-card:has(.ms-event-thumb),.ms-event-card:has(.ms-event-thumb){display:block !important;min-height:0 !important;}
  .ms-event-thumb{width:180px !important;height:180px !important;margin:22px 22px 0 22px !important;}
  .ms-event-thumb img{width:180px !important;height:180px !important;}
  .entry-content .ms-event-date-block,.wp-block-post-content .ms-event-date-block,.ms-event-date-block{display:block !important;text-align:left !important;padding:18px 22px !important;min-height:0 !important;}
  .entry-content .ms-event-date-block span,.wp-block-post-content .ms-event-date-block span,.ms-event-date-block span{font-size:23px !important;}
  .entry-content .ms-event-card h3,.wp-block-post-content .ms-event-card h3,.ms-event-card h3{font-size:26px !important;}
}


/* v1.0.6: single event featured image handling.
   Calendar pages still use thumbnails. Single event pages should not show a second plugin-injected image.
   If the active theme displays the WordPress featured image, keep it neat and square rather than enormous. */
.single-ms_event .ms-event-single-image{
  display:none !important;
}
.single-ms_event .post-thumbnail,
.single-ms_event .featured-image,
.single-ms_event .wp-post-image,
.single-ms_event figure.wp-block-post-featured-image{
  max-width:500px !important;
  margin:0 0 28px 0 !important;
}
.single-ms_event .post-thumbnail img,
.single-ms_event .featured-image img,
.single-ms_event img.wp-post-image,
.single-ms_event figure.wp-block-post-featured-image img{
  width:500px !important;
  max-width:100% !important;
  height:auto !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  display:block !important;
}

/* v1.0.7: Add to Calendar buttons on single event pages */
.ms-add-calendar{
  margin:26px 0 4px !important;
  padding:22px !important;
  border:1px solid #111 !important;
  background:#fff !important;
}
.ms-add-calendar h3{
  margin:0 0 8px !important;
  font-size:26px !important;
  line-height:1.25 !important;
  color:#111 !important;
}
.ms-add-calendar-note{
  margin:0 0 14px !important;
  font-size:18px !important;
  line-height:1.45 !important;
  color:#333 !important;
}
.ms-calendar-button{
  display:inline-block !important;
  margin:8px 10px 0 0 !important;
  padding:12px 16px !important;
  border:1px solid #111 !important;
  background:#111 !important;
  color:#fff !important;
  text-decoration:none !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}
.ms-calendar-button:hover{
  background:#fff !important;
  color:#111 !important;
}
@media(max-width:700px){
  .ms-calendar-button{display:block !important;width:100% !important;box-sizing:border-box !important;text-align:center !important;}
}

/* v1.0.9: public category cleanup and back-to-calendar link */
.ms-event-back-wrap{
  margin:0 0 18px !important;
}
.ms-event-back{
  display:inline-block !important;
  padding:10px 14px !important;
  border:1px solid #111 !important;
  background:#fff !important;
  color:#111 !important;
  text-decoration:none !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}
.ms-event-back:hover{
  background:#111 !important;
  color:#fff !important;
}
.ms-event-type{
  font-weight:700 !important;
}


/* v1.0.11: current-month opening and passed-event notice */
.ms-events-current-month{
  margin:0 0 22px !important;
  padding:14px 18px !important;
  border-left:8px solid #1f4f82 !important;
  background:#eef6ff !important;
  color:#102a43 !important;
  font-size:19px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
}
.ms-event-missed{
  display:inline-block !important;
  margin:10px 0 8px !important;
  padding:9px 13px !important;
  border:1px solid #1f4f82 !important;
  background:#eef6ff !important;
  color:#102a43 !important;
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
}
.ms-event-missed-single{
  display:block !important;
  margin:0 0 18px !important;
  font-size:19px !important;
  padding:12px 16px !important;
}
