.card-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, 300px);
    gap: 20px;
    align-items: center;
    justify-content: space-around;
    align-content: space-around;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
}

.image-card {
    display: grid;
    grid-template-rows: auto;
    align-items: center;
    width: 300px;
    height: 350px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.card-image {
    height: 270px;
    width: 300px;
    display: grid;
    grid-template-rows: auto;
    align-items: center;
    justify-content: center;
    color: #888;
}

.card-image img {
    max-width: 100%;
    max-height: 100%;
    /* object-fit: cover; */
    object-fit: contain; /* ✅ keeps full image visible inside box */
}

.image-card-content {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 20px;
    height: 80px;
    width: 300px;
    border-radius: 0px 0px 10px 10px;
    box-sizing: border-box;
    background-color: #007BFF;
    border: 1px solid #ccc;
    align-items: center;
    color: white;
    justify-content: space-between;
}

.image-card-content .desc {
    justify-self: start;
}

.image-card-content .plus {
    width: 60px;
    height: 60px;
    margin-left: 8px;
    font-weight: bold;
    font-size: 40px;
    border: 4px solid white;
    border-radius: 50%;
    order: 0;
    display: flex;
    align-items: center;   /* vertical center */
    justify-content: center; /* horizontal center */
    cursor: pointer;
}

.image-card-content .plus:hover { 
    color: #007BFF;
    background-color: white;
}

input[type="radio"] {
    accent-color: red;
    height: 12px;
}

.reason {
    font-family: sans-serif;
    margin-right: 10px;
    border-radius: 4px;
    resize: none;
    width: 100%;
}

.radio-group {
  display: flex;
  flex-direction: column; /* stack items vertically */
  align-items: flex-start; /* align them to the left */
}

.radio-group label {
  display: inline-flex;
  align-items: center;
  gap: 8px; /* space between radio button and text */
  cursor: pointer;
  font-weight: normal;
  margin-bottom: 1px;
  margin-left: 2px;
}

.zoomable-image {
  cursor: zoom-in;
  transition: transform 0.3s ease;
}

.image-zoom-overlay {
  position: fixed;
  inset: 0;
  background: #007BFF;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.image-zoom-overlay img {
  max-width: 100vw;
  max-height: 100vh;
  object-fit: contain;
  cursor: zoom-out;
}
