/* v20: логотип магазина виден на всех страницах (белый SVG на светлом фоне красим в цвет логотипа) */
img[alt="Phantasialand Onlineshop"],
.page-header__logo img {
  filter: brightness(0) saturate(100%) invert(10%) sepia(25%) saturate(4664%) hue-rotate(219deg) brightness(94%) contrast(93%) !important;
  -webkit-filter: brightness(0) saturate(100%) invert(10%) sepia(25%) saturate(4664%) hue-rotate(219deg) brightness(94%) contrast(93%) !important;
  width: 224px;
  height: auto;
  opacity: 1 !important;
}

/* v20: шапка магазина: логотип по центру по вертикали, с нормальными отступами */
.page-header {
  padding-top: 12px;
  padding-bottom: 12px;
}
.page-header__container {
  align-items: center;
}
img[alt="Phantasialand Onlineshop"] {
  width: 190px !important;
  height: auto !important;
  max-height: none;
  margin: 0 auto;
}

/* v20: иконки аккаунта и корзины в шапке: нормальный размер рамки, иконки по центру */
.page-header__right {
  display: flex;
  align-items: center;
  gap: 8px;
}
.page-header__right .page-header__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-width: 48px;
  height: 48px;
  padding: 0 10px;
  box-sizing: border-box;
}
.page-header__right .page-header__icon svg {
  display: block;
}
.cart-icon__badge {
  position: absolute;
  top: 2px;
  right: 2px;
}

/* v20: убираем лишнюю рамку вокруг группы иконок, иконки в одну строку */
.page-header__right,
.page-header__right .page-header__btn-group {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  height: auto !important;
  min-height: 0 !important;
}
.page-header__right {
  align-self: center;
}

/* v20: телефон: иконки без рамки, отступ под шапкой */
.page-header__right .page-header__icon,
.page-header__right .page-header__icon * {
  border-color: transparent !important;
}
@media (max-width: 767px) {
  .page-header {
    margin-bottom: 16px;
  }
  .page-header__right .page-header__icon {
    min-width: 34px;
    height: 40px;
    padding: 0 2px;
  }
  .page-header__right { gap: 2px; }
}

/* v20: телефон: шапка в одну строку — меню слева, логотип по центру, иконки справа */
@media (max-width: 767px) {
  .page-header__container {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between;
    align-items: center;
  }
  .page-header__menu-btn {
    flex: 0 0 auto;
  }
  .page-header__logo {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    text-align: center;
  }
  .page-header__logo img,
  img[alt="Phantasialand Onlineshop"] {
    width: 120px !important;
    margin: 0 auto;
  }
  .page-header__right {
    flex: 0 0 auto;
    width: auto !important;
  }
}

/* v20: телефон: отступы шапки меньше, надпись MENU скрыта (остаётся значок меню) */
@media (max-width: 767px) {
  .page-header__container {
    gap: 4px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .page-header__menu-btn > span:last-child {
    display: none;
  }
  .page-header__menu-btn {
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* v20: иконки аккаунта и корзины (страница билетов): без рамки, одного размера, тёмно-синие */
.page-header__shop-icons {
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: auto !important;
  width: auto !important;
  display: flex !important;
  align-items: center;
  gap: 18px;
}
.page-header__shop-icons svg {
  width: 26px !important;
  height: 26px !important;
  display: block;
}
.page-header__shop-icons svg path,
.page-header__shop-icons svg circle {
  stroke: #1d2251 !important;
}
.page-header__shop-icons svg path[fill]:not([fill="none"]) {
  fill: #1d2251 !important;
}

/* v20: количество билетов: кнопка «минус» видна (иконка была белой на белом) */
.amount-input button img {
  filter: brightness(0) saturate(100%) invert(10%) sepia(25%) saturate(4664%) hue-rotate(219deg) brightness(94%) contrast(93%) !important;
}
.amount-input button[disabled],
.amount-input [data-js-decrease-amount][disabled] {
  opacity: 0.5 !important;
  border-color: #1d2251 !important;
}
.amount-input button img {
  opacity: 1 !important;
}
/* минус рисуем полоской: исходная иконка белая и на белом фоне не видна */
.amount-input [data-js-decrease-amount] {
  position: relative;
}
.amount-input [data-js-decrease-amount] img {
  visibility: hidden;
}
.amount-input [data-js-decrease-amount]::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 13px;
  height: 2px;
  margin: -1px 0 0 -6.5px;
  background: #1d2251;
}

/* v20: кнопки «−» и «+» билетов одного размера, с золотой рамкой, знаки по центру */
.amount-input [data-js-decrease-amount],
.amount-input [data-js-increase-amount] {
  width: 74px;
  height: 47px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ae8800;
  border-radius: 6px;
  background: transparent;
  opacity: 1;
  box-sizing: border-box;
}
.amount-input [data-js-decrease-amount][disabled] {
  border-color: rgba(174, 136, 0, 0.45);
  opacity: 1 !important;
}
.amount-input [data-js-decrease-amount][disabled]::before {
  background: rgba(29, 34, 81, 0.45);
}
.amount-input [data-js-increase-amount] img {
  filter: brightness(0) saturate(100%) invert(10%) sepia(25%) saturate(4664%) hue-rotate(219deg) brightness(94%) contrast(93%);
}

/* v20: строка «− 0 +» в одну линию */
.amount-input {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 12px;
}
.amount-input__value {
  min-width: 24px;
  text-align: center;
  display: inline-block;
}
.amount-input [data-js-decrease-amount],
.amount-input [data-js-increase-amount] {
  flex: 0 0 74px;
  margin: 0;
}
.amount-input [data-js-increase-amount]::after,
.amount-input [data-js-increase-amount]::before {
  content: none !important;
}
.amount-input__value {
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  line-height: 47px;
  height: 47px;
  vertical-align: middle;
}
.amount-input {
  display: grid !important;
  grid-template-columns: 74px 40px 74px;
  column-gap: 12px;
  align-items: center;
  justify-items: center;
  width: auto;
  position: relative;
}
.amount-input [data-js-decrease-amount],
.amount-input [data-js-increase-amount] {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
}
.amount-input [data-js-decrease-amount] { grid-column: 1; grid-row: 1; }
.amount-input .amount-input__value { grid-column: 2; grid-row: 1; }
.amount-input [data-js-increase-amount] { grid-column: 3; grid-row: 1; }
.page-header__shop-icons::before,
.page-header__shop-icons::after,
.page-header__shop-icons a::before,
.page-header__shop-icons a::after {
  content: none !important;
  display: none !important;
}
.page-header__shop-icons {
  border-image: none !important;
  outline: none !important;
  -webkit-box-shadow: none !important;
  margin: 0 !important;
}
.page-header__shop-icons a {
  border: 0 !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Снежинка на датах Wintertraum: маленькая, полупрозрачная, в правом верхнем углу ячейки */
.calendar__entry .calendar__highlight[src*="snowflake-calendar"] {
  left: auto !important;
  right: 3px !important;
  top: 3px !important;
  width: clamp(1.05rem, 2.4vw, 1.5rem) !important;
  height: auto !important;
  opacity: 0.55 !important;
  border-radius: 0 !important;
  z-index: 1 !important;
  pointer-events: none;
}

/* Текст про отправку билетов на почту */
.ticket-mail-note {
  margin: 14px 0;
  font-size: 15px;
  line-height: 1.5;
  color: #1d2251;
}

/* Минус билетов: ровная полоска той же толщины, что и плюс (картинку и обводку не показываем) */
.amount-input [data-js-decrease-amount] img { display: none !important; }
.amount-input [data-js-decrease-amount]::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 14px !important;
  height: 2px !important;
  margin: -1px 0 0 -7px !important;
  background: #1d2251 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
.amount-input [data-js-decrease-amount][disabled]::before {
  background: rgba(29, 34, 81, 0.4) !important;
}
.amount-input [data-js-decrease-amount]::after { content: none !important; display: none !important; }

/* Минус билетов: фоновой картинкой самой кнопки (псевдоэлемент на этой теме не отображался) */
.amount-input [data-js-decrease-amount]::before,
.amount-input [data-js-decrease-amount]::after { content: none !important; display: none !important; }
.amount-input [data-js-decrease-amount] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='2'%3E%3Crect width='14' height='2' fill='%231d2251'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px 2px !important;
}
.amount-input [data-js-decrease-amount][disabled] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='2'%3E%3Crect width='14' height='2' fill='%231d225166'/%3E%3C/svg%3E") !important;
}

/* Список заказа на телефоне: строка во всю ширину, не сжимается в узкую колонку */
.cart__items .cart__item {
  display: block !important;
  width: 100%;
  box-sizing: border-box;
}
.cart__items .cart__item > * {
  max-width: 100%;
}
.cart__items .cart__item .cart__item-meta,
.cart__items .cart__item dl,
.cart__items .cart__item p {
  width: 100%;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}
