/* Events Search Embed — frontend styles (compact). */
.ese-feed { margin: 1em 0; }
.ese-feed .ese-no-results { color: #666; }

.ese-layout-list .ese-card {
  display: flex;
  gap: 0.75rem;
  padding: 0.75rem;
  margin-bottom: 0.75rem;
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  background: #fff;
}
.ese-card-image { flex: 0 0 120px; }
.ese-card-image img { width: 100%; height: auto; border-radius: 4px; display: block; }
.ese-card-body { flex: 1; min-width: 0; }
.ese-date { font-size: 0.75em; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: #555; margin: 0 0 0.25em; }
.ese-title { margin: 0 0 0.25em; font-size: 1.05em; line-height: 1.25; }
.ese-title a { text-decoration: none; }
.ese-title a:hover { text-decoration: underline; }
.ese-venue, .ese-cost { margin: 0 0 0.25em; font-size: 0.85em; color: #444; }
.ese-excerpt { margin: 0.35em 0; color: #333; font-size: 0.9em; line-height: 1.45; }
.ese-button-wrap { margin: 0.5em 0 0; }
.ese-button {
  display: inline-block;
  padding: 0.4em 0.9em;
  border-radius: 4px;
  background: #1d4ed8;
  color: #fff !important;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.85em;
}
.ese-button:hover { background: #1e40af; }

.ese-layout-grid { display: grid; gap: 0.75rem; }
.ese-layout-grid.ese-columns-2 { grid-template-columns: repeat(2, 1fr); }
.ese-layout-grid.ese-columns-3 { grid-template-columns: repeat(3, 1fr); }
.ese-layout-grid.ese-columns-4 { grid-template-columns: repeat(4, 1fr); }
.ese-layout-grid.ese-columns-1 { grid-template-columns: 1fr; }
.ese-layout-grid .ese-card {
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
}
.ese-layout-grid .ese-card-image { flex: none; }
.ese-layout-grid .ese-card-image img { border-radius: 0; }
.ese-layout-grid .ese-card-body { padding: 0.75rem 0.9rem 0.9rem; }

.ese-simple-list { list-style: disc; margin-left: 1.25em; padding: 0; }
.ese-item-simple { margin-bottom: 0.35em; font-size: 0.95em; }
.ese-item-simple .ese-date { display: block; text-transform: none; letter-spacing: 0; font-weight: 400; }

/* Compact "upcoming events" layout — date block + gold divider.
   Transparent background so the section color (e.g. light blue) shows through.
   Ink is navy; override via --ese-ink / --ese-gold / --ese-gold-text / --ese-muted. */
.ese-layout-compact {
  --ese-ink: #12305c;
  --ese-muted: #4a5a73;
  --ese-accent: #12305c;
  --ese-gold: var(--ese-accent);
  --ese-gold-text: var(--ese-ink);
  background: transparent;
  border: 0;
  padding: 0;
}
.ese-compact-heading {
  color: var(--ese-ink);
  font-size: clamp(1.6em, 1.1em + 2vw, 2.1em);
  line-height: 1.15;
  font-weight: 400;
  text-transform: lowercase;
  letter-spacing: 0.01em;
  margin: 0 0 0.6em;
}
.ese-compact-list { list-style: none; margin: 0; padding: 0; }
.ese-layout-compact .ese-row { display: flex; gap: 1rem; margin: 0 0 1.1rem; align-items: stretch; }
.ese-row-date {
  flex: 0 0 3.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  line-height: 1;
  padding-top: 0.1em;
}
.ese-mon { font-size: 0.8em; letter-spacing: 0.08em; font-weight: 500; color: var(--ese-muted); }
.ese-day { font-size: 2.4em; font-weight: 800; line-height: 1.05; color: var(--ese-ink); }
.ese-row-main { flex: 1; min-width: 0; border-left: 3px solid var(--ese-accent); padding-left: 1rem; }
.ese-row-time { margin: 0 0 0.2em; font-size: 0.95em; color: var(--ese-ink); display: flex; align-items: center; gap: 0.4em; }
.ese-recurring { color: var(--ese-muted); display: inline-flex; line-height: 0; }
.ese-row-title { margin: 0; font-size: 1.2em; line-height: 1.3; font-weight: 800; text-transform: uppercase; color: var(--ese-ink); }
.ese-layout-compact .ese-row-title,
.ese-layout-compact .ese-row-title a { font-weight: 800; }
.ese-row-title a { color: inherit; font-weight: inherit; text-decoration: none; }
.ese-row-title a:hover, .ese-row-title a:focus { text-decoration: underline; }
.ese-calendar-wrap { margin: 1em 0 0; }
.ese-calendar-link { color: var(--ese-ink); font-size: 1.05em; text-decoration: none; }
.ese-calendar-link:hover, .ese-calendar-link:focus { text-decoration: underline; }
.ese-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Dark variant for dark blue sidebars/sections: white text + gold accents
   (gold on dark navy passes contrast; use theme="dark" in shortcode/block). */
.ese-layout-compact.ese-theme-dark {
  --ese-ink: #ffffff;
  --ese-muted: #cbd5e1;
  --ese-accent: #f0b429;
}
.ese-layout-compact.ese-theme-dark .ese-compact-heading { color: var(--ese-accent); }
.ese-layout-compact.ese-theme-dark .ese-no-results { color: #e2e8f0; }

@media (max-width: 800px) {
  .ese-layout-grid.ese-columns-2,
  .ese-layout-grid.ese-columns-3,
  .ese-layout-grid.ese-columns-4 { grid-template-columns: 1fr; }
  .ese-layout-list .ese-card { flex-direction: column; }
  .ese-card-image { flex: none; }
  .ese-day { font-size: 2em; }
  .ese-row-main { padding-left: 0.75rem; }
}
