Jump to content

Template:NavCard/styles.css: Difference between revisions

From LumiWiki
No edit summary
No edit summary
Line 4: Line 4:
  * MediaWiki 1.46 / Vector 2022
  * MediaWiki 1.46 / Vector 2022
  *
  *
  * Modern dark gaming-wiki styling.
  * Full-card clickable navigation.
  * Designed for MediaWiki TemplateStyles.
  * Designed for MediaWiki TemplateStyles.
  */
  */
Line 13: Line 13:


.lumi-navcard {
.lumi-navcard {
    position: relative;
     display: flex;
     display: flex;
     flex-direction: column;
     flex-direction: column;
Line 59: Line 61:
         #202834
         #202834
     );
     );
}
.lumi-navcard-image a {
    display: block;
    width: 100%;
    height: 100%;
}
}


Line 104: Line 100:


.lumi-navcard-title {
.lumi-navcard-title {
    color: #f5f7fa;
     font-size: 1.12em;
     font-size: 1.12em;
     font-weight: 700;
     font-weight: 700;
     letter-spacing: -0.02em;
     letter-spacing: -0.02em;
     line-height: 1.3;
     line-height: 1.3;
}
.lumi-navcard-title a {
    color: #f5f7fa;
    text-decoration: none;
}
.lumi-navcard-title a:hover {
    color: #55c8ff;
    text-decoration: none;
}
}


Line 131: Line 118:


/* ==========================================
/* ==========================================
   7. BOTTOM NAVIGATION LINK
   7. BOTTOM NAVIGATION LABEL
   ========================================== */
   ========================================== */


Line 138: Line 125:
     padding-top: 12px;
     padding-top: 12px;


    color: #55c8ff;
     font-size: 0.8em;
     font-size: 0.8em;
     font-weight: 700;
     font-weight: 700;
Line 143: Line 131:
}
}


.lumi-navcard-link a {
/* ==========================================
     color: #55c8ff;
  8. FULL-CARD CLICKABLE OVERLAY
  ========================================== */
 
.lumi-navcard-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
 
    z-index: 2;
}
 
.lumi-navcard-overlay a {
     display: block;
    width: 100%;
    height: 100%;
 
     text-decoration: none;
     text-decoration: none;
    cursor: pointer;
}
}


.lumi-navcard-link a:hover {
/*
     color: #a6e5ff;
* Visually hide the link label while keeping
     text-decoration: underline;
* it available to screen readers.
*/
 
.lumi-navcard-overlay-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
     clip: rect(0, 0, 0, 0);
     white-space: nowrap;
}
}


/* ==========================================
/* ==========================================
   8. KEYBOARD NAVIGATION
   9. KEYBOARD NAVIGATION
   ========================================== */
   ========================================== */


.lumi-navcard a:focus {
.lumi-navcard-overlay a:focus {
     outline: 2px solid #55c8ff;
     outline: 2px solid #55c8ff;
     outline-offset: 2px;
     outline-offset: -3px;
    border-radius: 12px;
}
}


/* ==========================================
/* ==========================================
   9. REDUCED MOTION ACCESSIBILITY
   10. REDUCED MOTION ACCESSIBILITY
   ========================================== */
   ========================================== */



Revision as of 23:26, 13 November 2026

/*
 * LumiWiki Navigation Cards
 * MediaWiki 1.46 / Vector 2022
 *
 * Full-card clickable navigation.
 * Designed for MediaWiki TemplateStyles.
 */

/* ==========================================
   1. MAIN CARD CONTAINER
   ========================================== */

.lumi-navcard {
    position: relative;

    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;

    background: #202834;
    color: #f5f7fa;

    border: 1px solid #394657;
    border-radius: 12px;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

/* ==========================================
   2. HOVER INTERACTION
   ========================================== */

.lumi-navcard:hover {
    border-color: #55c8ff;

    box-shadow:
        0 8px 24px rgba(0, 0, 0, 0.25),
        0 0 14px rgba(85, 200, 255, 0.15);

    transform: translateY(-4px);
}

/* ==========================================
   3. CARD IMAGE
   ========================================== */

.lumi-navcard-image {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;

    background: linear-gradient(
        to bottom,
        #303b4b,
        #202834
    );
}

.lumi-navcard-image img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.35s ease,
        filter 0.35s ease;
}

/* Image zoom and brightness */

.lumi-navcard:hover .lumi-navcard-image img {
    transform: scale(1.045);
    filter: brightness(1.08);
}

/* ==========================================
   4. CARD CONTENT
   ========================================== */

.lumi-navcard-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;

    padding: 18px;
    gap: 9px;
}

/* ==========================================
   5. CARD TITLE
   ========================================== */

.lumi-navcard-title {
    color: #f5f7fa;
    font-size: 1.12em;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
}

/* ==========================================
   6. CARD DESCRIPTION
   ========================================== */

.lumi-navcard-description {
    color: #b9c5d4;
    font-size: 0.9em;
    line-height: 1.55;
}

/* ==========================================
   7. BOTTOM NAVIGATION LABEL
   ========================================== */

.lumi-navcard-link {
    margin-top: auto;
    padding-top: 12px;

    color: #55c8ff;
    font-size: 0.8em;
    font-weight: 700;
    letter-spacing: 0.025em;
}

/* ==========================================
   8. FULL-CARD CLICKABLE OVERLAY
   ========================================== */

.lumi-navcard-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    z-index: 2;
}

.lumi-navcard-overlay a {
    display: block;
    width: 100%;
    height: 100%;

    text-decoration: none;
    cursor: pointer;
}

/*
 * Visually hide the link label while keeping
 * it available to screen readers.
 */

.lumi-navcard-overlay-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

/* ==========================================
   9. KEYBOARD NAVIGATION
   ========================================== */

.lumi-navcard-overlay a:focus {
    outline: 2px solid #55c8ff;
    outline-offset: -3px;
    border-radius: 12px;
}

/* ==========================================
   10. REDUCED MOTION ACCESSIBILITY
   ========================================== */

@media (prefers-reduced-motion: reduce) {

    .lumi-navcard,
    .lumi-navcard-image img {
        transition: none;
    }

    .lumi-navcard:hover {
        transform: none;
    }

    .lumi-navcard:hover .lumi-navcard-image img {
        transform: none;
        filter: none;
    }
}