/* Eigene Anpassungen (nicht aus dem Webflow-Export) */

/* Abstand vor dem Archiv-Abschnitt "Vergangene Ausstellungen":
   Die Ausstellungs-Karten ragen im Desktop-Layout unten aus dem Raster,
   deshalb braucht die Überschrift mehr Abstand als die Utility-Klassen hergeben. */
.abschnitt-vergangene {
  margin-top: 280px;
}

@media screen and (max-width: 991px) {
  .abschnitt-vergangene {
    margin-top: 120px;
  }
}

/* ===== Shop (Merx) ===== */
.shop-grid { grid-column-gap: 27px; grid-row-gap: 40px; }
.shop-item { display: block; overflow: hidden; text-decoration: none; }
.shop-item-image { position: relative; height: 340px; overflow: hidden; }
.shop-item-content { padding: 24px; }
.shop-price { font-weight: 700; }
.shop-badge-verkauft { position: absolute; top: 16px; right: 16px; background: #111; color: #fff; padding: 6px 14px; text-transform: uppercase; font-size: 12px; letter-spacing: 0.06em; }
.shop-badge-verkauft.static { position: static; display: inline-block; }
.shop-product-grid { grid-column-gap: 40px; align-items: start; }
.shop-product-image img { width: 100%; height: auto; }
.shop-details-table th { text-align: left; padding-right: 24px; padding-bottom: 6px; font-weight: 700; text-transform: uppercase; font-size: 12px; letter-spacing: 0.06em; color: #747474; }
.shop-details-table td { padding-bottom: 6px; }
.shop-cart-card, .shop-checkout-card { padding: 32px; }
.shop-cart-table { width: 100%; border-collapse: collapse; }
.shop-cart-table th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: #747474; padding-bottom: 12px; }
.shop-cart-table td { padding: 10px 8px 10px 0; border-top: 1px solid #dedede; vertical-align: middle; }
.shop-cart-table tfoot td { border-top: 2px solid #111; }
.shop-cart-thumb img { display: block; border-radius: 4px; }
.shop-cart-total-label, .shop-cart-tax-label { text-align: right; font-weight: 700; }
.shop-cart-tax-label, .shop-cart-tax { color: #747474; font-size: 14px; border-top: none !important; padding-top: 0 !important; }
.shop-cart-total { font-weight: 700; }
.shop-inline-form { margin: 0; }
.shop-remove-btn { background: none; border: none; font-size: 22px; line-height: 1; cursor: pointer; color: #747474; }
.shop-remove-btn:hover { color: #111; }
.shop-input { display: block; width: 100%; padding: 10px 12px; border: 1px solid #dedede; border-radius: 4px; font: inherit; margin-top: 6px; }
.shop-input-quantity { width: 80px; display: inline-block; }
.shop-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; }
.shop-form-grid label { font-size: 14px; font-weight: 500; }
.shop-field-full { grid-column: 1 / -1; }
.shop-payment-methods { display: grid; gap: 12px; }
.shop-radio { display: flex; gap: 10px; align-items: baseline; cursor: pointer; }
.shop-message { background: #ffeff0; border: 1px solid #dc2b2b; color: #dc2b2b; padding: 14px 18px; border-radius: 4px; margin-bottom: 24px; }
.shop-order-grid { grid-column-gap: 27px; grid-row-gap: 27px; align-items: start; }
@media screen and (max-width: 767px) {
  .shop-form-grid { grid-template-columns: 1fr; }
  .shop-item-image { height: 260px; }
}
