:root {
  --ink: #1f1d1a;
  --paper: #faf8f4;
  --muted-line: #e4dfd6;
  --accent: #8a5a3b;
}
body { font-family: "Inter", system-ui, sans-serif; color: var(--ink); background: var(--paper); }
h1, h2, h3, h4, .navbar-brand, .page-title, .section-title {
  font-weight: 600;
}
a { color: var(--accent); }
a:hover { color: var(--ink); }

.site-nav { border-bottom: 1px solid var(--muted-line); background: var(--paper); }
.site-nav .navbar-brand { font-size: 1.6rem; color: var(--ink); }
.site-nav .nav-link { color: var(--ink); text-transform: uppercase; letter-spacing: .08em; font-size: .85rem; }
.site-nav .nav-link.active, .site-nav .nav-link:hover { color: var(--accent); }

/* Height follows the header image's 4:1 shape so the whole painting shows; on narrow
   screens the minimum height keeps room for the name and button (cropping the sides). */
.hero {
  display: flex; align-items: center;
  height: max(180px, 25vw); /* 25vw = full width / 4, matching the 4:1 image */
  padding: 1.5rem 0;
  color: #fff;
  background:
    linear-gradient(rgba(20, 18, 30, .35), rgba(20, 18, 30, .55)),
    url("../img/header.7e1c3b427bb9.png") center / cover no-repeat;
}
.hero h1 { font-size: clamp(1.75rem, 4vw, 3.5rem); text-shadow: 0 2px 12px rgba(0, 0, 0, .5); }
.hero .lead { text-shadow: 0 1px 8px rgba(0, 0, 0, .6); }
.hero .btn-light { background: rgba(255, 255, 255, .9); border: 0; }
.page-title { font-size: 2.6rem; }
.section-title { font-size: 1.9rem; margin: 0; }

.artwork-card { color: var(--ink); }
.artwork-thumb { aspect-ratio: 1 / 1; overflow: hidden; background: #eee9e1; }
.artwork-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.artwork-card:hover .artwork-thumb img { transform: scale(1.04); }
.artwork-title { font-weight: 500; }
.artwork-main { box-shadow: 0 8px 30px rgba(0, 0, 0, .12); }
.medium-filter { display: flex; flex-wrap: wrap; gap: .4rem; }

.event-item { color: var(--ink); }
.event-date { min-width: 3.5rem; border: 1px solid var(--muted-line); background: #fff; padding: .3rem; }
.event-date .month { font-size: .75rem; text-transform: uppercase; color: var(--accent); letter-spacing: .08em; }
.event-date .day { font-size: 1.5rem; line-height: 1; }
.event-title { font-weight: 500; }
#calendar { background: #fff; padding: 1rem; border: 1px solid var(--muted-line); }
.fc .fc-toolbar-title { font-size: 1.5rem; }
.fc .fc-button-primary { background: var(--ink); border-color: var(--ink); }
.fc .fc-event { cursor: pointer; }
.fc .fc-daygrid-block-event .fc-event-main-frame { flex-wrap: wrap; }
.fc .fc-daygrid-block-event .fc-event-time,
.fc .fc-daygrid-block-event .fc-event-title { white-space: normal; overflow: visible; }
.fc .fc-list-day-cushion a, .fc .fc-col-header-cell-cushion, .fc .fc-daygrid-day-number { text-decoration: none; color: var(--ink); }
/* Phones and small tablets: compact toolbar buttons. */
@media (max-width: 767.98px) {
  .fc .fc-toolbar-title { font-size: 1.15rem; }
  .fc .fc-button { font-size: .8rem; padding: .25rem .55rem; }
  .fc .fc-button .fc-icon { font-size: 1.1em; vertical-align: -0.1em; }
  .fc .fc-toolbar-chunk > .fc-today-button { margin-left: .4rem; }
  .fc .fc-list-event-time { white-space: nowrap; }
}
/* Phones: month title on its own row, with the buttons (‹ › Today ... Month | List) below it. */
@media (max-width: 575.98px) {
  #calendar { padding: .75rem; }
  .fc .fc-toolbar.fc-header-toolbar { flex-wrap: wrap; row-gap: .6rem; margin-bottom: .75rem; }
  .fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(2) { order: -1; flex: 0 0 100%; text-align: center; }
}

.post-cover { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.rich-text img { max-width: 100%; height: auto; }
.rich-text .image-style-align-left { float: left; margin: 0 1rem 1rem 0; max-width: 50%; }
.rich-text .image-style-align-right { float: right; margin: 0 0 1rem 1rem; max-width: 50%; }
.rich-text .image-style-align-center, .rich-text figure.image { margin: 1rem auto; text-align: center; }

.contact-box { background: #fff; border: 1px solid var(--muted-line); }
.social-icon { display: inline-flex; font-size: 1.25rem; margin-right: .6rem; color: var(--ink); }
.social-icon:hover { color: var(--accent); }
.site-footer { border-top: 1px solid var(--muted-line); }
