/* =========================================================
   SoftPhoto – Unified Photo Card Component
   Canonical photo card for Albums, Forums, Events, Galleries
   ========================================================= */


/* ---------------------------------------------------------
   Photo grid wrapper
   --------------------------------------------------------- */

.softphoto-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 10px;
}


/* ---------------------------------------------------------
   Photo card
   --------------------------------------------------------- */




/* subtle lift to match SoftKards UX */

.softphoto:hover {
  transform: translateY(-2px);
}


/* ---------------------------------------------------------
   Photo image
   --------------------------------------------------------- */

.softphoto-img,
.softphoto img {
  width: 100%;
  height: 190px;
  object-fit: contain;
  background-color: var(--photo-matte, #e6e0cf);
  border-radius: 8px;
  display: block;
  cursor: zoom-in;
}


/* subtle matte texture */

.softphoto-img {
  background-image: linear-gradient(
    rgba(0,0,0,0.03),
    rgba(0,0,0,0.03)
  );
}


/* ---------------------------------------------------------
   Mobile scaling fixes
   (original PATCH D.2 cleaned up)
   --------------------------------------------------------- */

@media screen and (max-width: 900px) {

  .softphoto {
    overflow: hidden;
    max-width: 100%;
  }

  .softphoto img,
  .softphoto-img,
  .softphoto .wppa-container img,
  .softphoto .thumb-img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    max-width: 100%;
  }

  /* override WPPA fixed height containers */

  .wppa-container,
  .wppa-container-wrapper {
    height: auto !important;
    width: 100% !important;
  }

}


/* ---------------------------------------------------------
   SoftFrame Split Layout compatibility
   (moved from style.css)
   --------------------------------------------------------- */

.softframe .softsplit {
  display: grid;
  grid-template-columns: 65% 35%;
  gap: 24px;
  align-items: start;
}

.softframe .softsplit > div {
  background: transparent;
}

.softframe .softsplit .softphoto {
  justify-self: center;
}

@media (max-width: 900px) {

  .softframe .softsplit {
    grid-template-columns: 1fr;
    gap: 18px;
    text-align: center;
  }

  .softframe .softsplit .softphoto {
    margin: 0 auto;
  }

}

/* outer card */

.softphoto {
  background: #fff;
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  transition: transform .15s ease;
}

.softphoto:hover {
  transform: translateY(-2px);
}


/* inner matte frame */

.softphoto-matte {
  background: var(--photo-matte, #e6e0cf);
  border-radius: 10px;
  padding: 12px;
}


/* image */

.softphoto-img {
  width: 100%;
  height: 190px;
  object-fit: contain;
  border-radius: 8px;
  display: block;
  cursor: zoom-in;
}

.softphoto-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-top: 18px;
}



.softfoto-card {
background: #fffdf6 !important;
border-radius: 12px !important;
box-shadow: 0 4px 10px rgba(0,0,0,0.08) !important;
padding: 10px 10px 14px !important;
display: flex !important;
flex-direction: column !important;
height: 100% !important;
}

.softfoto-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 18px;
  align-items: start;
}

.softfoto-img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: var(--soft-cream);
  border-radius: 8px;
}

.softfoto-img {
  width: 100%;
  height: 190px;
  object-fit: contain;              /* SHOW FULL IMAGE */
  background-color: var(--photo-matte, #e6e0cf);
  border-radius: 8px;
  margin-bottom: 8px;
  display: block;
}

.softfoto-card {
  background: #fffdf6;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  padding: 10px 10px 14px;
  display: flex;
  flex-direction: column;
  height: 100%;
}