/* Header-Logo: kein Klick / kein Hand / kein Fokus (fallback zum href-replace) */
a[title="Startseite"], a[title="Startseite"] *, .event-logo {
  cursor: default !important;
  pointer-events: none !important;
  text-decoration: none !important;
  outline: none !important;
}

/* Tickets-Bereich nur auf der Startseite (cart/add form) als gelbe Card */
form[action*="/cart/add"]:has(.item-category) {
  background: #fff8e1 !important;
  border: 2px solid #d6a500 !important;
  border-radius: 10px !important;
  padding: 8px 22px 22px !important;
  margin: 24px 0 !important;
  box-shadow: 0 2px 10px rgba(214, 165, 0, .18) !important;
}
form[action*="/cart/add"]:has(.item-category) .item-category {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
form[action*="/cart/add"]:has(.item-category) .item-category > h3 {
  color: #5a4400 !important;
  font-size: 1.6em !important;
  padding: 10px 0 6px !important;
  margin-bottom: 14px !important;
  border-bottom: 3px solid #d6a500 !important;
  display: inline-block !important;
}
form[action*="/cart/add"]:has(.item-category) article.row.product-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  background: #fff !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  margin: 0 !important;
  border: 1px solid #f0d97a !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .04) !important;
}
form[action*="/cart/add"]:has(.item-category) article.row.product-row > div[class*="col-"] {
  display: flex !important;
  align-items: center !important;
  float: none !important;
  padding: 0 !important;
}
form[action*="/cart/add"]:has(.item-category) article.row.product-row::before,
form[action*="/cart/add"]:has(.item-category) article.row.product-row::after,
form[action*="/cart/add"]:has(.item-category) article.row.product-row .clearfix {
  display: none !important;
  content: none !important;
}
form[action*="/cart/add"]:has(.item-category) article.row.product-row .productpicture {
  float: none !important;
  margin: 0 14px 0 0 !important;
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
form[action*="/cart/add"]:has(.item-category) article.row.product-row .productpicture img {
  display: block;
  max-height: 48px;
  width: auto;
}
form[action*="/cart/add"]:has(.item-category) article.row.product-row .product-description,
form[action*="/cart/add"]:has(.item-category) article.row.product-row .product-description.with-picture {
  margin-left: 0 !important;
  flex: 1 1 auto;
}
form[action*="/cart/add"]:has(.item-category) article.row.product-row .product-description h4 {
  margin: 0 !important;
}
form[action*="/cart/add"]:has(.item-category) article.row.product-row .price {
  justify-content: flex-end;
  text-align: right;
}
form[action*="/cart/add"]:has(.item-category) article.row.product-row .price p {
  margin: 0 !important;
  font-weight: 600;
  font-size: 1.05em;
}
form[action*="/cart/add"]:has(.item-category) article.row.product-row .availability-box {
  justify-content: flex-end;
}
form[action*="/cart/add"]:has(.item-category) .front-page {
  margin-top: 14px !important;
  padding-top: 0 !important;
}

/* Adress-/Datum-Block (info-rows): Flex-Layout, kein Icon-Overlap */
.info-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin: 1.4em 0 0 0 !important;
  min-height: 0 !important;
  position: static !important;
}
.info-row .info-row-icon {
  position: static !important;
  flex: 0 0 32px !important;
  width: 32px !important;
  height: auto !important;
  font-size: 26px !important;
  text-align: center !important;
  margin: 0 !important;
  padding-top: 4px;
}
.info-row p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.15em !important;
  line-height: 1.5 !important;
  flex: 1 1 auto !important;
}
.info-row + .info-row p {
  font-size: 1.3em !important;
  font-weight: 700 !important;
}
.info-row + .info-row .info-row-icon {
  font-size: 28px !important;
  padding-top: 5px;
}
.info-row + .info-row p a {
  font-weight: 600 !important;
  font-size: .85em;
}

/* Beginn / Einlass Reihenfolge tauschen: Einlass zuerst, dann Beginn */
.info-row + .info-row p {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .15em;
}
.info-row + .info-row p > br { display: none !important; }
.info-row + .info-row p > time { order: 0; }
.info-row + .info-row p > span[data-time*="T17:"] { order: 1; }  /* Einlass */
.info-row + .info-row p > span[data-time*="T18:"] { order: 2; }  /* Beginn */
.info-row + .info-row p > a { order: 3; margin-top: .35em; }

/* Bestellbutton dick und auffällig */
#btn-add-to-cart {
  font-size: 1.2em !important;
  padding: 14px 24px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  box-shadow: 0 3px 8px rgba(46, 41, 25, .25) !important;
  transition: transform .12s ease, box-shadow .12s ease;
}
#btn-add-to-cart:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(46, 41, 25, .35) !important;
}

/* macOS-Safari Standard-Focus-Ring (gelb-orange via -webkit-focus-ring-color)
   ueberschreiben fuer alle Buttons - dezenter grauer Ring stattdessen */
.btn:focus, .btn:active:focus, .btn.active:focus,
.btn-default:focus, .input-item-count-inc:focus, .input-item-count-dec:focus,
.btn-default:active:focus {
  outline: 2px solid #999 !important;
  outline-offset: 1px !important;
  -webkit-focus-ring-color: #999 !important;
}
.input-item-count:focus {
  outline: 2px solid #999 !important;
  outline-offset: 0 !important;
}
