Template:Deity/styles.css
Appearance
/* ========================================================================
ERINDAL DEITY TEMPLATE STYLES - PHASE 4A
Template:Deity/styles.css
Deity-specific presentation and deity article/record behavior only.
Shared Erindal primitives, shared hero scale, clearfix and consolidated
cross-family responsive rules intentionally remain in MediaWiki:Common.css
during this first reversible migration.
======================================================================== */
.deity-page {
color: var(--deity-ink, var(--ew-ink));
color: var(--ew-component-text, var(--deity-ink));
}
.deity-hero {
background: var(--deity-deep, var(--ew-dark-2));
}
.deity-hero__overlay {
color: var(--deity-hero-text, #fffaf2);
background:
linear-gradient(180deg, rgba(20, 12, 9, 0.04) 20%, rgba(20, 12, 9, 0.88) 100%),
linear-gradient(90deg, rgba(20, 12, 9, 0.62), transparent 68%);
}
.deity-hero__eyebrow {
color: var(--deity-hero-kicker, var(--ew-gold-soft));
text-transform: uppercase;
}
.deity-hero__subtitle {
color: var(--deity-hero-subtitle, #eadcc9);
}
.deity-hero a.new,
.deity-figure a.new {
display: none !important;
}
.deity-overview {
grid-template-columns: minmax(0, 1fr) minmax(310px, 370px);
}
.deity-overview__lead > p:first-child::first-letter {
color: var(--deity-accent, var(--ew-gold));
font-size: 3.7em;
line-height: 0.78;
}
.deity-record {
color: var(--deity-ink, var(--ew-ink));
color: var(--ew-component-text, var(--deity-ink));
border: 1px solid var(--deity-line, var(--ew-border));
border: 1px solid var(--ew-component-border, var(--deity-line));
background: var(--deity-paper, var(--ew-paper-light));
background: var(--ew-component-surface, var(--deity-paper));
box-shadow: 0 10px 22px var(--ew-component-shadow, rgba(55, 37, 27, 0.13));
}
.deity-record__heading {
color: var(--deity-record-heading-text, #fff7ec);
background: var(--deity-deep, var(--ew-dark-2));
}
.deity-visual {
border-bottom: 1px solid var(--deity-line, var(--ew-border));
border-bottom: 1px solid var(--ew-component-border, var(--deity-line));
background: var(--deity-visual-bg, var(--ew-paper));
background: var(--ew-component-surface-alt, var(--deity-visual-bg));
}
.deity-visual__tabs {
display: none;
}
.deity-visual.is-enhanced .deity-visual__tabs {
display: grid !important;
box-sizing: border-box;
width: 100%;
min-width: 0;
border-bottom: 1px solid var(--deity-line, var(--ew-border));
border-bottom: 1px solid var(--ew-component-border, var(--deity-line));
background: var(--ew-component-surface-alt, rgba(0, 0, 0, 0.04));
}
.deity-record .deity-visual__tabs > .deity-visual__tab {
display: flex;
flex: 0 0 50% !important;
align-items: center;
justify-content: center;
box-sizing: border-box;
width: 50% !important;
max-width: 50% !important;
min-width: 0;
min-height: 46px;
padding: 0.58rem 0.45rem;
color: var(--ew-component-muted, var(--deity-muted, #665f57));
border-bottom: 3px solid transparent;
font-family: "Alegreya SC", Georgia, serif;
font-size: 0.86rem;
font-weight: 700;
line-height: 1;
text-align: center;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
float: none !important;
cursor: pointer;
}
.deity-visual__panel a.new {
display: flex !important;
align-items: center;
justify-content: center;
box-sizing: border-box;
width: 100% !important;
height: 270px !important;
padding: 1.25rem;
color: var(--ew-component-muted, var(--deity-muted, #665f57)) !important;
background: var(--ew-component-surface, rgba(255, 255, 255, 0.22));
font-style: italic;
line-height: 1.3;
text-align: center;
text-decoration: none;
}
.deity-visual__panel a.new::before {
content: "Missing image: ";
font-style: normal;
font-weight: 700;
}
.deity-visual__tab + .deity-visual__tab {
border-left: 1px solid var(--deity-line, var(--ew-border));
border-left: 1px solid var(--ew-component-border, var(--deity-line));
}
.deity-visual__tab:hover,
.deity-visual__tab:focus,
.deity-visual__tab.is-active {
color: var(--deity-deep, var(--ew-dark-2));
color: var(--ew-component-heading, var(--deity-deep));
border-bottom-color: var(--deity-accent, var(--ew-gold));
background: var(--ew-component-hover, rgba(255, 255, 255, 0.42));
outline: 0;
}
.deity-visual__panel {
box-sizing: border-box;
width: 100%;
height: 270px;
min-height: 270px;
max-height: 270px;
overflow: hidden;
}
.deity-visual__panel + .deity-visual__panel {
border-top: 1px solid var(--deity-line, var(--ew-border));
border-top: 1px solid var(--ew-component-border, var(--deity-line));
}
/* Match the JavaScript default panel state from the first paint. */
.deity-visual:not(.is-enhanced) .deity-visual__panel--appearance {
display: flex;
align-items: center;
justify-content: center;
border-top: 0;
}
.deity-visual:not(.is-enhanced) .deity-visual__panel--symbol {
display: none !important;
border-top: 0;
}
.deity-visual.is-enhanced .deity-visual__panel {
display: none;
border-top: 0;
}
.deity-visual.is-enhanced .deity-visual__panel.is-active {
display: flex;
align-items: center;
justify-content: center;
}
.deity-visual__panel .mw-file-description,
.deity-visual__panel .mw-file-element,
.deity-visual__appearance,
.deity-visual__symbol {
display: block;
box-sizing: border-box;
width: 100% !important;
}
.deity-visual__panel .mw-file-description {
height: 100%;
}
.deity-visual__appearance,
.deity-visual__panel--appearance .mw-file-element {
height: 270px !important;
object-fit: cover;
object-position: 50% 18%;
}
.deity-visual__panel--symbol {
padding: 0;
text-align: center;
}
.deity-visual__symbol,
.deity-visual__panel--symbol .mw-file-element {
box-sizing: border-box;
width: 100% !important;
max-width: none !important;
height: 270px !important;
padding: 1rem;
object-fit: contain;
object-position: center;
}
.deity-record__row {
grid-template-columns: minmax(105px, 0.9fr) minmax(0, 1.35fr);
border-top: 1px solid var(--deity-line, var(--ew-border));
border-top: 1px solid var(--ew-component-border, var(--deity-line));
}
.deity-record__row span {
color: var(--ew-component-muted, var(--deity-muted, #665f57));
}
.deity-index {
margin: 0 0 2rem;
overflow: hidden;
border: 1px solid var(--deity-line, var(--ew-border));
border: 1px solid var(--ew-component-border, var(--deity-line));
border-radius: 11px;
background: var(--deity-paper, var(--ew-paper-light));
background: var(--ew-component-surface, var(--deity-paper));
}
.deity-index__heading {
padding: 0.8rem 1rem 0.7rem;
color: var(--deity-deep, var(--ew-dark-2));
color: var(--ew-component-heading, var(--deity-deep));
font-size: 1.15rem;
}
.deity-index__grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1px;
background: var(--deity-line, var(--ew-border));
background: var(--ew-component-border, var(--deity-line));
}
.deity-index__grid > div {
background: var(--ew-component-card, rgba(250, 247, 240, 0.96));
}
.deity-index__grid a {
min-height: 56px;
padding: 0.72rem 0.85rem;
color: inherit;
}
.deity-index__grid span {
color: var(--deity-accent, var(--ew-gold));
color: var(--ew-component-accent, var(--deity-accent));
}
.deity-page__body h2 {
display: flex;
gap: 0.75rem;
align-items: center;
margin: 2.35rem 0 1rem;
border-bottom: 0;
color: var(--deity-deep, var(--ew-dark-2));
color: var(--ew-component-heading, var(--deity-deep));
font-size: 1.75rem;
}
.deity-page__body h2::after {
background: var(--deity-accent, var(--ew-gold));
opacity: 0.55;
}
.deity-page__body h3 {
color: var(--deity-accent, var(--ew-gold));
color: var(--ew-component-accent, var(--deity-accent));
font-family: "Alegreya SC", Georgia, serif;
}
.deity-page__body a,
.deity-record a {
color: var(--deity-link, var(--ew-link));
color: var(--ew-component-link, var(--deity-link));
}
.deity-quote,
.deity-note {
margin: 1.25rem 0;
padding: 0.95rem 1.05rem;
border: 1px solid var(--deity-line, var(--ew-border));
border: 1px solid var(--ew-component-border, var(--deity-line));
border-left: 5px solid var(--deity-accent, var(--ew-gold));
border-radius: 8px;
background: var(--deity-paper, var(--ew-paper-light));
background: var(--ew-component-surface, var(--deity-paper));
}
.deity-quote {
color: var(--deity-deep, var(--ew-dark-2));
color: var(--ew-component-heading, var(--deity-deep));
}
.deity-quote__source {
display: block;
margin-top: 0.35rem;
color: var(--ew-component-muted, var(--deity-muted, #665f57));
font-size: 0.9rem;
font-style: normal;
text-align: right;
}
.deity-card {
color: var(--deity-ink, var(--ew-ink));
color: var(--ew-component-text, var(--deity-ink));
border: 1px solid var(--deity-line, var(--ew-border));
border: 1px solid var(--ew-component-border, var(--deity-line));
border-top: 4px solid var(--deity-accent, var(--ew-gold));
background: var(--deity-paper, var(--ew-paper-light));
background: var(--ew-component-surface, var(--deity-paper));
box-shadow: 0 5px 14px var(--ew-component-shadow, rgba(49, 35, 25, 0.08));
}
.deity-figure {
border: 1px solid var(--deity-line, var(--ew-border));
border: 1px solid var(--ew-component-border, var(--deity-line));
background: var(--deity-paper, var(--ew-paper-light));
background: var(--ew-component-surface, var(--deity-paper));
box-shadow: 0 8px 20px var(--ew-component-shadow, rgba(50, 33, 24, 0.14));
}
.deity-figure .mw-file-description,
.deity-figure .mw-file-element,
.deity-figure__image {
display: block;
width: 100% !important;
max-width: none !important;
}
.deity-figure__caption {
color: var(--ew-component-muted, var(--deity-muted, #665f57));
background: var(--deity-paper, var(--ew-paper-light));
background: var(--ew-component-surface, var(--deity-paper));
}
/* ========================================================================
DEITY ARTICLE / INFOBOX LAYOUT
======================================================================== */
@media (min-width: 951px) {
.deity-overview,
.deity-article-layout {
display: block !important;
margin-bottom: 1.5rem !important;
}
/* Legacy/current record and new rail share the same desktop infobox geometry. */
.deity-overview .deity-record,
.deity-article-layout__rail {
float: right !important;
box-sizing: border-box !important;
width: 370px !important;
max-width: 34% !important;
margin: 0 0 1.5rem 2rem !important;
}
.deity-article-layout__rail .deity-record {
float: none !important;
width: 100% !important;
max-width: none !important;
margin: 0 !important;
}
.deity-overview__lead,
.deity-article-layout__main,
.deity-page__body {
display: block !important;
min-width: 0 !important;
}
.deity-index {
min-width: 0 !important;
overflow: hidden !important;
}
.deity-article-layout .deity-index {
margin: 0 0 1.5rem !important;
}
.deity-article-layout__main .toc,
.deity-article-layout__main #toc {
float: none !important;
box-sizing: border-box !important;
width: min(100%, 300px) !important;
max-width: 100% !important;
margin: 0 0 1.5rem !important;
}
/* Never force article sections below a tall Divine Record on desktop. */
.deity-page > .deity-page__body {
display: block !important;
clear: none !important;
box-sizing: border-box !important;
width: auto !important;
max-width: none !important;
min-width: 0 !important;
}
}
@media (max-width: 950px) {
.deity-overview,
.deity-article-layout {
display: grid !important;
grid-template-columns: minmax(0, 1fr) !important;
gap: 1.5rem !important;
}
.deity-overview .deity-record,
.deity-article-layout__rail,
.deity-article-layout__rail .deity-record {
float: none !important;
box-sizing: border-box !important;
width: min(100%, 580px) !important;
max-width: 100% !important;
margin: 0 auto !important;
}
.deity-article-layout__rail {
grid-column: 1 !important;
grid-row: 1 !important;
}
.deity-article-layout__main {
grid-column: 1 !important;
grid-row: 2 !important;
min-width: 0 !important;
}
.deity-page > .deity-page__body {
display: block !important;
clear: both !important;
box-sizing: border-box !important;
width: 100% !important;
max-width: none !important;
min-width: 0 !important;
}
}
/* Centred, unmistakable appearance/symbol selector. */
.deity-record .deity-visual__tabs {
display: grid !important;
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
align-items: stretch !important;
box-sizing: border-box !important;
width: 100% !important;
min-height: 52px !important;
padding: 4px !important;
border-bottom: 1px solid var(--deity-line, var(--ew-border)) !important;
border-bottom: 1px solid var(--ew-component-border, var(--deity-line)) !important;
background: var(--deity-tabs-bg, var(--ew-paper)) !important;
background: var(--ew-component-surface-alt, var(--deity-tabs-bg)) !important;
}
.deity-record .deity-visual__tabs .deity-visual__tab {
display: grid !important;
place-items: center !important;
box-sizing: border-box !important;
width: 100% !important;
max-width: none !important;
min-width: 0 !important;
min-height: 44px !important;
padding: 0.55rem 0.45rem !important;
overflow: visible !important;
color: var(--deity-tab-text, var(--ew-ink)) !important;
color: var(--ew-component-text, var(--deity-tab-text)) !important;
border: 1px solid transparent !important;
border-radius: 6px !important;
background: transparent !important;
font-family: "Alegreya SC", Georgia, serif !important;
font-size: 0.88rem !important;
font-weight: 700 !important;
line-height: 1.1 !important;
text-align: center !important;
white-space: nowrap !important;
text-overflow: clip !important;
box-shadow: none !important;
cursor: pointer !important;
}
.deity-record .deity-visual__tabs .deity-visual__tab + .deity-visual__tab {
border-left-color: var(--deity-line, var(--ew-border)) !important;
border-left-color: var(--ew-component-border, var(--deity-line)) !important;
}
.deity-record .deity-visual__tabs .deity-visual__tab:hover,
.deity-record .deity-visual__tabs .deity-visual__tab:focus {
color: var(--deity-deep, var(--ew-dark-2)) !important;
color: var(--ew-component-heading, var(--deity-deep)) !important;
border-color: var(--deity-accent, var(--ew-gold)) !important;
background: var(--ew-component-hover, rgba(255, 250, 241, 0.68)) !important;
outline: 2px solid transparent !important;
}
/* Divine Appearance is the default visible panel, so its button starts
visually active before Common.js runs. */
.deity-record .deity-visual:not(.is-enhanced) .deity-visual__tabs .deity-visual__tab:first-child,
.deity-record .deity-visual__tabs .deity-visual__tab.is-active,
.deity-record .deity-visual__tabs .deity-visual__tab[aria-selected="true"] {
color: var(--deity-tab-active-text, #fffaf2) !important;
border-color: var(--deity-tab-active-border, var(--ew-gold)) !important;
background: var(--deity-tab-active-bottom, var(--ew-dark-1)) !important;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 2px 5px rgba(54, 27, 17, 0.28) !important;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.42) !important;
}