/* Scoped styles for the [vmars_events_diary] shortcode. Every selector is
   prefixed .vmars-events so this can never bleed into the rest of the
   Hestia theme, and the theme's own styles can't collide with it either. */

.vmars-events {
  --ve-ink:#2b2622; --ve-paper:#f2ede2; --ve-panel:#fbf8f1; --ve-panel2:#f5efe2;
  --ve-oxblood:#6b1c22; --ve-oxblood-ink:#f5efe4; --ve-brass:#8a7248; --ve-brass-ink:#241d12;
  --ve-line:#d8cfba; --ve-muted:#6b6458;

  font-family: 'Libre Franklin', Roboto, Helvetica, Arial, sans-serif;
  color: var(--ve-ink);
  max-width: 800px;
  margin: 0 auto;
}

.vmars-events .ve-notice {
  margin: 0 0 1.25rem; padding: .85rem 1rem; background: var(--ve-panel2);
  border-left: 3px solid var(--ve-oxblood); font-size: .9rem; line-height: 1.55;
}

.vmars-events .ve-stat-strip { display:flex; gap:1.75rem; margin-bottom:1.75rem; padding-bottom:1rem; border-bottom:1px solid var(--ve-line); flex-wrap:wrap; }
.vmars-events .ve-stat-strip div { display:flex; flex-direction:column; }
.vmars-events .ve-stat-strip strong { font-weight:800; font-size:1.6rem; color:var(--ve-oxblood); line-height:1; }
.vmars-events .ve-stat-strip span { font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ve-muted); margin-top:.3rem; }

.vmars-events .ve-past-section { margin-bottom: 1.75rem; }
.vmars-events details { background:var(--ve-panel); border:1px solid var(--ve-line); padding:.9rem 1.1rem 1rem; }
.vmars-events summary { cursor:pointer; font-size:.9rem; color:var(--ve-ink); list-style:none; display:flex; align-items:center; gap:.55rem; }
.vmars-events summary::-webkit-details-marker { display:none; }
.vmars-events .ve-chevron { display:inline-block; color:var(--ve-oxblood); transition:transform .15s ease; }
.vmars-events details[open] .ve-chevron { transform:rotate(90deg); }
.vmars-events .ve-count { color:var(--ve-muted); }

.vmars-events .ve-past-list { list-style:none; margin:.85rem 0 0; padding:0; border-top:1px solid var(--ve-line); }
.vmars-events .ve-past-row { display:grid; grid-template-columns:4.6rem 1fr auto auto; gap:.75rem; align-items:center; padding:.55rem 0; border-bottom:1px solid var(--ve-line); }
.vmars-events .ve-past-row:last-child { border-bottom:0; }
.vmars-events .ve-past-date { font-size:.75rem; color:var(--ve-muted); white-space:nowrap; }
.vmars-events .ve-past-title { color:var(--ve-ink); font-weight:500; font-size:.88rem; }
.vmars-events .ve-past-loc { color:var(--ve-muted); font-size:.8rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.vmars-events .ve-year-section { margin-top: 2rem; }
.vmars-events .ve-year-section h2 {
  font-weight:800; font-size:1.5rem; color:var(--ve-ink);
  margin:0 0 1rem; padding-bottom:.4rem; border-bottom:2px solid var(--ve-oxblood); display:inline-block;
}
.vmars-events .ve-cards { display:flex; flex-direction:column; gap:.9rem; }

.vmars-events .ve-card { display:flex; gap:1rem; background:var(--ve-panel); border:1px solid var(--ve-line); padding:1rem; }
.vmars-events .ve-badge { flex:none; width:4.1rem; height:fit-content; text-align:center; background:var(--ve-oxblood); color:var(--ve-oxblood-ink); padding:.5rem 0; }
.vmars-events .ve-badge-day { font-weight:800; font-size:1.85rem; line-height:1; display:block; }
.vmars-events .ve-badge-mon { font-size:.62rem; letter-spacing:.12em; display:block; margin-top:.2rem; }

.vmars-events .ve-body { flex:1; min-width:0; }
.vmars-events .ve-row-top { display:flex; align-items:baseline; justify-content:space-between; gap:.75rem; }
.vmars-events .ve-row-top h3 { font-weight:700; font-size:1.05rem; margin:0; color:var(--ve-ink); }
.vmars-events .ve-cat { font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ve-muted); white-space:nowrap; }
.vmars-events .ve-chip { font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; padding:.22rem .5rem; white-space:nowrap; }
.vmars-events .ve-chip-auction { background:var(--ve-oxblood); color:var(--ve-oxblood-ink); }
.vmars-events .ve-chip-agm { background:var(--ve-brass); color:var(--ve-brass-ink); }
.vmars-events .ve-chip-attend { display:inline-flex; align-items:center; gap:.3rem; border:1px solid var(--ve-oxblood); color:var(--ve-oxblood); background:transparent; }

.vmars-events .ve-date { font-size:.8rem; color:var(--ve-muted); margin:.4rem 0 0; }
.vmars-events .ve-loc { display:flex; align-items:flex-start; gap:.35rem; font-size:.88rem; color:var(--ve-ink); margin:.35rem 0 0; }
.vmars-events .ve-pin { width:14px; height:14px; flex:none; margin-top:.16rem; color:var(--ve-oxblood); }
.vmars-events .ve-notes { font-size:.9rem; line-height:1.6; color:var(--ve-ink); margin:.55rem 0 0; }
.vmars-events .ve-row-bottom { display:flex; align-items:center; gap:.9rem; margin-top:.7rem; flex-wrap:wrap; }
.vmars-events .ve-more { display:inline-flex; align-items:center; gap:.3rem; font-size:.8rem; color:var(--ve-oxblood); text-decoration:none; border-bottom:1px solid transparent; }
.vmars-events .ve-more:hover { border-bottom-color:var(--ve-oxblood); }
.vmars-events .ve-link-ico, .vmars-events .ve-radio-ico { width:13px; height:13px; }

@media (max-width:560px) {
  .vmars-events .ve-past-row { grid-template-columns:3.4rem 1fr; row-gap:.2rem; }
  .vmars-events .ve-past-loc { grid-column:2; }
  .vmars-events .ve-past-row .ve-chip, .vmars-events .ve-past-row .ve-cat { grid-column:2; }
  .vmars-events .ve-row-top { flex-direction:column; align-items:flex-start; gap:.35rem; }
}
