Jump to content

Template:OOOInfoBox/styles.css: Difference between revisions

From Out of Ore Wiki
No edit summary
mNo edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
/* OOO infobox TemplateStyles + night-mode friendly
/* =========================================================
   - Uses skin tokens with fallbacks
  OOO INFOBOX Clean Industrial Style
  - Sets color whenever background is set
   Matches OOO wiki design system
   - Keeps border colors as literals to avoid TemplateStyles color warnings
   ========================================================= */
*/


/* Base box */
.ooo-infobox {
.ooo-infobox {
   width: 340px;
   width: 300px;
   border-width: 1px;
   border-collapse: collapse;
  border-style: solid;
   font-size: 0.92rem;
  border-color: #a2a9b1; /* literal to avoid linter warning */
 
  border-collapse: separate;
   background: transparent;
   border-spacing: 0;
   color: inherit;
   background: var(--background-color-base, #ffffff);
 
   color: var(--color-base, #202122);
   float: right;
  font-size: 90%;
   clear: right;
   box-shadow: 0 2px 10px rgba(0,0,0,.08);
   margin: 0 0 1em 1em;
   border-radius: 12px;
   overflow: hidden;
}
}


/* Links (optional; remove to let skin handle them) */
/* ---------------------------------------------------------
.ooo-infobox a { color: var(--color-progressive, #36c); }
  TITLE
.ooo-infobox a:hover { color: var(--color-progressive--hover, #447ff5); }
--------------------------------------------------------- */


/* Title bar */
.ooo-infobox__title {
.ooo-infobox .ooo-infobox__title {
   text-align: center;
   text-align: center;
   font-weight: 800;
   font-weight: 800;
   font-size: 112%;
   font-size: 1.1rem;
   letter-spacing: .2px;
   letter-spacing: 0.3px;
   background: var(--background-color-neutral, #f5f5f5);
 
   color: #cea141; /* NMC accent */
   padding-bottom: 10px;
   padding: 12px 10px;
   margin-bottom: 8px;
  border-top: 1px solid #a2a9b1;    /* literal */
 
   border-bottom: 1px solid #a2a9b1; /* literal */
   color: var(--ooo-accent);
 
   border-bottom: 2px solid var(--ooo-border);
}
}


/* Image region */
/* ---------------------------------------------------------
.ooo-infobox .ooo-infobox__image {
  IMAGE
--------------------------------------------------------- */
 
.ooo-infobox__image {
   text-align: center;
   text-align: center;
   padding: 12px;
   padding: 8px 0 12px 0;
  background: var(--background-color-neutral-subtle, #f8f9fa);
  color: var(--color-base, #202122);
}
}
.ooo-infobox .ooo-infobox__image img {
 
.ooo-infobox__image img {
   max-width: 100%;
   max-width: 100%;
   height: auto;
   height: auto;
}
}


/* Caption */
/* ---------------------------------------------------------
.ooo-infobox .ooo-infobox__caption {
  CAPTION
--------------------------------------------------------- */
 
.ooo-infobox__caption {
   text-align: center;
   text-align: center;
   font-style: italic;
   font-size: 0.85rem;
   color: var(--color-subtle, #54595d);
   margin-bottom: 12px;
  padding: 8px 12px 12px;
   opacity: 0.8;
   line-height: 1.35;
  background: var(--background-color-neutral-subtle, #f8f9fa);
  border-bottom: 1px solid #a2a9b1; /* literal */
}
}


/* Table rows/cells */
/* ---------------------------------------------------------
  TABLE CELLS
--------------------------------------------------------- */
 
.ooo-infobox th,
.ooo-infobox th,
.ooo-infobox td {
.ooo-infobox td {
   padding: 9px 12px;
   padding: 6px 4px;
   vertical-align: top;
   vertical-align: top;
}
}
.ooo-infobox th {
.ooo-infobox th {
   width: 46%;
   text-align: left;
   font-weight: 600;
   font-weight: 600;
   color: var(--color-emphasized, #101418);
   width: 48%;
  opacity: 0.9;
}
}


/* Zebra striping (set color alongside background) */
.ooo-infobox td {
.ooo-infobox tr:nth-child(even) td,
   text-align: right;
.ooo-infobox tr:nth-child(even) th {
   background: var(--background-color-neutral-subtle, #f8f9fa);
  color: var(--color-base, #202122);
}
}


/* Group headers */
/* ---------------------------------------------------------
  GROUP HEADERS
--------------------------------------------------------- */
 
.ooo-infobox__group th {
.ooo-infobox__group th {
   text-align: center;
   padding-top: 14px;
  padding-bottom: 4px;
 
  font-size: 0.85rem;
   font-weight: 800;
   font-weight: 800;
   padding: 10px 12px;
   letter-spacing: 0.3px;
   background: var(--background-color-neutral, #eaecf0);
   text-transform: uppercase;
   color: var(--color-base, #202122);
 
  border-top: 1px solid #a2a9b1;    /* literal */
   color: var(--ooo-accent);
  border-bottom: 1px solid #a2a9b1; /* literal */
}


/* Helper text */
  border-bottom: 1px solid var(--ooo-border);
.ooo-infobox .ooo-infobox__muted {
  color: var(--color-subtle, #54595d);
}
}


/* --------- Night mode: forced (explicit user toggle) ---------
/* ---------------------------------------------------------
   Wrapped in @media screen to avoid affecting print styles.
   MUTED TEXT
*/
--------------------------------------------------------- */
@media screen {
  html.skin-theme-clientpref-night .ooo-infobox {
    border-color: #3a3a3a; /* literals for borders */
    background: var(--background-color-base, #1b1b1d);
    color: var(--color-base, #eaecf0);
  }
  html.skin-theme-clientpref-night .ooo-infobox a {
    color: var(--color-progressive, #6aa9ff);
  }
  html.skin-theme-clientpref-night .ooo-infobox a:hover {
    color: var(--color-progressive--hover, #8fbdff);
  }


  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__title {
.ooo-infobox__muted {
    background: var(--background-color-neutral, #252527);
  opacity: 0.7;
    color: #cea141;
}
    border-top-color: #3a3a3a;
    border-bottom-color: #3a3a3a;
  }


  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__image,
/* ---------------------------------------------------------
  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__caption,
  ALIGNMENT OPTIONS
  html.skin-theme-clientpref-night .ooo-infobox tr:nth-child(even) td,
--------------------------------------------------------- */
  html.skin-theme-clientpref-night .ooo-infobox tr:nth-child(even) th {
    background: var(--background-color-neutral-subtle, #222325);
    color: var(--color-base, #eaecf0);
  }


  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__caption,
.ooo-infobox--left {
  html.skin-theme-clientpref-night .ooo-infobox__group th {
  float: left;
    border-bottom-color: #3a3a3a;
   clear: left;
   }
  margin: 0 1em 1em 0;
 
}
  html.skin-theme-clientpref-night .ooo-infobox__group th {
    background: var(--background-color-neutral, #2a2b2e);
    color: var(--color-base, #eaecf0);
    border-top-color: #3a3a3a;
  }


  html.skin-theme-clientpref-night .ooo-infobox th {
.ooo-infobox--none {
    color: var(--color-emphasized, #f1f2f3);
  float: none;
   }
   margin: 0 0 1em 0;
  html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__muted {
    color: var(--color-subtle, #a2a9b1);
  }
}
}


/* --------- Night mode: automatic (follow OS preference) --------- */
.ooo-infobox--center {
@media (prefers-color-scheme: dark) {
   float: none;
  html.skin-theme-clientpref-os .ooo-infobox {
   margin: 0 auto 1em;
    border-color: #3a3a3a;
    background: var(--background-color-base, #1b1b1d);
    color: var(--color-base, #eaecf0);
  }
  html.skin-theme-clientpref-os .ooo-infobox a {
    color: var(--color-progressive, #6aa9ff);
  }
   html.skin-theme-clientpref-os .ooo-infobox a:hover {
    color: var(--color-progressive--hover, #8fbdff);
   }
 
  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__title {
    background: var(--background-color-neutral, #252527);
    color: #cea141;
    border-top-color: #3a3a3a;
    border-bottom-color: #3a3a3a;
  }
 
  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__image,
  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__caption,
  html.skin-theme-clientpref-os .ooo-infobox tr:nth-child(even) td,
  html.skin-theme-clientpref-os .ooo-infobox tr:nth-child(even) th {
    background: var(--background-color-neutral-subtle, #222325);
    color: var(--color-base, #eaecf0);
  }
 
  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__caption,
  html.skin-theme-clientpref-os .ooo-infobox__group th {
    border-bottom-color: #3a3a3a;
  }
 
  html.skin-theme-clientpref-os .ooo-infobox__group th {
    background: var(--background-color-neutral, #2a2b2e);
    color: var(--color-base, #eaecf0);
    border-top-color: #3a3a3a;
  }
 
  html.skin-theme-clientpref-os .ooo-infobox th {
    color: var(--color-emphasized, #f1f2f3);
  }
  html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__muted {
    color: var(--color-subtle, #a2a9b1);
  }
}
}


/* Alignment helpers */
/* ---------------------------------------------------------
.ooo-infobox--right { float: right; clear: right; margin: 0 0 1em 1em; }
  MOBILE
.ooo-infobox--left  { float: left;  clear: left;  margin: 0 1em 1em 0; }
--------------------------------------------------------- */


/* Responsive */
@media (max-width: 640px) {
@media (max-width: 640px) {
   .ooo-infobox--right,
  .ooo-infobox,
   .ooo-infobox--left { float: none; margin: 0 0 1em 0; }
   .ooo-infobox--left,
   .ooo-infobox { width: 100%; }
   .ooo-infobox--none,
  .ooo-infobox--center {
    float: none;
    width: 100%;
    margin: 0 0 1em 0;
   }
}
}

Latest revision as of 20:35, 4 March 2026

/* =========================================================
   OOO INFOBOX — Clean Industrial Style
   Matches OOO wiki design system
   ========================================================= */

.ooo-infobox {
  width: 300px;
  border-collapse: collapse;
  font-size: 0.92rem;

  background: transparent;
  color: inherit;

  float: right;
  clear: right;
  margin: 0 0 1em 1em;
}

/* ---------------------------------------------------------
   TITLE
--------------------------------------------------------- */

.ooo-infobox__title {
  text-align: center;
  font-weight: 800;
  font-size: 1.1rem;
  letter-spacing: 0.3px;

  padding-bottom: 10px;
  margin-bottom: 8px;

  color: var(--ooo-accent);

  border-bottom: 2px solid var(--ooo-border);
}

/* ---------------------------------------------------------
   IMAGE
--------------------------------------------------------- */

.ooo-infobox__image {
  text-align: center;
  padding: 8px 0 12px 0;
}

.ooo-infobox__image img {
  max-width: 100%;
  height: auto;
}

/* ---------------------------------------------------------
   CAPTION
--------------------------------------------------------- */

.ooo-infobox__caption {
  text-align: center;
  font-size: 0.85rem;
  margin-bottom: 12px;
  opacity: 0.8;
}

/* ---------------------------------------------------------
   TABLE CELLS
--------------------------------------------------------- */

.ooo-infobox th,
.ooo-infobox td {
  padding: 6px 4px;
  vertical-align: top;
}

.ooo-infobox th {
  text-align: left;
  font-weight: 600;
  width: 48%;
  opacity: 0.9;
}

.ooo-infobox td {
  text-align: right;
}

/* ---------------------------------------------------------
   GROUP HEADERS
--------------------------------------------------------- */

.ooo-infobox__group th {
  padding-top: 14px;
  padding-bottom: 4px;

  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.3px;
  text-transform: uppercase;

  color: var(--ooo-accent);

  border-bottom: 1px solid var(--ooo-border);
}

/* ---------------------------------------------------------
   MUTED TEXT
--------------------------------------------------------- */

.ooo-infobox__muted {
  opacity: 0.7;
}

/* ---------------------------------------------------------
   ALIGNMENT OPTIONS
--------------------------------------------------------- */

.ooo-infobox--left {
  float: left;
  clear: left;
  margin: 0 1em 1em 0;
}

.ooo-infobox--none {
  float: none;
  margin: 0 0 1em 0;
}

.ooo-infobox--center {
  float: none;
  margin: 0 auto 1em;
}

/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 640px) {
  .ooo-infobox,
  .ooo-infobox--left,
  .ooo-infobox--none,
  .ooo-infobox--center {
    float: none;
    width: 100%;
    margin: 0 0 1em 0;
  }
}