/* Native Times Events Calendar v1.0.27 — master calendar state filter and square image/date cards */
.entry-content .nt-events-wrap,
.wp-block-post-content .nt-events-wrap,
.nt-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 .nt-events-filters,
.wp-block-post-content .nt-events-filters,
.nt-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;
}
.nt-events-filters-state{
  grid-template-columns:minmax(260px,1fr) 220px 270px auto !important;
}

.entry-content .nt-events-filters input,
.entry-content .nt-events-filters select,
.wp-block-post-content .nt-events-filters input,
.wp-block-post-content .nt-events-filters select,
.nt-events-filters input,
.nt-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 .nt-events-filters button,
.wp-block-post-content .nt-events-filters button,
.nt-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 .nt-events-list,
.wp-block-post-content .nt-events-list,
.nt-events-list{
  display:grid !important;
  gap:22px !important;
}
.entry-content .nt-event-card,
.wp-block-post-content .nt-event-card,
.nt-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 .nt-event-card:has(.nt-event-thumb),
.wp-block-post-content .nt-event-card:has(.nt-event-thumb),
.nt-event-card:has(.nt-event-thumb){
  grid-template-columns:240px 240px minmax(0,1fr) !important;
}
.nt-event-thumb{
  width:240px !important;
  height:240px !important;
  margin:0 !important;
  overflow:hidden !important;
  background:transparent !important;
}
.nt-event-thumb img{
  width:240px !important;
  height:240px !important;
  object-fit:cover !important;
  display:block !important;
}
.entry-content .nt-event-date-block,
.wp-block-post-content .nt-event-date-block,
.nt-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 .nt-event-date-block span,
.wp-block-post-content .nt-event-date-block span,
.nt-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 .nt-event-card-content,
.wp-block-post-content .nt-event-card-content,
.nt-event-card-content{
  padding:26px 32px !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.entry-content .nt-event-card h3,
.wp-block-post-content .nt-event-card h3,
.nt-event-card h3{
  margin:0 0 10px !important;
  font-size:28px !important;
  line-height:1.22 !important;
  font-weight:800 !important;
}
.entry-content .nt-event-card h3 a,
.wp-block-post-content .nt-event-card h3 a,
.nt-event-card h3 a{
  color:#111 !important;
  text-decoration:none !important;
}
.entry-content .nt-event-card h3 a:hover,
.wp-block-post-content .nt-event-card h3 a:hover,
.nt-event-card h3 a:hover{
  text-decoration:underline !important;
}
.entry-content .nt-event-card p,
.wp-block-post-content .nt-event-card p,
.nt-event-card p{
  font-size:19px !important;
  line-height:1.55 !important;
  margin:8px 0 !important;
  color:#111 !important;
}
.entry-content .nt-event-meta,
.entry-content .nt-event-type,
.wp-block-post-content .nt-event-meta,
.wp-block-post-content .nt-event-type,
.nt-event-meta,
.nt-event-type{
  font-size:18px !important;
  line-height:1.45 !important;
  opacity:1 !important;
  color:#333 !important;
  margin:5px 0 !important;
}
.entry-content .nt-event-readmore,
.entry-content .nt-event-button,
.wp-block-post-content .nt-event-readmore,
.wp-block-post-content .nt-event-button,
.nt-event-readmore,
.nt-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 .nt-event-readmore:hover,
.entry-content .nt-event-button:hover,
.wp-block-post-content .nt-event-readmore:hover,
.wp-block-post-content .nt-event-button:hover,
.nt-event-readmore:hover,
.nt-event-button:hover{
  background:#111 !important;
  color:#fff !important;
}
.nt-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;
}
.nt-event-single-box p{font-size:21px !important;line-height:1.65 !important;margin:12px 0 !important;}
.nt-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;
}
.nt-events-state-index{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;gap:12px !important;}
.nt-events-state-link{display:block !important;border:1px solid #ddd !important;padding:16px !important;text-decoration:none !important;font-size:19px !important;}
.nt-event-single-image{max-width:500px !important;margin:0 0 24px 0 !important;}
.nt-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 .nt-events-filters,.wp-block-post-content .nt-events-filters,.nt-events-filters{grid-template-columns:1fr 1fr !important;}
  .entry-content .nt-events-filters button,.wp-block-post-content .nt-events-filters button,.nt-events-filters button{width:100% !important;}
  .entry-content .nt-event-card:has(.nt-event-thumb),.wp-block-post-content .nt-event-card:has(.nt-event-thumb),.nt-event-card:has(.nt-event-thumb){grid-template-columns:210px 210px minmax(0,1fr) !important;}
  .nt-event-thumb,.nt-event-thumb img{width:210px !important;height:210px !important;}
  .entry-content .nt-event-card,.wp-block-post-content .nt-event-card,.nt-event-card{grid-template-columns:210px minmax(0,1fr) !important;min-height:210px !important;}
  .entry-content .nt-event-date-block,.wp-block-post-content .nt-event-date-block,.nt-event-date-block{min-height:210px !important;}
}

@media(max-width:980px){
  .entry-content .nt-events-filters,.wp-block-post-content .nt-events-filters,.nt-events-filters{grid-template-columns:1fr !important;}
  .entry-content .nt-event-card,.wp-block-post-content .nt-event-card,.nt-event-card,
  .entry-content .nt-event-card:has(.nt-event-thumb),.wp-block-post-content .nt-event-card:has(.nt-event-thumb),.nt-event-card:has(.nt-event-thumb){display:block !important;min-height:0 !important;}
  .nt-event-thumb{width:180px !important;height:180px !important;margin:22px 22px 0 22px !important;}
  .nt-event-thumb img{width:180px !important;height:180px !important;}
  .entry-content .nt-event-date-block,.wp-block-post-content .nt-event-date-block,.nt-event-date-block{display:block !important;text-align:left !important;padding:18px 22px !important;min-height:0 !important;}
  .entry-content .nt-event-date-block span,.wp-block-post-content .nt-event-date-block span,.nt-event-date-block span{font-size:23px !important;}
  .entry-content .nt-event-card h3,.wp-block-post-content .nt-event-card h3,.nt-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-nt_event .nt-event-single-image{
  display:none !important;
}
.single-nt_event .post-thumbnail,
.single-nt_event .featured-image,
.single-nt_event .wp-post-image,
.single-nt_event figure.wp-block-post-featured-image{
  max-width:500px !important;
  margin:0 0 28px 0 !important;
}
.single-nt_event .post-thumbnail img,
.single-nt_event .featured-image img,
.single-nt_event img.wp-post-image,
.single-nt_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 */
.nt-add-calendar{
  margin:26px 0 4px !important;
  padding:22px !important;
  border:1px solid #111 !important;
  background:#fff !important;
}
.nt-add-calendar h3{
  margin:0 0 8px !important;
  font-size:26px !important;
  line-height:1.25 !important;
  color:#111 !important;
}
.nt-add-calendar-note{
  margin:0 0 14px !important;
  font-size:18px !important;
  line-height:1.45 !important;
  color:#333 !important;
}
.nt-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;
}
.nt-calendar-button:hover{
  background:#fff !important;
  color:#111 !important;
}
@media(max-width:700px){
  .nt-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 */
.nt-event-back-wrap{
  margin:0 0 18px !important;
}
.nt-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;
}
.nt-event-back:hover{
  background:#111 !important;
  color:#fff !important;
}
.nt-event-type{
  font-weight:700 !important;
}


/* v1.0.11: current-month opening and passed-event notice */
.nt-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;
}
.nt-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;
}
.nt-event-missed-single{
  display:block !important;
  margin:0 0 18px !important;
  font-size:19px !important;
  padding:12px 16px !important;
}

/* Homepage event embed — added in v1.0.13 */
.nt-events-home {
    margin: 0 auto;
    width: 100%;
}
.nt-events-home-heading {
    margin: 0 0 0.35rem 0;
    font-size: clamp(1.45rem, 2.2vw, 2.15rem);
    line-height: 1.15;
}
.nt-events-home-month {
    margin: 0 0 1rem 0;
    font-size: 0.9rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.75;
}
.nt-events-home-list {
    display: grid;
    gap: 1rem;
}
.nt-events-home-cards .nt-events-home-list {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}
.nt-events-home-list .nt-events-home-list,
.nt-events-home-compact .nt-events-home-list {
    grid-template-columns: 1fr;
}
.nt-events-home-card {
    border: 1px solid rgba(0,0,0,0.12);
    background: #fff;
    display: flex;
    gap: 0.9rem;
    min-width: 0;
}
.nt-events-home-cards .nt-events-home-card,
.nt-events-home-feature .nt-events-home-card {
    flex-direction: column;
}
.nt-events-home-compact .nt-events-home-card,
.nt-events-home-list .nt-events-home-card {
    align-items: stretch;
}
.nt-events-home-card .nt-event-thumb {
    flex: 0 0 96px;
    margin: 0;
}
.nt-events-home-cards .nt-event-thumb,
.nt-events-home-feature .nt-event-thumb {
    width: 100%;
    flex-basis: auto;
}
.nt-events-home-card .nt-event-thumb img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}
.nt-events-home-cards .nt-event-thumb img,
.nt-events-home-feature .nt-event-thumb img {
    aspect-ratio: 16 / 9;
}
.nt-events-home-card-body {
    padding: 0.85rem;
    min-width: 0;
}
.nt-events-home-no-photos .nt-events-home-card-body {
    padding: 1rem;
}
.nt-events-home-date {
    margin: 0 0 0.35rem 0;
    font-weight: 700;
    font-size: 0.86rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.nt-events-home-card h3 {
    margin: 0 0 0.4rem 0;
    font-size: 1.06rem;
    line-height: 1.25;
}
.nt-events-home-card h3 a {
    text-decoration: none;
}
.nt-events-home-meta,
.nt-events-home-type,
.nt-events-home-excerpt {
    margin: 0 0 0.55rem 0;
    line-height: 1.45;
}
.nt-events-home-type {
    font-size: 0.84rem;
    opacity: 0.76;
}
.nt-events-home-link {
    font-weight: 700;
    text-decoration: none;
}
.nt-events-home-empty {
    margin: 0.75rem 0 0 0;
}
@media (max-width: 640px) {
    .nt-events-home-card {
        flex-direction: column;
    }
    .nt-events-home-card .nt-event-thumb {
        width: 100%;
        flex-basis: auto;
    }
    .nt-events-home-card .nt-event-thumb img {
        aspect-ratio: 16 / 9;
    }
}

/* Homepage two-column display, added v1.0.15 */
.nt-events-home-two .nt-events-home-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}
.nt-events-home-two .nt-events-home-card {
    display: flex;
    align-items: stretch;
    border: 1px solid rgba(0,0,0,0.12);
    background: #fff;
    min-height: 116px;
    box-shadow: 0 1px 0 rgba(0,0,0,0.03);
}
.nt-events-home-two .nt-event-thumb {
    flex: 0 0 130px;
    width: 130px;
    margin: 0;
}
.nt-events-home-two .nt-event-thumb img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}
.nt-events-home-two .nt-events-home-card-body {
    padding: 0.8rem 0.9rem;
}
.nt-events-home-two.nt-events-home-no-photos .nt-events-home-card-body {
    padding: 0.9rem 1rem;
}
.nt-events-home-two .nt-events-home-date {
    margin-bottom: 0.25rem;
    font-size: 0.74rem;
    letter-spacing: 0.05em;
}
.nt-events-home-two .nt-events-home-type {
    margin-bottom: 0.22rem;
    font-size: 0.78rem;
}
.nt-events-home-two .nt-events-home-card h3 {
    margin-bottom: 0.35rem;
    font-size: 1rem;
    line-height: 1.24;
}
.nt-events-home-two .nt-events-home-meta {
    margin-bottom: 0.45rem;
    font-size: 0.9rem;
    line-height: 1.35;
}
.nt-events-home-two .nt-events-home-excerpt {
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    line-height: 1.4;
}
.nt-events-home-two .nt-events-home-link {
    font-size: 0.88rem;
}
@media (max-width: 860px) {
    .nt-events-home-two .nt-events-home-list {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 520px) {
    .nt-events-home-two .nt-events-home-card {
        flex-direction: column;
    }
    .nt-events-home-two .nt-event-thumb {
        width: 100%;
        flex-basis: auto;
    }
    .nt-events-home-two .nt-event-thumb img {
        aspect-ratio: 16 / 9;
    }
}

/* Homepage readability upgrade, added v1.0.16
   Bold, clean, larger text for older readers. Only the View event action link is blue. */
.nt-events-home,
.nt-events-home * {
    box-sizing: border-box;
}
.nt-events-home {
    color: #111 !important;
    font-size: 18px !important;
}
.nt-events-home-heading {
    color: #111 !important;
    font-size: clamp(2rem, 3vw, 2.65rem) !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 0.25rem 0 !important;
}
.nt-events-home-month {
    color: #333 !important;
    opacity: 1 !important;
    font-size: 0.95rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    margin: 0 0 1rem 0 !important;
}
.nt-events-home-card {
    color: #111 !important;
    border: 1px solid rgba(0,0,0,0.22) !important;
    background: #fff !important;
}
.nt-events-home-card a,
.nt-events-home-card h3 a {
    color: #111 !important;
    text-decoration: none !important;
}
.nt-events-home-card h3 a:hover,
.nt-events-home-card h3 a:focus {
    text-decoration: underline !important;
}
.nt-events-home-date {
    color: #111 !important;
    font-size: 0.95rem !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    letter-spacing: 0.035em !important;
    margin: 0 0 0.35rem 0 !important;
}
.nt-events-home-card h3 {
    color: #111 !important;
    font-size: clamp(1.28rem, 1.7vw, 1.55rem) !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    margin: 0 0 0.45rem 0 !important;
    letter-spacing: -0.015em !important;
}
.nt-events-home-meta {
    color: #111 !important;
    font-size: 1.08rem !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    margin: 0 0 0.55rem 0 !important;
}
.nt-events-home-type {
    color: #444 !important;
    opacity: 1 !important;
    font-size: 0.95rem !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    margin: 0 0 0.35rem 0 !important;
}
.nt-events-home-excerpt {
    color: #222 !important;
    font-size: 1rem !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}
.nt-events-home-link {
    color: #126fd6 !important;
    font-size: 1.05rem !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    text-decoration: underline !important;
    text-underline-offset: 0.12em !important;
}
.nt-events-home-link:hover,
.nt-events-home-link:focus {
    color: #064f9e !important;
}
.nt-events-home-card-body p:last-child {
    margin-bottom: 0 !important;
}

/* Stronger two-column homepage presentation. */
.nt-events-home-two .nt-events-home-list {
    gap: 1rem !important;
}
.nt-events-home-two .nt-events-home-card {
    min-height: 0 !important;
    border: 1px solid rgba(0,0,0,0.24) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.045) !important;
}
.nt-events-home-two .nt-events-home-card-body {
    padding: 1.05rem 1.1rem !important;
}
.nt-events-home-two.nt-events-home-no-photos .nt-events-home-card-body {
    padding: 1.15rem 1.2rem !important;
}
.nt-events-home-two .nt-event-thumb {
    flex: 0 0 155px !important;
    width: 155px !important;
}
.nt-events-home-two .nt-events-home-date {
    font-size: 0.92rem !important;
}
.nt-events-home-two .nt-events-home-card h3 {
    font-size: clamp(1.22rem, 1.45vw, 1.42rem) !important;
    line-height: 1.14 !important;
}
.nt-events-home-two .nt-events-home-meta {
    font-size: 1.05rem !important;
    line-height: 1.28 !important;
}
.nt-events-home-two .nt-events-home-type {
    font-size: 0.94rem !important;
}
.nt-events-home-two .nt-events-home-excerpt {
    font-size: 1rem !important;
    line-height: 1.4 !important;
}
.nt-events-home-two .nt-events-home-link {
    font-size: 1.05rem !important;
}
@media (max-width: 860px) {
    .nt-events-home-two .nt-events-home-list {
        grid-template-columns: 1fr !important;
    }
    .nt-events-home-two .nt-events-home-card h3 {
        font-size: 1.42rem !important;
    }
}
@media (max-width: 520px) {
    .nt-events-home {
        font-size: 17px !important;
    }
    .nt-events-home-heading {
        font-size: 2rem !important;
    }
    .nt-events-home-two .nt-event-thumb {
        width: 100% !important;
        flex-basis: auto !important;
    }
}

/* v1.0.17: homepage CSS is also injected inline by REST embed to avoid theme/cache stripping. */
