Jump to content

MediaWiki:Common.css: Difference between revisions

No edit summary
No edit summary
Line 41: Line 41:
/* Category Tiles Grid */
/* Category Tiles Grid */
.category-tiles-container {
.category-tiles-container {
  --tile-min-width: 200px;
  --tile-image-size: 120px;
  --tile-font-size: 1.1em;
  --tile-gap: 1rem;
 
   display: grid;
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   grid-template-columns: repeat(auto-fit, minmax(var(--tile-min-width), 1fr));
   gap: 1rem;
   gap: var(--tile-gap);
   margin: 0 auto;
   margin: 0 auto;
   max-width: 1200px;
   max-width: 1200px;
}
}


/* Size Variants - Override CSS Variables */
.category-tiles-size-small {
  --tile-min-width: 150px;
  --tile-image-size: 80px;
  --tile-font-size: 0.9em;
}
.category-tiles-size-large {
  --tile-min-width: 280px;
  --tile-image-size: 180px;
  --tile-font-size: 1.3em;
}
/* Tile Styling */
.category-tile {
.category-tile {
  position: relative;
   background: var(--background-color-neutral-subtle);
   background: var(--background-color-neutral-subtle);
   border-radius: 8px;
   border-radius: 8px;
   border: 1px solid var(--border-color-subtle);
   border: 1px solid var(--border-color-subtle);
   overflow: hidden;
   overflow: hidden;
  transition: all 0.2s ease;
}
}


.category-tile:hover {
.category-tile:hover {
   background: var(--background-color-neutral);
   background: var(--background-color-neutral);
   border: 1px solid var(--border-color-base);
   border-color: var(--border-color-base);
  transform: translateY(-2px);
}
}


.category-tile a {
.category-tile a {
  display: block;
   width: 100%;
   width: 100%;
   height: 100%;
   height: 100%;
   display: inline-block;
   color: var(--color-base);
  text-decoration: none;
}
}


.tile-image {
.tile-image {
   text-align: center;
   text-align: center;
  padding: 1rem;
}
.tile-image img {
  width: var(--tile-image-size);
  height: var(--tile-image-size);
  object-fit: cover;
}
}


.tile-title {  
.tile-title {
   text-align: center;
   text-align: center;
   font-weight: bold;
   font-weight: bold;
   font-size: 1.2em;
   font-size: var(--tile-font-size);
  padding: 0.75rem;
  border-top: 1px solid var(--border-color-subtle);
}
}


.tile-title a,
/* Responsive - Mobile First */
.tile-title a:hover {
@media (max-width: 600px) {
   padding: 0.75rem 0;
   .category-tiles-container {
   color: var(--color-base);
    --tile-gap: 0.75rem;
   text-decoration: none;
   }
 
  .category-tiles-size-small {
    --tile-min-width: 120px;
    --tile-image-size: 60px;
   }
 
  .category-tiles-size-large {
    --tile-min-width: 180px;
    --tile-image-size: 120px;
  }
}
}


/* Responsive adjustments */
@media (max-width: 400px) {
@media (max-width: 768px) {
   .category-tiles-container {
   .category-tiles-container {
     grid-template-columns: repeat(2, 1fr);
     grid-template-columns: repeat(2, 1fr);
  }
    --tile-gap: 0.5rem;
 
  .tile-image {
    height: 140px;
  }
 
  .tile-image img {
    height: 140px;
    width: 140px;
   }
   }
}
}