:root {
  --gcard-portrait: 46%;
  --gcard-port-descr: 30vw;
  --gcard-landscape: 23%;
  --gcard-land-descr: 15vw;
}
.overlay-filler {
  display: grid;
  grid-template-rows: 2fr 3fr;
  height: 100%;
}
.color-display {
  display: flex;
  align-items: center;
  gap: 0.1rem;
  /* height: calc(20px + 0.1rem); */
}
.color-display .color-show {
  /* padding: 0.1rem; */
  border: 1px solid black;
  padding: 0.2rem;
  background-color: rgba(150, 150, 150, 1);
  border-radius: 50%;
  cursor: pointer;
}

.color-display .color-show:hover {
  background-color: rgba(100, 100, 100, 1);
  border: 1px solid rgb(87, 87, 87);
}
.color-display .color-show img {
  border-radius: 50%;
  height: 1.2rem;
  width: 1.2rem;
}
img {
  image-rendering: smooth;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: auto;
}
.composition {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  /* justify-content: space-around; */
  padding-left: 2rem;
}
.composition .hidden {
  /* position: absolute; */
  top: 0;
  left: 0;

  height: 0px;
  overflow: hidden;
}
.composition .hidden p {
  margin-block-start: 0;
  margin-block-end: 0;
}
.hidden.active {
  height: auto;
}

/* PRODUCT DIsSPLAY -----------------------------------------------------------------------------------------------------------------------------*/
.imagedescr {
  max-width: 100%;
}
.imagedescr p {
  margin-block-start: 0.2rem;
  margin-block-end: 0.5rem;
}
.colordescr img {
  border-radius: 50%;
  height: 0.7rem;
  width: 0.7rem;
  padding: 0.1rem;
  border: 1px solid var(--clr-light-grey);
}
.colordescr p {
  color: var(--clr-faded-text-lbg);
  font-size: 0.8rem;
}
.style-display {
  width: var(--gcard-landscape);
  max-width: var(--gcard-landscape);
  overflow: hidden;
  position: relative;
  font-size: 0.9rem;
  display: flex;
  flex-direction: column;
}

.imagedescr-text {
  display: block;
  max-width: 60%; /* or 65%, tune as you like — percentage of .frow's resolved width */
  min-width: 0; /* removes the nowrap-driven automatic min-size floor */
  flex-basis: 0; /* optional but recommended — stops flex-basis:auto from
                          using content size in the initial layout pass at all */
}
@media (orientation: portrait) {
  .style-display {
    width: var(--gcard-portrait);
    max-width: var(--gcard-portrait);
    font-size: 1rem;
  }
}

.hovereff a {
  color: #ffffff;
  text-decoration: none;
  text-transform: cau;
  font-size: 1rem;
}

.hovereff img {
  display: block;
  position: relative;
  -webkit-transition: all 1s;
  transition: all 1s;
  width: 100%;
}

.hovereff {
  height: 100%;
  overflow: hidden;
  position: relative;
  text-align: center;
  border-radius: 0px;
}
.hovereff:hover img {
  transform: scale(110%);
}
