.choice input[type='checkbox'],
.choice input[type='radio'] {
  display: none !important;
}
.choice input[type='checkbox'] ~ label,
.choice input[type='radio'] ~ label {
  background: rgba(var(--black), .1);
  cursor: pointer;
  display: block;
  margin: .2em;
  padding: .5em;
  font-weight: 700;
}
.choice input[type='checkbox']:checked + label,
.choice input[type='radio']:checked + label {
  background: rgba(var(--pink), 1);
  color: rgba(var(--white), 1);
}

.realcheck {
  display:flex;
  align-items:center;
  gap:.5rem;
}
.realcheck input[type="checkbox"]{
  width: 18px;
  height: 18px;
}



/* ===============================
   DISABLED BUTTONS
   =============================== */

button:disabled,
input[type="submit"]:disabled {
  opacity: .45;
  cursor: not-allowed;
  filter: grayscale(40%);
}

/* ===============================
   INLINE ADMIN FORM ROWS
   =============================== */

.admin-inline-form {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: flex-end;
}

/* ===============================
   SMALL LABELS (Filter etc.)
   =============================== */

.ssa.label {
  display: inline-block;
  margin-bottom: .25rem;
}

/* Upload Dropzone */
.dropzone {
  display: block;
  padding: 1.5rem;
  border: 2px dashed rgba(0,0,0,.25);
  border-radius: .75rem;
  text-align: center;
  cursor: pointer;
  transition: background .2s, border-color .2s;
}

.dropzone:hover,
.dropzone.dragover {
  background: rgba(0,0,0,.03);
  border-color: rgba(0,0,0,.45);
}

.dropzone input[type="file"] {
  display: none;
}


/* Media grid */
.media_grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1rem;
}

.media_item{
  border-radius: 18px;
  padding: .75rem;
  background: rgba(var(--white),1);
  border: 2px solid rgba(var(--black),.10);
}

.media_thumbwrap{
  position: relative;
  border-radius: 14px;
  overflow:hidden;
  border: 2px solid rgba(var(--black),.10);
  background: transparent;
}

.media_thumb{
  width: 100%;
  height: 140px;
  object-fit: contain;
  display:block;
  background: transparent;
}

.media_badge{
  position:absolute;
  top:.5rem;
  left:.5rem;
  padding:.25rem .5rem;
  border-radius: 999px;
  font-weight: 800;
  background: rgba(var(--yellow),1);
  border: 2px solid rgba(var(--black),.12);
}

.media_actions{
  margin-top:.75rem;
}

.media_actions .card_action{
  padding: .45rem .6rem;
}

.media_meta{
  margin-top:.5rem;
  font-weight:700;
  opacity:.75;
  font-size:.9em;
}
