/* Sherlock green, gold and cream diary. Load after the shared guest theme.
   The publication, filters, request states and hidden attributes still own behaviour. */
.guest-edition82:is([data-page="events"],[data-page="events/past-events"]) .page-intro {
  padding-block:clamp(26px,4vw,50px) 20px;
  margin-bottom:0;
}
.guest-edition82:is([data-page="events"],[data-page="events/past-events"]) .page-intro h1 {
  max-width:20ch;
  font-size:clamp(2.25rem,4.3vw,3.7rem);
  line-height:1.08;
  letter-spacing:-.025em;
}
.guest-edition82:is([data-page="events"],[data-page="events/past-events"]) .page-intro .lead {
  max-width:56ch;
  font-size:1.0625rem;
  line-height:1.65;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) {
  padding-bottom:clamp(36px,5vw,64px);
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-archive-link {
  display:flex;
  justify-content:flex-end;
  margin:0 0 8px;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-archive-link a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-size:.9375rem;
}
.guest-edition82 [data-events-page] .event-browse83 {
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  width:fit-content;
  max-width:100%;
  padding:5px;
  margin:0 0 18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--paper);
}
.guest-edition82 [data-events-page] .event-browse83 button {
  min-height:44px;
  padding:9px 16px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--ink);
  font:inherit;
  font-size:.9375rem;
  cursor:pointer;
}
.guest-edition82 [data-events-page] .event-browse83 button[aria-pressed="true"] {
  border-color:var(--gold);
  background:var(--gold);
  color:var(--cream);
  font-weight:650;
}
.guest-edition82 [data-events-page] .event-browse83 button:not([aria-pressed="true"]):hover {
  background:var(--cream);
  color:var(--gold);
}
.guest-edition82 [data-events-page] .event-browse83 button:focus-visible,
.guest-edition82 [data-events-page] .event-card h2[tabindex="-1"]:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:4px;
}
.guest-edition82 [data-events-page] .event-link-status83 {
  max-width:60ch;
  margin:0 0 16px;
  padding:12px 0 12px 14px;
  border-left:3px solid var(--accent83);
  color:var(--muted);
  line-height:1.5;
}
.guest-edition82 [data-events-page] .event-card:target {
  border-left:3px solid var(--accent83);
  padding-left:16px;
  scroll-margin-top:24px;
}
.guest-edition82 [data-events-page] .event-filters:has(label[hidden] #event-period) {
  grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
}
.guest-edition82 [data-events-page] .event-filter-toggle77 {
  margin:0 0 22px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper);
}
.guest-edition82 [data-events-page] .event-filter-toggle77>summary {
  min-height:48px;
  padding:12px 18px;
  color:var(--ink);
  font-size:1rem;
  font-weight:650;
}
.guest-edition82 [data-events-page] .event-filter-toggle77[open]>summary {
  border-bottom:1px solid var(--line);
}
.guest-edition82 [data-events-page] .event-filters {
  display:grid;
  grid-template-columns:minmax(0,1.7fr) repeat(2,minmax(0,1fr));
  gap:16px;
  margin:0 0 22px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper);
}
.guest-edition82 [data-events-page] .event-filter-toggle77 .event-filters {
  margin:0;
  border:0;
  background:transparent;
}
.guest-edition82 [data-events-page] .event-filters label {
  min-width:0;
  grid-column:auto;
  color:var(--muted);
  font-size:.875rem;
  font-weight:600;
}
.guest-edition82 [data-events-page] .event-filters :is(input,select) {
  min-height:46px;
  padding:10px 12px;
  margin-top:6px;
  border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));
  border-radius:8px;
  background:var(--field-bg);
  color:var(--field-ink);
  color-scheme:light;
  font-size:1rem;
}
.guest-edition82 [data-events-page] .event-filters input::placeholder { color:var(--field-muted); opacity:1; }
.guest-edition82 [data-events-page] .event-filters :is(input,select):focus-visible {
  border-color:var(--gold);
  outline:2px solid var(--gold);
  outline-offset:3px;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-list {
  grid-template-columns:minmax(0,1fr);
  gap:0;
  border-top:1px solid var(--line);
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-list:empty {
  border:0;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:clamp(28px,4vw,54px);
  padding:34px 0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card:has(.event-image) {
  grid-template-columns:minmax(0,1fr) minmax(180px,260px);
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-body {
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  grid-column:1;
  grid-row:1;
  gap:24px;
  min-width:0;
  order:0;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .date-badge {
  display:block;
  width:72px;
  height:max-content;
  margin:0;
  padding:17px 5px 14px;
  border-top:3px solid var(--accent83);
  border-radius:3px 3px 10px 10px;
  background:var(--paper);
  color:var(--gold);
  box-shadow:0 6px 18px #00000020;
  text-align:center;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .date-badge strong {
  font-size:2.625rem;
  line-height:1;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .date-badge span {
  margin-top:7px;
  font-size:.75rem;
  letter-spacing:.1em;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card .eyebrow {
  margin:1px 0 8px;
  color:var(--gold);
  font-size:.75rem;
  letter-spacing:.1em;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card h2 {
  margin:0 0 10px;
  max-width:30ch;
  font-size:clamp(1.75rem,2.5vw,2.5rem);
  line-height:1.14;
  letter-spacing:-.018em;
  overflow-wrap:anywhere;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card p {
  max-width:64ch;
  color:var(--ink);
  line-height:1.65;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card .event-time {
  margin-bottom:16px;
  color:var(--muted);
  font-size:.9375rem;
  font-weight:600;
  font-variant-numeric:tabular-nums;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card details {
  border-block:1px solid var(--line);
  margin-block:16px;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card summary {
  min-height:46px;
  padding-block:12px;
  font-size:.9375rem;
  font-weight:600;
  color:var(--gold);
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card summary:hover { color:var(--ink); }
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card details p {
  margin:0 0 16px;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card .booking-note {
  padding-left:14px;
  border-left:2px solid var(--accent83);
  font-size:.9375rem;
  font-style:normal;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card :is(.cancelled,.past-tag) {
  display:table;
  width:auto;
  padding:4px 10px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--paper);
  color:var(--muted);
  font-size:.8125rem;
  font-weight:650;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card .cancelled {
  border-color:var(--red-accent);
  background:var(--error-surface);
  color:var(--error-ink);
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-image {
  grid-column:2;
  grid-row:1;
  align-self:start;
  justify-self:end;
  width:100%;
  max-width:260px;
  height:auto;
  max-height:380px;
  margin:0;
  padding:8px;
  border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line));
  border-radius:10px;
  background:var(--paper);
  box-shadow:0 14px 32px #00000038;
  object-fit:contain;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-actions82 {
  flex-wrap:wrap;
  gap:8px 22px;
  margin-top:20px;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-actions82:empty { display:none; }
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-actions82 :is(a,button) { text-decoration:none; }
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-actions82 .event-request82 {
  border-color:var(--gold);
  border-radius:8px;
  background:var(--gold);
  color:var(--cream);
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-actions82 .event-request82:hover {
  background:var(--ink);
  border-color:var(--ink);
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-calendar83 { color:var(--gold); }
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-calendar83:hover,
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-calendar83[aria-expanded=true] { background:var(--gold);color:var(--ink-on-cream); }
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-calendar83:focus-visible { outline-color:var(--gold); }
.guest-edition83 .calendar-options841 {flex-basis:100%;min-width:0;width:100%;padding:18px;border:1px solid var(--gold);border-radius:14px;background:var(--cream-accent);color:var(--ink-on-cream);}
.guest-edition83 .calendar-options841 h3 {margin:0 0 8px;font:400 1.4rem/1.3 Georgia,serif;color:inherit;}
.guest-edition83 :is([data-events-page],[data-past-events77],.event-detail851) .calendar-options841 p {margin:8px 0;font-size:.875rem;line-height:1.5;color:var(--ink-on-cream);}
.guest-edition83 .calendar-options841 .calendar-url841 {display:block;font-size:.8125rem;font-weight:600;margin-block:14px;}
.guest-edition83 .calendar-options841 input {display:block;width:100%;min-width:0;box-sizing:border-box;margin-top:6px;padding:10px;min-height:44px;background:var(--field-bg);color:var(--field-ink);border:1px solid var(--muted-on-cream);border-radius:8px;font-size:.875rem;color-scheme:light;}
.guest-edition83 .calendar-options841 .calendar-actions841 {display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.guest-edition83 :is([data-events-page],[data-past-events77],.event-detail851) .calendar-options841 .calendar-actions841 :is(a,button) {padding:9px 13px;min-height:44px;border:1px solid var(--ink-on-cream);border-radius:9px;background:transparent;color:var(--ink-on-cream);font:600 .8125rem/1.4 Arial,sans-serif;text-decoration:none;}
.guest-edition83 :is([data-events-page],[data-past-events77],.event-detail851) .calendar-options841 .calendar-actions841 a {background:var(--brand-green);color:var(--cream-accent);}
.guest-edition83 :is([data-events-page],[data-past-events77],.event-detail851) .calendar-options841 .calendar-actions841 :is(a,button):hover {background:var(--gold);color:var(--ink-on-cream);}
.guest-edition83 .calendar-options841 :focus-visible {outline:3px solid var(--ink-on-cream);outline-offset:3px;}
.guest-edition83 :is([data-events-page],[data-past-events77],.event-detail851) .calendar-options841 .small-note {color:var(--muted-on-cream);font-size:.8125rem;}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-actions82 a,
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-body>div>.text-link {
  display:inline-flex;
  align-items:center;
  min-height:46px;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) :is(.event-empty82,.quiet-state) {
  padding:18px 0;
  margin-block:0 16px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) :is(.event-empty82,.quiet-state) p {
  max-width:48ch;
  margin:0 0 8px;
  color:var(--muted);
  font-family:inherit;
  font-size:1.0625rem;
  line-height:1.6;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) :is(.event-empty82,.quiet-state) .actions {
  gap:8px 22px;
  margin:0;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) :is(.event-empty82,.quiet-state) a {
  display:inline-flex;
  align-items:center;
  min-height:46px;
  color:var(--ink);
  text-decoration:none;
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-empty82 .button {
  min-height:46px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper);
  color:var(--ink);
}
.guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) :is(.event-empty82,.quiet-state) :focus-visible {
  outline:3px solid var(--gold);
  outline-offset:4px;
}
.guest-edition82 [data-request-event82] {
  padding:20px 22px;
  border:1px solid var(--line);
  border-left:3px solid var(--accent83);
  border-radius:10px;
  background:var(--paper);
}
.guest-edition82 [data-request-event82] h2 {
  margin:0 0 10px;
  color:var(--accent83);
  font-family:inherit;
  font-size:.8125rem;
  font-weight:700;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.guest-edition82 [data-request-event82]>strong {
  display:block;
  margin-bottom:12px;
  color:var(--ink);
  font-family:Georgia,serif;
  font-size:clamp(1.5rem,2.3vw,2rem);
  line-height:1.2;
  overflow-wrap:anywhere;
}
.guest-edition82 [data-request-event82] p {
  max-width:62ch;
  margin:8px 0;
  color:var(--ink);
  line-height:1.6;
}
.guest-edition82 [data-request-event82] .actions {
  gap:8px;
  margin-top:16px;
}
.guest-edition82 [data-request-event82] .button {
  min-height:46px;
  white-space:normal;
  border-color:var(--line);
  border-radius:8px;
  background:var(--cream);
  color:var(--ink);
}
.guest-edition82 [data-request-event82] .button:hover:not(:disabled) { border-color:var(--gold); color:var(--gold); }
.guest-edition82 [data-request-event82]:is([data-state=invalid],[data-state=unavailable],[data-state=changed],[data-state=date_mismatch],[data-state=feed_unavailable]) {
  border-color:var(--red-accent);
  border-left-color:var(--red-accent);
  background:var(--error-surface);
}
.guest-edition82:is([data-page=events],[data-page="events/past-events"],[data-page=reservations]) .event-feed-feedback82 p {
  color:var(--muted);
}
.guest-edition82:is([data-page=events],[data-page="events/past-events"],[data-page=reservations]) .event-feed-feedback82[data-state=unavailable] p {
  color:var(--error-ink);
}
.guest-edition82:is([data-page=events],[data-page="events/past-events"],[data-page=reservations]) .event-feed-feedback82 button {
  color:var(--ink);
  background:var(--paper);
  border-color:var(--line);
  border-radius:8px;
}
.guest-edition82:is([data-page=events],[data-page="events/past-events"],[data-page=reservations]) .event-feed-feedback82 button:hover:not(:disabled) {
  border-color:var(--gold);
  color:var(--gold);
}
/* An ordinary table request does not need a second prominent error panel for
   the optional diary. Selected event-context warnings keep their full weight. */
.guest-edition82[data-page=reservations]:not(:has([data-request-event82]:not([hidden]))) .event-feed-feedback82 {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:2px 16px;
  margin-block:4px 14px;
  padding-block:6px;
  border:0;
  background:transparent;
}
.guest-edition82[data-page=reservations]:not(:has([data-request-event82]:not([hidden]))) .event-feed-feedback82 p {
  margin:0;
  max-width:62ch;
  color:var(--muted);
  font-size:.875rem;
  line-height:1.5;
}
.guest-edition82[data-page=reservations]:not(:has([data-request-event82]:not([hidden]))) .event-feed-feedback82 .actions {
  gap:6px 16px;
  margin:0;
}
.guest-edition82[data-page=reservations]:not(:has([data-request-event82]:not([hidden]))) .event-feed-feedback82 :is(button,a) {
  min-height:44px;
  font-size:.875rem;
}
@media(max-width:760px) {
  .guest-edition82:is([data-page="events"],[data-page="events/past-events"]) .page-intro {
    padding-block:24px 8px;
  }
  .guest-edition82:is([data-page="events"],[data-page="events/past-events"]) .page-intro h1 {
    font-size:2.25rem;
  }
  .guest-edition82 [data-events-page] .event-filters {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    padding:14px;
  }
  .guest-edition82 [data-events-page] .event-filters label:first-child { grid-column:1/-1; }
  .guest-edition82 [data-events-page] .event-filters:has(label[hidden] #event-period) { grid-template-columns:minmax(0,1fr); }
  .guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card,
  .guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card:has(.event-image) {
    grid-template-columns:minmax(0,1fr);
    gap:20px;
    padding:24px 0;
    border-radius:0;
  }
  .guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-body {
    grid-template-columns:52px minmax(0,1fr);
    gap:16px;
  }
  .guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .date-badge {
    width:52px;
    padding:11px 3px 10px;
  }
  .guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .date-badge strong { font-size:2.125rem; }
  .guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .date-badge span { font-size:.6875rem; }
  .guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-card h2 { font-size:1.75rem; }
  .guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-image {
    grid-column:1;
    grid-row:2;
    justify-self:center;
    width:min(100%,280px);
    max-width:100%;
    max-height:380px;
  }
  .guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-actions82 { gap:8px 14px; }
  .guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-request82 {
    width:100%;
    justify-content:center;
    text-align:center;
    padding-inline:12px;
    font-size:.875rem;
    white-space:normal;
  }
  .guest-edition82 [data-request-event82] { padding:16px; }
}
@media(max-width:360px) {
  .guest-edition82 [data-events-page] .event-filters { grid-template-columns:minmax(0,1fr); }
  .guest-edition82 :is([data-events-page],[data-past-events77],.event-detail851) .event-body { gap:12px; }
}
/* Individual published-event pages reuse the diary layout, not another design. */
.guest-edition83 .event-detail851 { padding-block:20px 48px; }
.guest-edition83 .event-detail851 .event-detail-back851 { margin:0; }
.guest-edition83 .event-detail851 .event-detail-back851 a { display:inline-flex;align-items:center;min-height:44px; }
.guest-edition83 .event-detail851 .event-card h1 { margin:0 0 12px;font-size:clamp(1.85rem,4vw,3rem);line-height:1.12;overflow-wrap:anywhere; }
.guest-edition83 [data-events-page] [data-event-period-only851][hidden],
.guest-edition83 [data-events-page] .event-filter-toggle77[hidden] { display:none; }

