/* Catalog, product information, and event-page additions to the original theme. */
[hidden] { display: none !important; }
.catalog-page .products .image-tools { display: none !important; }
.catalog-page .product-categories .children { display: none; }
.catalog-page .product-categories a[aria-current="true"] { color: #111; font-weight: 700; }
.catalog-empty { margin-top: 0; }
.catalog-reset { display: inline-block; margin-bottom: 30px; text-decoration: underline; }
.product-image-dialog .dialog-close {
  position: absolute;
  right: 4px;
  top: 4px;
  padding: 0;
  margin: 0;
  min-height: 32px;
  min-width: 32px;
  font-size: 28px;
  line-height: 32px;
  font-weight: 400;
}
.catalog-drawer { padding: 55px 20px 30px; width: 300px; }
.catalog-drawer .product-categories .children { display: none; }
.catalog-drawer .widget-title { font-size: 1em; }
.static-product-gallery { margin: 0 0 1em; }
.static-product-gallery img { width: 100%; height: auto; }
.product-image-dialog { padding: 35px; max-width: min(800px, 95vw); max-height: 95vh; background: white; }
.product-image-dialog img { display: block; max-height: calc(95vh - 70px); width: auto; margin: auto; }
.events-page .col-inner.dark h3 a { color: inherit; }
.events-page .col-inner.dark h3 a:hover { text-decoration: underline; }

/* Read the booklet directly, without requiring a browser PDF viewer. */
.booklet-intro { padding-top: 65px; padding-bottom: 25px; text-align: center; }
.booklet-intro .breadcrumbs { margin-bottom: 20px; }
.booklet-intro h1 { margin-bottom: 12px; }
.booklet-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-bottom: 20px; }
.booklet-actions .button { margin: 0; }
.booklet-page-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.booklet-page-links a { border: 1px solid #ddd; min-width: 34px; padding: 3px 8px; }
.booklet-page-links a:hover { color: #fff; background: #28ada6; border-color: #28ada6; }
.booklet-pages { max-width: 880px; padding: 0 15px 35px; margin: 0 auto; }
.booklet-sheet { margin: 0 0 30px; scroll-margin-top: 20px; }
.booklet-sheet img { display: block; width: 100%; height: auto; box-shadow: 0 2px 12px rgba(0,0,0,.12); }
.booklet-sheet figcaption { padding: 10px 0; text-align: center; font-size: 14px; color: #777; }
@media (max-width: 549px) {
 .booklet-intro { padding-top: 105px; }
 .booklet-intro h1 { font-size: 1.65em; }
 .booklet-actions { display: block; }
 .booklet-actions .button { display: block; margin-bottom: 12px; font-size: .7em; }
}
.booklet-actions .button.is-outline { color: #555; border-color: #777; }
.booklet-actions .button.is-outline:hover { color: #fff; background-color: #555; }
