/* ===== Mobile icon fit (no desktop changes) ===== */

/* Tablet & small laptops */
@media (max-width: 900px){
  /* give the icon room to breathe inside the card */
  .icon-3d{ padding: clamp(8px, 3vw, 16px); }

  /* scale icons relative to the card width */
  .icon-3d svg,
  .icon-3d img,
  .card > svg {           /* fallback if icon-3d wrapper is missing */
    width: clamp(96px, 50vw, 180px);
    max-height: 72%;
    height: auto;
  }

  /* keep labels tidy on smaller tiles */
  .label{
    font-size: 0.95rem;
    padding: 6px 10px;
  }
}

/* Phones */
@media (max-width: 600px){
  /* slightly larger icons on phones to "fill" the tile */
  .icon-3d svg,
  .icon-3d img,
  .card > svg {
    width: clamp(110px, 70vw, 240px);
    max-height: 78%;
    height: auto;
  }

  /* optional: tighten vertical footprint a bit */
  .label{
    font-size: 0.92rem;
    padding: 6px 10px;
  }
}
