/* Every style (15 Oct 2026): only what makes the HTML work, whatever the style. On its own this
   file is the Base style: clean, no decoration (no background picture, no seal, no highlight).
   The other styles add themes/<style>.css on top, picked in the admin (Look and home page > Style).
   themes/base.css is empty on purpose. */

/* pictures fit the screen, never wider or taller, at their own proportions */
img, video { max-width: 100%; max-height: 100vh; height: auto; object-fit: contain; }

/* the background picture (Look > Background picture), behind every page: at its own size, or
   smaller to fit the window (never enlarged, never cut), centred on the window both ways, and
   staying put while the page scrolls */
.site-background { position: fixed; inset: 0; margin: auto; z-index: -1;
  max-width: 100vw; max-height: 100dvh; width: auto; height: auto; }
/* decoration is the styles' business: the background picture and the seal stay hidden here */
.site-background, .site-deco { display: none; }

/* openable titles (<details>): the arrow from the font (›) in place of the browser's triangle,
   turned down when open; what opens is indented like a description list */
summary { list-style: none; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
summary .arrow { display: inline-block; width: .6em; }
details[open] > summary .arrow { transform: rotate(90deg); }
details > :not(summary) { margin-left: 40px; }

/* on the phone the title line is just the section's name: no room for the trail, and the
   browser's back arrow does its job */
@media (max-width: 40rem) { .trail { display: none; } }
/* the table's filters, one per line: each menu narrow enough to stay beside its name, even on
   a phone (a long event's name is cut in the closed menu, whole in the open one) */
#filters select { max-width: calc(100% - 4.5em); }  /* room left for its name */
