
#stampEventModal .modal-dialog {
    max-width: 520px;
    width: 100%;
  }
  #stampEventModal .modal-body {
    max-height: calc(100vh - 4rem);
  }
  #stampEventModal .theme-box {
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center top;
  }
  #stampEventModal .theme-box-header {
    background: transparent;
  }
  #stampEventModal .theme-box-body {
    background: transparent !important;
    min-height: 75vh;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
  }
  .stamp-event-calendar {
    position: relative;
    height: 650px !important;
    min-height: 120px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 85%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .stamp-event-logo-spacer {
    flex: 0 0 auto;
    width: 100%;
  }
  .stamp-grid {
    flex: 1 1 0;
    min-height: 0;
    padding: 3.6px 6px;
    gap: 2.4px;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    display: grid;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    align-content: start;
  }
  .stamp-cell {
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, 0.95);
    background-color: transparent;
    border-radius: 1.2px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
  }
  .stamp-cell-icon {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
  }
  .stamp-event-footer {
    flex: 0 0 auto;
    font-size: 6.6px;
    color: #fff;
    text-align: center;
    padding: 3.6px 4.8px;
  }
  .btn-stamp-event {
    border: 1px solid #c9a227;
    color: #c9a227;
    background: transparent;
    font-size: 0.6em;
  }
  .btn-stamp-event:hover {
    background: rgba(201, 162, 39, 0.2);
    color: #c9a227;
    border-color: #c9a227;
  }
  @media (max-width: 767px) {
    #stampEventModal {
      margin: 0 !important;
    }
    #stampEventModal .modal-dialog {
      margin: 0.25rem auto;
      max-width: calc(100vw - 0.5rem);
    }
    #stampEventModal .modal-body {
      max-height: calc(100vh - 2.5rem);
      padding: 0;
    }
    #stampEventModal .theme-box,
    #stampEventModal .theme-box-header {
      padding: 0.25rem;
    }
    #stampEventModal .theme-box {
      background-size: 95%;
    }
    #stampEventModal .theme-box-body {
      padding: 0.25rem;
      min-height: 65vh;
    }
    .stamp-event-calendar {
      width: 82%;
      height: 500px !important;
      min-height: 100px;
    }
    #stampEventLogoSpacer {
      flex-basis: 40% !important;
    }
    .stamp-grid {
      padding: 2px 4px;
      gap: 2px;
      max-width: 100%;
    }
    .stamp-event-footer {
      font-size: 10px;
      padding: 4px 6px;
    }
    .btn-stamp-event {
      font-size: 0.85em;
      min-height: 44px;
      padding: 0.4rem 0.75rem;
    }
  }
  @media (max-width: 480px) {
    #stampEventModal {
      margin: 0 !important;
    }
    #stampEventModal .modal-dialog {
      margin: 0.15rem auto;
      max-width: calc(100vw - 0.3rem);
    }
    #stampEventModal .modal-body {
      padding: 0;
    }
    #stampEventModal .theme-box,
    #stampEventModal .theme-box-header {
      padding: 0.15rem;
    }
    #stampEventModal .theme-box {
      background-size: 100%;
    }
    #stampEventModal .theme-box-body {
      padding: 0.15rem;
      min-height: 65vh;
    }
    .stamp-event-calendar {
      width: 78%;
      height: 500px !important;
    }
    #stampEventLogoSpacer {
      flex-basis: 40% !important;
    }
    .stamp-grid {
      padding: 2px 3px;
      gap: 1.5px;
      max-width: 100%;
    }
    .stamp-event-footer {
      font-size: 9px;
      padding: 3px 4px;
    }
    .btn-stamp-event {
      padding: 0.35rem 0.6rem;
    }
  }