

input::placeholder {
  font-weight: bold;
  opacity: 0.5;
  color: #000;
}
    .btn-light,
    .choice-btn {
      background-color: #f8f9fa !important;
    }

    .btn-light.active {
      background: #00000040 !important;
    }

    .form-check-input[type=checkbox] {
      border: 1px solid gray;
    }

    .innerContentStep .form-check-input {
      margin-top: 7px
    }

    .innerContentStep .form-check {
      border: 1px solid #9f9f9f;
      padding: 10px;
      padding-left: 30px;
    }

    .innerContentStep .form-check:hover {
      background: #1987546b;
    }

    /* filter buttons (unchanged) */
    .btn-group.filters {
      display: flex;
      flex-wrap: wrap;
      gap: .5rem;
    }

    .btn-group.filters .btn {
      flex: 0 1 auto;
      white-space: nowrap;
      padding: 1rem !important;
      color: #fff !important;
    }

    .btn-group.filters .btn:not(.active):hover {
      background: rgba(13, 110, 253, .1);
    }

    .btn-group.filters .btn.active {
      background: #f5bf4d !important;
      border-color: #f5bf4d !important;
    }

    @media(max-width:768px) {
      .btn-group.filters {
        display: block;
        overflow-x: auto;
        padding-bottom: .5rem;
        margin: 0 -.5rem;
      }

      .btn-group.filters .btn {
        flex: none;
        margin: 0 .5rem;
      }

      #cartClose {
        align-self: flex-start !important;
        margin-left: 16px !important;
      }

      #cartList,
      .innerContentStep {
        padding-left: 14px !important;
        overflow-y: scroll;
      }

      #wizardHeader {
        padding-top: 0;
      }

      #offers {
        justify-content: center !important;
      }
    }

    @media(max-width:576px) {
      .btn-group.filters .btn {
        flex: 1 1 100%;
        text-align: center;
      }

      h1.text-left {
        font-size: 2.5rem;
        margin: 1.5rem 0;
        text-align: center;
      }
    }

    /* anime.js drawer */
    #cartOverlay {
      position: fixed;
      inset: 0;
      background: rgba(22, 22, 22, .65);
      backdrop-filter: blur(4px);
      opacity: 0;
      visibility: hidden;
      transition: opacity .35s ease;
      z-index: 1040;
    }

    #cartPanel {
      position: fixed;
      top: 0;
      right: 0;
      width: 420px;
      max-width: 100%;
      height: 100dvh;
      background: #000;
      border-radius: 8px 0 0 8px;
      box-shadow: -6px 0 18px rgba(0, 0, 0, .2);
      transform: translateX(110%) scale(.9);
      transform-origin: 100% 0;
      z-index: 9999999998;
      display: flex;
      flex-direction: column;
    }

    body.cart-open {
      overflow: hidden;
    }

    #cartList li {
      list-style: none !important;
    }

    #cartList {
      padding-left: 14px !important;
    }

    /* Step-wizard header */
    #wizardHeader {
      color: #fff;
      display: flex;
      justify-content: space-around;
      align-items: center;
      padding: .75rem 1rem;
      font-size: .95rem;
      gap: 8px;
    }

    #wizardHeader .step {
      flex: 1;
      text-align: left;
      cursor: pointer;
      position: relative;
      min-height: 40px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      padding: 5px;
      border: 1px solid #ffffff47;
    }

    #wizardHeader .step:not(:last-child)::after {
      content: '';
      position: absolute;
      top: 50%;
      right: 0;
      width: 1px;
      height: 1.2rem;
      background: #555;
      transform: translateY(-50%);
    }

    #wizardHeader .active {
      color: #f5bf4d;
      background: #f5bf4d3d;
      border: 1px solid #f5bf4d;
      font-weight: bold;
    }

    #wizardHeader .inactive {
      color: #999;
    }

    #wizardHeader:hover .inactive {
      color: #aaa;
    }

    /* hover hint */
    /* Pin footer */
    #cartPanel footer {
    margin-top: auto;
    background: #111;
    /* max-height: 500px; */
    padding-bottom: 120px !important;
    height: fit-content;
    }

    #cartPanel footer button {
      margin-bottom: .5rem;
    }

    .qty-down,
    .qty-up {
      color: #fff;
    }

    #cartClear {
      color: #fff;
      opacity: 0.5;
      transition: opacity 0.3s ease;
    }

    #cartClear:hover {
      opacity: 1;
    }

    .remove svg {
      color: #fe8a7e;
    }

    .btn-primary-outlined {
      background: transparent !important;
      border: 1px solid #000 !important;
      color: #000 !important;
    }

    .btn-primary {
      font-size: 1rem !important;
    }

    #artistModal #modalBody {
      max-height: 400px !important;
      overflow-y: scroll;
      padding-right: 25px;
    }

    #modalContent {
      position: relative;
    }

    .toastify {
      font-size: 1.1rem;
      font-weight: bold;
    }

    [id^="row-container-"],
    [id^="seat-container-"] {
      width: 100%;
    }

    [id^="row-container-"] select,
    [id^="seat-container-"] select {
      padding: 1rem;
      width: 100%;
      max-width: 100% !important;
    }

    .add-to-cart {
      width: 100%;
    }

    .form-check-label {
      margin: 0;
      padding: 5px;
      text-align: left;
    }

    .form-check-input {
      width: 15px !important;
      height: 15px !important;
    }

    .btn-outline-secondary {
      color: #fff;
      border: 1px solid #fff;
      min-height: 48px;
      border-radius: 5px;
    }

    .qty-in {
      border-radius: 10px !important
    }
 
    /* Ukrywa domyślny input[type=radio] */
    .custom-radio-input {
      display: none;
    }

    /* Styl etykiety tak, by wyglądała jak przycisk na 100% szerokości kontenera w flexie */
    .custom-radio-label {
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(255, 255, 255, 0.7);
      border-radius: 0.25rem;
      padding: 0.5rem;
      cursor: pointer;
    }

    /* Kiedy radio jest zaznaczone, można np. zmieniać tło lub obramowanie */
    .custom-radio-input:checked+.custom-radio-label {
      background-color: rgba(255, 255, 255, 0.1);
      border-color: #ffffff;
    }

    .custom-radio-label i {
      font-size: 1.2rem;
      margin-right: 0.5rem;
    }

    .w-50 {
      width: 50%;
    }

    /* Standard syntax */
    input::placeholder {
      opacity: 0.2 !important;
      color: #000;
    }

    /* For best cross‐browser coverage: */
    input::-webkit-input-placeholder {
      opacity: 0.2 !important;
      color: #000 !important;
    }

    input:-ms-input-placeholder {
      opacity: 0.2 !important;
      color: #000 !important;
    }

    input::-ms-input-placeholder {
      opacity: 0.2 !important;
      color: #000 !important;
    }

    /* Full-screen glassmorphic overlay */
    #pageLoader {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.87);
      /* very light translucent white */
      backdrop-filter: blur(12px) saturate(180%);
      /* blur + slight color pop */
      -webkit-backdrop-filter: blur(12px) saturate(180%);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 99999;
    }

    /* Inner box */
    .loader-inner {
      text-align: center;
      color: #fff;
      font-family: sans-serif;
    }

    /* Progress bar container */
    #loader-bar {
      width: 300px;
      height: 8px;
      background: rgba(255, 255, 255, 0.2);
      border-radius: 4px;
      overflow: hidden;
      margin-bottom: 0.75rem;
    }

    /* Fill element */
    #loader-fill {
      width: 0%;
      height: 100%;
      background: #f5bf4d;
      transition: width 0.2s ease-out;
    }

    /* Percentage text */
    #loader-text {
      font-size: 0.9rem;
      letter-spacing: 0.5px;
    }

    .seat-map-container .map-content {
      position: relative;
      overflow: hidden;
      touch-action: none;
      /* disable default touch scrolling */
      cursor: grab;
      width: 100%;
      height: 100%;
      padding-bottom: 50px;
    }

    .seat-map-container .map-content img {
      transform-origin: 0 0;
      /* top-left origin for easier math */
      will-change: transform;
      user-select: none;
      -webkit-user-drag: none;
    }

    .sticky-details-btn {
      position: fixed;
      top: 10px;
      /* 10 px from top */
      left: 50%;
      /* center align */
      transform: translateX(-50%);
      width: 70%;
      /* 90 % viewport width */
      z-index: 1050;
      /* above overlays / seat-map */
      border-radius: 0;
      /* keep straight edges; adjust if desired */
      background: #f5bf4d !important;
      border: none !important;
    }
