MediaWiki:Common.css: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| (95 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
/* Das folgende CSS wird für alle Benutzeroberflächen geladen. */ | /* Das folgende CSS wird für alle Benutzeroberflächen geladen. */ | ||
/* ===== | |||
/* ========================================================= | |||
1) Whisky-Bewertung (Gläser, Balken, Summary-Tabelle) | |||
========================================================= */ | |||
/* Layout für die drei Bewertungsboxen */ | |||
.whisky-rating { | |||
display: grid; | |||
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); | |||
gap: 14px; | |||
margin: 1rem 0 1.5rem; | |||
} | |||
.whisky-rating__item { | |||
border: 1px solid #e5e7eb; | |||
border-radius: 12px; | |||
padding: 12px 14px; | |||
box-shadow: 0 1px 3px rgba(0,0,0,.06); | |||
background: #fffaf2; /* leicht whisky-farbener Ton */ | |||
} | |||
.whisky-rating__label { | |||
font-weight: 600; | |||
margin-bottom: .5rem; | |||
color: #111827; | |||
} | |||
/* Container für die Gläser */ | |||
.whisky-rating__widget { | |||
display: flex; | |||
flex-wrap: wrap; /* erlaubt Umbruch bei kleinen Screens */ | |||
align-items: center; | |||
gap: 6px; | |||
} | |||
/* Gläser (Button) – konsolidierte Definition */ | |||
.whisky-glass { | |||
display: inline-block; | |||
width: 36px; | |||
height: 36px; | |||
margin: 0 6px 6px 0; | |||
border: 0; | |||
padding: 0; | |||
background-color: transparent; | |||
background-image: url("/index.php?title=Special:FilePath/Whisky_empty.png"); | |||
background-size: contain; | |||
background-repeat: no-repeat; | |||
background-position: center; | |||
cursor: pointer; | |||
line-height: 0; | |||
vertical-align: middle; | |||
box-sizing: content-box; | |||
opacity: .8; | |||
transition: opacity .08s ease, filter .08s ease; | |||
touch-action: manipulation; | |||
} | |||
/* Aktive (gefüllte) Gläser */ | |||
.whisky-glass.is-active { | |||
background-image: url("/index.php?title=Special:FilePath/Whisky_filled.png"); | |||
opacity: 1; | |||
} | |||
/* Hover/Fokus-Effekt */ | |||
.whisky-glass:hover, | |||
.whisky-glass:focus { | |||
opacity: 1; | |||
outline: none; | |||
filter: drop-shadow(0 0 0.4px rgba(0,0,0,.25)); | |||
} | |||
/* Zustand: nicht eingeloggt */ | |||
.whisky-rating--disabled .whisky-glass { | |||
cursor: not-allowed; | |||
filter: grayscale(0.3) opacity(.5); | |||
} | |||
/* Textbereich unter den Gläsern */ | |||
.whisky-rating__meta { | |||
margin-top: .4rem; | |||
font-size: .9rem; | |||
color: #4b5563; | |||
} | |||
/* Mobile: kleinere Gläser */ | |||
@media (max-width: 480px) { | |||
.whisky-glass { width: 32px; height: 32px; margin: 0 5px 5px 0; } | |||
} | |||
@media (max-width: 420px) { | |||
.whisky-glass { width: 28px; height: 28px; } | |||
} | |||
/* Tabelle für Whisky-Bewertungen */ | |||
.whisky-summary__table { | |||
border-collapse: collapse; | |||
margin-top: 0.5em; | |||
width: auto; | |||
} | |||
.whisky-summary__table th, | |||
.whisky-summary__table td { | |||
padding: 0.4em 0.8em; | |||
text-align: left; | |||
} | |||
.whisky-summary__table th { | |||
background: #f5f5f5; | |||
font-weight: 600; | |||
} | |||
.whisky-summary__table tr:nth-child(even) td { | |||
background: #fafafa; | |||
} | |||
/* Letzte Zeile (Gesamt) hervorheben */ | |||
.whisky-summary__table tr:last-child td { | |||
padding-top: 0.6em; | |||
padding-bottom: 0.6em; | |||
border-top: 2px solid #333; | |||
font-weight: bold; | |||
background: #fff9e6; | |||
} | |||
/* Whisky Ø-Balken */ | |||
.whisky-bar { | |||
display: flex; | |||
align-items: center; | |||
gap: .5rem; | |||
min-width: 160px; | |||
} | |||
.whisky-bar__track { | |||
position: relative; | |||
flex: 1 1 auto; | |||
height: 10px; | |||
background: #ececec; | |||
border-radius: 999px; | |||
overflow: hidden; | |||
box-shadow: inset 0 1px 2px rgba(0,0,0,.06); | |||
} | |||
.whisky-bar__fill { | |||
height: 100%; | |||
width: 0%; | |||
border-radius: 999px; | |||
background: linear-gradient(90deg, #f0b429, #d97706); | |||
transition: width .35s ease; | |||
} | |||
.whisky-bar__value { | |||
font-variant-numeric: tabular-nums; | |||
min-width: 3ch; | |||
text-align: right; | |||
} | |||
.whisky-overall-badge { | |||
display: inline-block; | |||
margin-left: .5rem; | |||
padding: .1rem .45rem; | |||
border-radius: .5rem; | |||
background: #111827; | |||
color: #fff; | |||
font-weight: 600; | |||
font-size: .95rem; | |||
line-height: 1.2; | |||
} | |||
/* ========================================================= | |||
2) Top-5 Widget | |||
========================================================= */ | |||
.whisky-top5 { | |||
background: #fffaf2; /* warm statt weiß */ | |||
border: 1px solid #eee; | |||
border-radius: 12px; | |||
padding: 12px; | |||
box-shadow: 0 2px 8px rgba(0,0,0,.04); | |||
} | |||
/* Strukturierte Items (wenn das JS diese Klassen nutzt) */ | |||
.whisky-top5__item { | |||
display: grid; | |||
grid-template-columns: auto 1fr auto; | |||
gap: 8px 12px; | |||
align-items: center; | |||
padding: 8px 4px; | |||
border-bottom: 1px dashed #eee; | |||
} | |||
.whisky-top5__item:last-child { border-bottom: 0; } | |||
.whisky-top5__rank { | |||
width: 28px; | |||
height: 28px; | |||
border-radius: 999px; | |||
background: #fff1c7; | |||
color: #7a4b00; | |||
font-weight: 700; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
} | |||
.whisky-top5__name a { | |||
text-decoration: none; | |||
color: #111; | |||
} | |||
.whisky-top5__name a:hover { text-decoration: underline; } | |||
/* kleiner Ø-Balken */ | |||
.whisky-mini { | |||
display: flex; | |||
align-items: center; | |||
gap: .5rem; | |||
} | |||
.whisky-mini__track { | |||
flex: 1 1 140px; | |||
height: 8px; | |||
background: #ececec; | |||
border-radius: 999px; | |||
overflow: hidden; | |||
box-shadow: inset 0 1px 2px rgba(0,0,0,.06); | |||
} | |||
.whisky-mini__fill { | |||
height: 100%; | |||
width: 0%; | |||
background: linear-gradient(90deg, #f0b429, #d97706); | |||
transition: width .35s ease; | |||
} | |||
.whisky-mini__val { | |||
min-width: 3.2ch; | |||
text-align: right; | |||
font-variant-numeric: tabular-nums; | |||
color: #222; | |||
} | |||
.whisky-top5__votes { | |||
color: #666; | |||
font-size: .9em; | |||
} | |||
/* Generische Fallback-Styles, falls nur <li> erzeugt wird */ | |||
.whisky-top5 .item, | |||
.whisky-top5 li { | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: baseline; | |||
gap: .6rem; | |||
padding: .35rem 0; | |||
border-bottom: 1px dashed #eaeaea; | |||
} | |||
.whisky-top5 .item:last-child, | |||
.whisky-top5 li:last-child { | |||
border-bottom: 0; | |||
} | |||
/* ========================================================= | |||
3) Layout-Helper, Teaser, Sterne-Rating | |||
========================================================= */ | |||
.grid { display: grid; gap: 1rem; } | |||
.grid-2 { grid-template-columns: 1fr; } | |||
@media (min-width: 900px) { | |||
.grid-2 { grid-template-columns: 1.2fr 0.8fr; } | |||
} | |||
.col { display: flex; flex-direction: column; gap: 1rem; } | |||
/* News-Listen & kompakte Listen */ | |||
.list.compact .news-item { | |||
display: flex; | |||
gap: .6rem; | |||
padding: .25rem 0; | |||
border-bottom: 1px dashed #eee; | |||
} | |||
.list.compact .news-item:last-child { border-bottom: 0; } | |||
.news-item .date { | |||
font-variant-numeric: tabular-nums; | |||
color:#666; | |||
min-width: 7ch; | |||
} | |||
/* Pillen / Kategoriechips (Basis – Farbe später bei Links) */ | |||
.pill-list a { | |||
display:inline-block; | |||
margin:.25rem; | |||
padding:.35rem .7rem; | |||
border:1px solid #ddd; | |||
border-radius:999px; | |||
text-decoration:none; | |||
} | |||
.pill-list a:hover { background:#f8f8f8; } | |||
/* Whisky cards */ | |||
.whisky-card { | |||
display: grid; | |||
grid-template-columns: 140px 1fr; | |||
gap: .9rem; | |||
align-items: start; | |||
} | |||
.whisky-card .whisky-media img { border-radius: 10px; } | |||
.whisky-card h3 { margin:.2rem 0; } | |||
.whisky-card .meta { color:#666; font-size:.95rem; } | |||
.whisky-card .note { margin:.4rem 0 0; } | |||
.whisky-mini { display: block; padding:.35rem 0; } | |||
.whisky-mini .dim { color:#666; } | |||
/* Teaser grid (3 Spalten auf Desktop) */ | |||
.teaser-grid { display:grid; grid-template-columns:1fr; gap:.25rem; } | |||
@media (min-width: 700px){ | |||
.teaser-grid { grid-template-columns:1fr 1fr 1fr; } | |||
} | |||
/* Recent changes block */ | |||
.recent-changes { | |||
max-height: 360px; | |||
overflow:auto; | |||
border:1px solid #eee; | |||
border-radius:10px; | |||
padding:.5rem; | |||
background:#fafafa; | |||
} | |||
/* Simple star rating (rendered via JS) */ | |||
.rating { | |||
--stars: 0; | |||
position: relative; | |||
display:inline-block; | |||
font-size: 1.1rem; | |||
line-height: 1; | |||
} | |||
.rating::before { | |||
content: "★★★★★"; | |||
letter-spacing: .1rem; | |||
color:#ddd; | |||
} | |||
.rating::after { | |||
content: "★★★★★"; | |||
letter-spacing: .1rem; | |||
color:#f5b50a; | |||
position:absolute; | |||
left:0; | |||
top:0; | |||
width: calc(var(--stars) * 20%); | |||
overflow:hidden; | |||
} | |||
/* Typo tweaks */ | |||
h2, h3 { scroll-margin-top: 80px; } | |||
/* ========================================================= | |||
4) ADOS: Mobile-first Layout & Basis-Farben | |||
========================================================= */ | |||
/* Typografie & Basis */ | |||
:root { | |||
--bg: #faf8f3; | |||
--card: #fffaf2; | |||
--muted: #f6f0e6; | |||
--border: #e6e6e6; | |||
--text: #222; | |||
--text-sub: #666; | |||
--link: #2d6ca2; | |||
--link-hover: #1c4d7d; | |||
--radius: 14px; | |||
--shadow: 0 1px 3px rgba(0,0,0,.06); | |||
} | |||
body { | |||
background: var(--bg); | |||
color: var(--text); | |||
line-height: 1.6; | |||
} | |||
a { | |||
color: var(--link); | |||
text-decoration: none; | |||
} | |||
a:hover { | |||
color: var(--link-hover); | |||
text-decoration: underline; | |||
} | |||
img { | |||
max-width: 100%; | |||
height: auto; | |||
border-radius: 8px; | |||
} | |||
/* Grid (1 Spalte mobil, 2 Spalten ab 900px) */ | |||
.ados-grid { | |||
display: grid; | |||
gap: 12px; | |||
} | |||
.col { | |||
display: flex; | |||
flex-direction: column; | |||
gap: 10px; | |||
} | |||
@media (min-width: 900px) { | |||
.ados-grid { | |||
grid-template-columns: 1.15fr .85fr; | |||
align-items: start; | |||
} | |||
} | |||
/* Karten (globale Verwendung) */ | |||
.card { | |||
background: var(--card); | |||
border: 1px solid var(--border); | |||
border-radius: var(--radius); | |||
box-shadow: var(--shadow); | |||
padding: 12px 14px; | |||
} | |||
.card h2 { | |||
margin: 0 0 .5rem; | |||
padding-bottom: .25rem; | |||
border-bottom: 1px solid #eee; | |||
font-size: 1.12rem; | |||
} | |||
.card-muted { background: var(--muted); } | |||
/* Meta/Hinweis */ | |||
.meta, | |||
.hint { | |||
font-size: 90%; | |||
color: var(--text-sub); | |||
margin-top: .35rem; | |||
} | |||
/* Navigation Einzeiler */ | |||
.navline { margin: 0; } | |||
/* Footer */ | |||
.ados-footerdate { | |||
font-size: 80%; | |||
color: #777; | |||
margin-top: .6rem; | |||
} | |||
.ados-footerinfo { | |||
border-top: 1px solid var(--border); | |||
margin-top: .8rem; | |||
padding-top: .5rem; | |||
font-size: 92%; | |||
color: var(--text-sub); | |||
} | |||
.ados-footernote { | |||
text-align: center; | |||
font-size: 90%; | |||
margin-top: .8rem; | |||
color: var(--text-sub); | |||
} | |||
/* Touch-friendly auf sehr kleinen Displays */ | |||
@media (max-width: 480px) { | |||
.card { padding: 12px; } | |||
.card h2 { font-size: 1.05rem; } | |||
} | |||
/* Leichtes Hover-Feedback (nur Desktop) */ | |||
@media (pointer: fine) { | |||
.card:hover { | |||
box-shadow: 0 6px 18px rgba(0,0,0,.08); | |||
transition: box-shadow .2s; | |||
} | |||
} | |||
/* Bevorzugt dunkles Farbschema */ | |||
@media (prefers-color-scheme: dark) { | |||
:root { | |||
--bg: #121212; | |||
--card: #1c1c1c; | |||
--muted: #181818; | |||
--border: #313131; | |||
--text: #e8e8e8; | |||
--text-sub: #b4b4b4; | |||
--link: #86c2ff; | |||
--link-hover: #c5e1ff; | |||
--shadow: 0 1px 4px rgba(0,0,0,.6); | |||
} | |||
img { filter: brightness(.95) contrast(1.05); } | |||
} | |||
/* Respektiere reduzierte Animationen */ | |||
@media (prefers-reduced-motion: reduce) { | |||
* { animation: none !important; transition: none !important; } | |||
} | |||
/* ========================================================= | |||
5) Hard Fix: Force Light Mode on iOS/Safari | |||
========================================================= */ | |||
html { color-scheme: light !important; } | |||
@media (prefers-color-scheme: dark) { | |||
html, body { | |||
background: #ffffff !important; | |||
color: #222 !important; | |||
} | |||
.card, | |||
.card-muted, | |||
.whisky-rating__item, | |||
.whisky-top5, | |||
.mw-popup-modal, | |||
.whisky-summary__table th, | |||
.whisky-summary__table td { | |||
background: #ffffff !important; | |||
color: #222 !important; | |||
border-color: #e6e6e6 !important; | |||
box-shadow: 0 1px 3px rgba(0,0,0,.04) !important; | |||
} | |||
.whisky-summary__table tr:nth-child(even) td { background: #fafafa !important; } | |||
.list.compact .news-item { border-bottom-color: #eee !important; } | |||
a { color: #2d6ca2 !important; } | |||
a:hover { color: #1c4d7d !important; } | |||
img { filter: none !important; } | |||
} | |||
/* ========================================================= | |||
6) Modal / News-Popup | |||
========================================================= */ | |||
.mwnews-overlay { | |||
position:fixed; | |||
inset:0; | |||
background:rgba(0,0,0,.45); | |||
z-index:10000; | |||
} | |||
.mwnews-modal { | |||
position:fixed; | |||
top:50%; | |||
left:50%; | |||
transform:translate(-50%,-50%); | |||
background:#fff; | |||
color:#111; | |||
max-width:96%; | |||
width:760px; | |||
padding:22px 26px 26px; | |||
border-radius:14px; | |||
z-index:10001; | |||
text-align:center; | |||
box-shadow:0 10px 28px rgba(0,0,0,.35); | |||
max-height:94vh; | |||
overflow-y:auto; | |||
} | |||
.mwnews-modal h2 { | |||
margin:8px 0 6px; | |||
font-size:1.35em; | |||
} | |||
.mwnews-intro { | |||
margin:.5em 0 1em; | |||
font-size:1.06em; | |||
line-height:1.5; | |||
} | |||
/* Karten im Popup */ | |||
.mwnews-cards { | |||
display:flex; | |||
gap:12px; | |||
flex-wrap:wrap; | |||
justify-content:center; | |||
} | |||
.mwnews-card { | |||
display:block; | |||
width:300px; | |||
text-decoration:none; | |||
color:inherit; | |||
background:#f8f9fa; | |||
border:1px solid #e3e6e8; | |||
border-radius:10px; | |||
overflow:hidden; | |||
transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; | |||
box-shadow:0 3px 8px rgba(0,0,0,.12); | |||
} | |||
.mwnews-card:hover { | |||
transform:translateY(-2px); | |||
box-shadow:0 8px 18px rgba(0,0,0,.18); | |||
border-color:#d5dadd; | |||
} | |||
.mwnews-thumb img { | |||
display:block; | |||
width:100%; | |||
height:210px; | |||
object-fit:cover; | |||
} | |||
.mwnews-meta { padding:10px 12px; } | |||
.mwnews-title { | |||
font-weight:700; | |||
font-size:1.02em; | |||
margin-bottom:6px; | |||
} | |||
.mwnews-cta { | |||
color:#36c; | |||
font-weight:600; | |||
} | |||
/* Buttons */ | |||
.mwnews-btnrow { | |||
display:flex; | |||
justify-content:center; | |||
gap:10px; | |||
margin-top:12px; | |||
} | |||
.mwnews-close { | |||
padding:10px 16px; | |||
border:0; | |||
background:#36c; | |||
color:#fff; | |||
border-radius:6px; | |||
cursor:pointer; | |||
font-size:1em; | |||
font-weight:600; | |||
} | |||
.mwnews-close:hover { background:#258; } | |||
/* Mobil */ | |||
@media (max-width:640px){ | |||
.mwnews-modal{ | |||
width:calc(100% - 20px); | |||
padding:16px; | |||
} | |||
.mwnews-card{ width:100%; } | |||
.mwnews-thumb img{ | |||
height:240px; | |||
object-fit:contain; | |||
background:#000; | |||
} | |||
} | |||
/* ========================================================= | |||
7) Links, Navigationslisten, Chips | |||
========================================================= */ | |||
/* Grundlegende Linksichtbarkeit */ | |||
.mw-parser-output a { | |||
color: #2d6ca2; | |||
text-decoration: underline; | |||
text-underline-offset: 2px; | |||
} | |||
.mw-parser-output a:hover, | |||
.mw-parser-output a:focus { | |||
color: #1c4d7d; | |||
text-decoration-thickness: 2px; | |||
} | |||
.mw-parser-output a:visited { color: #5a3fa8; } | |||
/* Tastaturfokus */ | |||
.mw-parser-output a:focus-visible { | |||
outline: 3px solid #99c2ff; | |||
outline-offset: 2px; | |||
border-radius: 4px; | |||
} | |||
/* Tap-Feedback auf Touch-Geräten */ | |||
@media (hover:none) and (pointer:coarse) { | |||
.mw-parser-output a:active { | |||
background: rgba(45,108,162,.08); | |||
border-radius: 6px; | |||
} | |||
} | |||
/* Link-Listen / Navigationslisten */ | |||
.list-links { | |||
list-style: none; | |||
padding-left: 0; | |||
margin: .4rem 0; | |||
} | |||
.list-links li { | |||
display: flex; | |||
align-items: center; | |||
gap: .5rem; | |||
padding: .45rem .6rem; | |||
border: 1px solid #e6e6e6; | |||
border-radius: 10px; | |||
background: #fffaf2; | |||
margin: .35rem 0; | |||
transition: transform .06s ease, box-shadow .12s ease, background .12s ease; | |||
} | |||
.list-links li::before { | |||
content: "›"; | |||
font-weight: 700; | |||
color: #888; | |||
} | |||
.list-links li:hover { | |||
background:#f8fbff; | |||
transform: translateY(-1px); | |||
box-shadow: 0 2px 8px rgba(0,0,0,.06); | |||
} | |||
.list-links li a { | |||
text-decoration: none; | |||
} | |||
.list-links li a:hover { | |||
text-decoration: underline; | |||
} | |||
/* Chips / Kategorie-Pillen mit warmem Hintergrund */ | |||
.pill-row a, | |||
.pill-list a { | |||
display: inline-block; | |||
border: 1px solid #e0e0e0; | |||
padding: .35rem .7rem; | |||
border-radius: 999px; | |||
background: #fffaf2; | |||
text-decoration: none; | |||
transition: background .12s ease, box-shadow .12s ease, transform .06s ease; | |||
} | |||
.pill-row a:hover, | |||
.pill-list a:hover { | |||
background:#f2f7ff; | |||
box-shadow: 0 1px 6px rgba(0,0,0,.06); | |||
transform: translateY(-1px); | |||
} | |||
.pill-row a:focus-visible, | |||
.pill-list a:focus-visible { | |||
outline: 3px solid #99c2ff; | |||
outline-offset: 2px; | |||
} | |||
/* Ganze Karten klickbar machen */ | |||
.card .card-link { | |||
position: static; | |||
font-weight: 600; | |||
} | |||
.card.card-clickable { cursor: pointer; } | |||
.card.card-clickable:hover { | |||
box-shadow: 0 6px 18px rgba(0,0,0,.08); | |||
} | |||
.card .card-overlay { | |||
position:absolute; | |||
inset:0; | |||
z-index:1; | |||
text-indent:-9999px; | |||
background: transparent; | |||
} | |||
/* Hinweise-Icons */ | |||
a.external::after { content:" ↗"; font-size:.9em; } | |||
a.category-link::after { content:" ⟶"; } | |||
/* Dark-Mode Anpassungen für Link-Kacheln */ | |||
@media (prefers-color-scheme: dark) { | |||
.mw-parser-output a { color:#86c2ff; } | |||
.mw-parser-output a:hover, | |||
.mw-parser-output a:focus { color:#c5e1ff; } | |||
.list-links li { | |||
background:#1c1c1c; | |||
border-color:#313131; | |||
} | |||
.list-links li:hover { background:#20242b; } | |||
.pill-row a, | |||
.pill-list a { | |||
background:#1c1c1c; | |||
border-color:#313131; | |||
} | |||
} | |||
/* ========================================================= | |||
8) Cargo / Diagramme | |||
========================================================= */ | |||
.cargoNVD3chart svg { | |||
min-height: 400px !important; | |||
} | |||
.nvd3 .nv-line path { | |||
stroke-width: 3px !important; | |||
stroke: #f0b429 !important; | |||
} | |||
.nvd3 text { | |||
fill: #111 !important; | |||
} | |||
/* Diagramm flexibel */ | |||
.ados-chart-multi { width: 100%; max-width: 100%; } | |||
@media (max-width: 480px) { | |||
.ados-chart-multi { min-height: 280px; } | |||
} | |||
.chart-total-info { | |||
text-align: center; | |||
font-weight: bold; | |||
font-size: 1.05em; | |||
color: #444; | |||
margin-top: 0.4em; | |||
} | |||
.ados-chart-multi { margin-bottom: .75rem; } | |||
/* ========================================================= | |||
9) Diagramm-Popup (Canvas) | |||
========================================================= */ | |||
.mw-popup-overlay { | .mw-popup-overlay { | ||
position: fixed; | position: fixed; | ||
inset: 0; | inset: 0; | ||
background: rgba(0,0,0,0. | background: rgba(0,0,0,0.45); | ||
z-index: 10000; | z-index: 10000; | ||
} | } | ||
.mw-popup-modal { | .mw-popup-modal { | ||
position: fixed; | position: fixed; | ||
| Zeile 16: | Zeile 807: | ||
background: #fff; | background: #fff; | ||
max-width: 96%; | max-width: 96%; | ||
width: | width: 720px; | ||
padding: | padding: 22px 26px 26px; | ||
border-radius: | border-radius: 14px; | ||
z-index: 10001; | z-index: 10001; | ||
text-align: center; | text-align: center; | ||
box-shadow: 0 | box-shadow: 0 10px 28px rgba(0,0,0,0.35); | ||
max-height: 94vh; | max-height: 94vh; | ||
overflow-y: auto; | overflow-y: auto; | ||
} | } | ||
/* | /* Canvas-Bühne */ | ||
.mw- | .mw-fw-canvas-wrap { | ||
position: relative; | position: relative; | ||
height: 240px; | |||
margin | margin: -6px -6px 12px; | ||
border-radius: 10px; | |||
overflow: hidden; | |||
background: radial-gradient(ellipse at center, #0b1c38 0%, #061025 60%, #03060d 100%); | |||
box-shadow: inset 0 0 30px rgba(0,0,0,0.65); | |||
background: | |||
. | |||
} | } | ||
.mw-fw-canvas { display:block; width:100%; height:100%; } | |||
/* Text */ | |||
.mw-popup-modal h2 { | .mw-popup-modal h2 { | ||
margin: 8px 0 | margin: 8px 0 6px; | ||
font-size: 1. | font-size: 1.38em; | ||
} | } | ||
.mw-popup-content p { | .mw-popup-content p { | ||
margin: 0. | margin: 0.55em 0; | ||
font-size: 1. | font-size: 1.06em; | ||
line-height: 1.55; | line-height: 1.55; | ||
} | } | ||
/* | /* Buttons */ | ||
.mw-popup-button-row { | .mw-popup-button-row { | ||
display: flex; | display: flex; | ||
justify-content: center; | justify-content: center; | ||
gap: 10px; | gap: 10px; | ||
margin-top: | margin-top: 12px; | ||
flex-wrap: wrap; | flex-wrap: wrap; | ||
} | } | ||
.mw-popup-wiki-button { | .mw-popup-wiki-button { | ||
padding: 10px 16px; | |||
text- | background: #f60; | ||
color: #fff; | |||
border-radius: 6px; | |||
text-decoration: none; | |||
font-weight: 700; | |||
} | } | ||
.mw-popup-wiki-button:hover { background: #d85000; } | |||
.mw-popup-close { | .mw-popup-close { | ||
padding: 10px 16px; | padding: 10px 16px; | ||
| Zeile 112: | Zeile 864: | ||
border-radius: 6px; | border-radius: 6px; | ||
cursor: pointer; | cursor: pointer; | ||
font- | font-weight: 700; | ||
} | } | ||
.mw-popup-close:hover { background: #258; } | .mw-popup-close:hover { background: #258; } | ||
.mw-popup- | /* Mobil */ | ||
padding: 10px 16px; | @media (max-width: 640px) { | ||
background: # | .mw-popup-modal { | ||
color: # | width: calc(100% - 20px); | ||
border-radius: | padding: 16px; | ||
} | |||
font- | .mw-fw-canvas-wrap { | ||
height: 220px; | |||
margin: -6px -6px 10px; | |||
} | |||
} | |||
/* ========================================================= | |||
10) Minerva: Abschnitte offen halten | |||
========================================================= */ | |||
.skin-minerva .collapsible-block { | |||
display: block !important; | |||
} | |||
.skin-minerva button.section-toggle { | |||
display: none !important; | |||
} | |||
/* ========================================================= | |||
11) LabelScan / Scan-UI | |||
========================================================= */ | |||
/* Grund-Layout */ | |||
.ados-scan { | |||
border:1px solid #e6e6e6; | |||
border-radius:14px; | |||
padding:12px; | |||
background:#fffaf2; | |||
box-shadow:0 1px 3px rgba(0,0,0,.04); | |||
} | |||
.ados-scan h2 { margin:.2rem 0 .4rem; } | |||
.ados-scan__controls { | |||
display:flex; | |||
gap:8px; | |||
flex-wrap:wrap; | |||
align-items:center; | |||
margin:.4rem 0; | |||
} | |||
.ados-scan__preview img { | |||
max-width: 100%; | |||
border-radius: 8px; | |||
} | |||
.ados-scan__status { | |||
color:#666; | |||
font-size:90%; | |||
margin:.4rem 0; | |||
} | |||
.ados-scan__results { | |||
display:grid; | |||
grid-template-columns: 1fr; | |||
gap:8px; | |||
} | |||
@media (min-width:700px){ | |||
.ados-scan__results { grid-template-columns: 1fr 1fr; } | |||
} | |||
.ados-hit { | |||
border:1px solid #eee; | |||
border-radius:10px; | |||
padding:10px; | |||
background:#fafafa; | |||
} | |||
.ados-hit b { | |||
display:block; | |||
margin-bottom:4px; | |||
} | |||
/* Uploader / Dropzone */ | |||
.ados-scan__uploader { | |||
display:flex; | |||
justify-content:center; | |||
} | |||
.ados-scan__btn { | |||
display:flex; | |||
flex-direction:column; | |||
align-items:center; | |||
gap:.35rem; | |||
padding:18px 20px; | |||
border:2px dashed #cfcfcf; | |||
border-radius:16px; | |||
background:#fafafa; | |||
cursor:pointer; | |||
width:100%; | |||
max-width:520px; | |||
text-align:center; | |||
transition:background .15s, border-color .15s, transform .05s; | |||
} | |||
.ados-scan__btn:hover { | |||
background:#f6f6f6; | |||
border-color:#bbb; | |||
} | |||
.ados-scan__btn:active { transform:scale(.99); } | |||
.ados-scan__btn svg { | |||
width:44px; | |||
height:44px; | |||
fill:#ff7a00; | |||
opacity:.9; | |||
} | |||
.ados-scan__btn span { font-weight:700; } | |||
.ados-scan__btn small { color:#666; } | |||
#ados-scan-drop.dragover .ados-scan__btn { | |||
border-color:#ff7a00; | |||
background:#fff8f1; | |||
} | |||
/* Fortschritt */ | |||
.ados-scan__progress { | |||
margin:.6rem 0 .3rem; | |||
display:flex; | |||
align-items:center; | |||
gap:10px; | |||
flex-wrap:wrap; | |||
} | |||
#ados-scan-progress { | |||
width:220px; | |||
height:10px; | |||
accent-color:#ff7a00; | |||
} | |||
/* Ergebnis-Vorschau */ | |||
.ados-scan__preview { | |||
margin:.5rem 0; | |||
} | |||
.ados-scan__preview img { | |||
max-width:100%; | |||
border-radius:10px; | |||
box-shadow:0 2px 10px rgba(0,0,0,.06); | |||
} | |||
/* Buttons */ | |||
.ados-scan__actions { | |||
margin:.4rem 0 .6rem; | |||
} | |||
.ados-scan__run { | |||
padding:.55rem .9rem; | |||
border:1px solid #ddd; | |||
border-radius:999px; | |||
background:#fff; | |||
cursor:pointer; | |||
font-weight:600; | |||
} | |||
.ados-scan__run[disabled] { | |||
opacity:.6; | |||
cursor:not-allowed; | |||
} | } | ||
/* | /* Dark-Mode-Anpassungen */ | ||
@media ( | @media (prefers-color-scheme: dark){ | ||
. | .ados-scan { | ||
background:#1c1c1c; | |||
border-color:#313131; | |||
} | } | ||
. | .ados-scan__btn { | ||
background:#181818; | |||
border-color:#343434; | |||
} | } | ||
. | .ados-scan__btn:hover { | ||
background:#1b1b1b; | |||
border-color:#555; | |||
} | } | ||
. | .ados-scan__status { color:#bbb; } | ||
. | .ados-hit { | ||
background:#202020; | |||
border-color:#2e2e2e; | |||
} | } | ||
} | } | ||
/* LabelScan: Button sicher klickbar */ | |||
#ados-labelscan { position: relative; } | |||
#ados-scan-run, | |||
#ados-scan-bigbtn { | |||
position: relative; | |||
z-index: 9999; | |||
pointer-events: auto; | |||
} | |||
#ados-labelscan * { pointer-events: auto; } | |||
#ados-labelscan [aria-hidden="true"] { pointer-events: none; } | |||
/* Häufige Störenfriede (Vector sticky header) */ | |||
.mw-body-content .sticky-header, | |||
.mw-body-content .vector-sticky-header { | |||
pointer-events: none; | |||
} | |||
/* | /* LabelScan – Mobile optimiert */ | ||
.mw- | #ados-labelscan { | ||
max-width: 640px; | |||
-- | margin: 0 auto; | ||
margin-top: | padding: 1rem; | ||
} | |||
#ados-labelscan .ados-scan__drop { | |||
background: #ffffff; | |||
border-radius: 12px; | |||
padding: 1.5rem 1rem; | |||
text-align: center; | |||
border: 2px dashed #ccc; | |||
color: #444; | |||
} | |||
#ados-labelscan button, | |||
#ados-labelscan .mw-ui-button { | |||
font-size: 1rem !important; | |||
border-radius: 30px !important; | |||
padding: 0.7rem 1.4rem !important; | |||
} | |||
#ados-labelscan .ados-scan__form { | |||
display: flex; | |||
flex-direction: column; | |||
gap: 1rem; | |||
} | |||
#ados-labelscan h2 { | |||
font-size: 1.8rem; | |||
margin-bottom: 1rem; | |||
} | |||
#ados-scan-preview img { | |||
border-radius: 14px; | |||
margin-top: 0.6rem; | |||
} | |||
/* Dropzone hell halten (explizit) */ | |||
#ados-labelscan .ados-scan__drop, | |||
#ados-scan-drop, | |||
.ados-scan__drop { | |||
background: #ffffff !important; | |||
color: #444 !important; | |||
border: 2px dashed #ccc !important; | |||
box-shadow: none !important; | |||
} | |||
#ados-labelscan .ados-scan__drop img, | |||
#ados-scan-drop img { | |||
filter: none !important; | |||
} | } | ||
/* ========================================================= | |||
12) ADOS Timer-Balken oben | |||
========================================================= */ | |||
#ados-timer-bar { | |||
position: fixed; | position: fixed; | ||
top: 0; left: 0; right: 0; | top: 0; | ||
background: # | left: 0; | ||
color: # | right: 0; | ||
font: | z-index: 2000; | ||
box-shadow: 0 | background: #111827; | ||
color: #f9fafb; | |||
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; | |||
font-size: 14px; | |||
line-height: 1.4; | |||
padding: 6px 12px; | |||
display: none; | |||
box-shadow: 0 2px 8px rgba(0,0,0,.35); | |||
} | |||
#ados-timer-inner { | |||
max-width: 1200px; | |||
margin: 0 auto; | |||
display: flex; | |||
align-items: center; | |||
gap: 8px; | |||
} | |||
#ados-timer-message { font-weight: 600; } | |||
#ados-timer-countdown { | |||
font-weight: 700; | |||
letter-spacing: 0.05em; | |||
padding: 2px 8px; | |||
border-radius: 999px; | |||
background: #f59e0b; | |||
color: #111827; | |||
white-space: nowrap; | |||
} | |||
#ados-timer-close { | |||
margin-left: auto; | |||
cursor: pointer; | |||
border: none; | |||
background: transparent; | |||
color: #9ca3af; | |||
font-size: 16px; | |||
padding: 0 4px; | |||
} | |||
#ados-timer-close:hover { color: #f9fafb; } | |||
/* Inhalt nach unten schieben, wenn Timer sichtbar */ | |||
body.has-ados-timer { padding-top: 38px; } | |||
/* ========================================================= | |||
13) ADOS-Hero – whiskyfarben, Fade, keine weißen Boxen | |||
========================================================= */ | |||
/* Äußerer Hero-Block mit Fade nach unten ins Weiße */ | |||
.mw-parser-output .ados-hero { | |||
background: linear-gradient( | |||
180deg, | |||
#e7cfa4 0%, | |||
#e1c297 40%, | |||
#f6efe4 75%, | |||
#ffffff 100% | |||
); | |||
padding: 1.2rem 1.4rem 1.5rem; | |||
margin: 0 0 1.6rem; | |||
border-radius: 12px; | |||
box-shadow: 0 4px 12px rgba(0,0,0,.05); | |||
border: 1px solid rgba(120,80,40,.15); | |||
} | |||
/* auf Desktop etwas breiter wirken lassen */ | |||
@media (min-width: 960px) { | |||
.mw-parser-output .ados-hero { | |||
margin-left: -1.5rem; | |||
margin-right: -1.5rem; | |||
border-radius: 0 0 12px 12px; | |||
} | |||
} | } | ||
. | /* Grid: Titel & Text nebeneinander, Spalten unten drunter */ | ||
.ados-hero__grid { | |||
max-width: 1200px; | max-width: 1200px; | ||
margin: 0 auto; | margin: 0 auto; | ||
display: grid; | |||
grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr); | |||
grid-template-areas: | |||
"title center" | |||
"cols cols"; | |||
gap: 1.1rem 1.6rem; | |||
align-items: center; | align-items: center; | ||
} | } | ||
. | /* Linke Seite: Titel */ | ||
.ados-hero__title { | |||
grid-area: title; | |||
font-family: "Georgia","Times New Roman",serif; | |||
font-size: 1.7rem; | |||
font-weight: 700; | |||
line-height: 1.2; | |||
color: #4b2b14; | |||
} | |||
.ados-hero__title span { display:block; } | |||
.ados-hero__title hr { | |||
width: 55%; | |||
margin-top: .55rem; | |||
border: 0; | |||
border-top: 1px solid rgba(75,43,20,.26); | |||
} | } | ||
. | /* Mitte: Beschreibung, ohne Box */ | ||
.ados-hero__center { | |||
grid-area: center; | |||
display: flex; | display: flex; | ||
justify-content: center; | |||
} | |||
.ados-hero__center-box { | |||
font-family: "Courier New", ui-monospace, monospace; | |||
font-size: .96rem; | |||
line-height: 1.6; | |||
color: #3a2918; | |||
text-align: center; | |||
padding: .15rem .25rem; | |||
} | } | ||
.ados-hero__center-box strong { | |||
. | color: #4b2b14; | ||
font-weight: 700; | font-weight: 700; | ||
} | } | ||
. | /* Unten: Spalten nebeneinander über die gesamte Breite */ | ||
.ados-hero__cols { | |||
grid-area: cols; | |||
display: flex; | |||
justify-content: center; | |||
gap: 2.2rem; | |||
padding-top: .4rem; | |||
border-top: 1px solid rgba(75,43,20,.16); | |||
} | } | ||
. | .ados-hero__col { | ||
min-width: 140px; | |||
color: # | font-size: .95rem; | ||
} | |||
.ados-hero__col-title { | |||
font-weight: 700; | |||
margin-bottom: .2rem; | |||
color: #4b2b14; | |||
font-size: .94rem; | |||
} | |||
.ados-hero__col ul { | |||
margin: 0; | |||
padding-left: 1.05rem; | |||
} | } | ||
. | .ados-hero__col li { | ||
margin: .08rem 0; | |||
} | } | ||
. | /* Sicherheit: im Hero niemals weiße Karten-Hintergründe */ | ||
.ados-hero .card, | |||
.ados-hero .whisky-top5, | |||
background: transparent; | .ados-hero .whisky-rating__item { | ||
background: transparent !important; | |||
border: 0 !important; | |||
box-shadow: none !important; | |||
} | } | ||
/* | /* ---------------- MOBIL ---------------- */ | ||
@media (max-width: | @media (max-width: 720px) { | ||
.mw- | .mw-parser-output .ados-hero { | ||
. | border-radius: 0; | ||
margin-left: -1rem; | |||
margin-right: -1rem; | |||
padding: 1.1rem 1rem 1.3rem; | |||
} | |||
.ados-hero__grid { | |||
display: flex; | |||
flex-direction: column; | |||
gap: .8rem; | |||
text-align: center; | |||
} | |||
.ados-hero__title { | |||
font-size: 1.5rem; | |||
} | |||
.ados-hero__title hr { | |||
margin-left: auto; | |||
margin-right: auto; | |||
} | |||
.ados-hero__center-box { | |||
max-width: 34rem; | |||
margin: 0 auto; | |||
} | |||
.ados-hero__cols { | |||
flex-direction: row; | |||
flex-wrap: wrap; | flex-wrap: wrap; | ||
gap: | justify-content: center; | ||
padding: | gap: 1.2rem 2rem; | ||
border-top: 1px solid rgba(75,43,20,.18); | |||
padding-top: .6rem; | |||
} | } | ||
. | |||
.ados-hero__col { | |||
min-width: 130px; | |||
text-align: center; | |||
} | } | ||
. | |||
.ados-hero__col ul { | |||
padding-left: 0; | |||
list-style-position: inside; | |||
} | } | ||
} | } | ||
/* ========================================================= | |||
14) ADOS-Hauptseite – flexibles 2-Spalten-Layout | |||
========================================================= */ | |||
/* | .ados-mainpage { | ||
. | max-width: 1200px; /* Gesamtbreite der Hauptseitev2 */ | ||
margin: 0 auto 2.5rem; /* zentriert, unten Luft */ | |||
display: grid; | display: grid; | ||
grid-template-columns: | grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); /* links breiter als rechts */ | ||
gap: | gap: 1.6rem 2.2rem; | ||
align-items: flex-start; | |||
} | |||
.ados-main-left, | |||
.ados-main-right { | |||
display: flex; | |||
flex-direction: column; | |||
gap: 1.1rem; | |||
} | } | ||
. | |||
border: 1px solid # | /* Boxen innerhalb der Hauptseite – etwas „luftiger“ */ | ||
.ados-mainpage .ados-box { | |||
background: #ffffff; | |||
border: 1px solid #e4e4e4; | |||
border-radius: 12px; | border-radius: 12px; | ||
padding: 12px 14px; | padding: 12px 14px; | ||
box-shadow: 0 1px 3px rgba(0,0,0,. | box-shadow: 0 1px 3px rgba(0,0,0,.04); | ||
} | } | ||
. | |||
/* Überschriften in den Boxen */ | |||
.ados-mainpage .ados-box h2, | |||
.ados-mainpage .ados-box h3 { | |||
margin: 0 0 .5rem; | |||
padding-bottom: .25rem; | |||
border-bottom: 1px solid #eeeeee; | |||
font-size: 1.08rem; | |||
} | } | ||
/* | /* Mobil / schmal: alles untereinander */ | ||
. | @media (max-width: 900px) { | ||
.ados-mainpage { | |||
display: block; /* keine Spalten, nur Flow */ | |||
max-width: 100%; | |||
margin: 0 0 2rem; | |||
} | |||
.ados-main-right { | |||
margin-top: 1.5rem; | |||
} | |||
.ados-mainpage .ados-box { | |||
border-radius: 0; | |||
border-left: 0; | |||
border-right: 0; | |||
} | |||
} | } | ||
/* | |||
/* ========================================================= | |||
FIX: Hero – keine weißen Boxen für Titel / Center-Text | |||
========================================================= */ | |||
.ados-hero__title, | |||
.ados-hero__center-box { | |||
background: transparent !important; | |||
border: 0 !important; | |||
box-shadow: none !important; | |||
background | |||
box- | |||
} | } | ||
/* --- | |||
. | /* ========================================================= | ||
FIX: Hauptseitev2 – breiteres Layout + Hero lockern | |||
========================================================= */ | |||
/* Vector-Container für Hauptseitev2 etwas breiter */ | |||
body.page-Hauptseitev2 .mw-page-container, | |||
body.page-Hauptseitev2 .mw-content-container { | |||
max-width: 1400px; | |||
} | } | ||
/* - | /* Hero innerhalb des Content-Bereichs etwas nach außen ziehen */ | ||
. | body.page-Hauptseitev2 .mw-parser-output .ados-hero { | ||
. | margin-left: -1.5rem; | ||
margin-right: -1.5rem; | |||
} | } | ||
/* ========================================================= | |||
XMAS: Timer-Bar & Snow | |||
========================================================= */ | |||
/* Weihnachts-Variante der bestehenden Timer-Bar */ | |||
#ados-timer-bar.ados-xmas { | |||
background: linear-gradient(90deg, #111827, #164e63); | |||
color: #f9fafb; | |||
border-bottom: 1px solid rgba(15,23,42,.7); | |||
background: #111827; | |||
color: # | |||
} | } | ||
#ados-timer-bar.ados-xmas #ados-timer-countdown { | |||
. | background: #f97316; | ||
color: #111827; | |||
} | } | ||
. | #ados-timer-bar.ados-xmas #ados-timer-message::before { | ||
content: "🎄 "; | |||
} | } | ||
/* Schneefall-Overlay */ | |||
#ados-snow { | |||
position: fixed; | |||
inset: 0; | |||
pointer-events: none; | |||
z-index: 1999; /* unter dem Timer (2000), über Content */ | |||
overflow: hidden; | |||
} | } | ||
. | .ados-snowflake { | ||
position: absolute; | |||
top: -10px; | |||
font-size: 0.9rem; | |||
color: rgba(255, 255, 255, 0.9); | |||
text-shadow: 0 0 6px rgba(0,0,0,.45); | |||
animation-name: ados-snow-fall; | |||
animation-timing-function: linear; | |||
animation-iteration-count: infinite; | |||
} | } | ||
/* | /* Keyframes für leichten Fall-Effekt */ | ||
@keyframes ados-snow-fall { | |||
0% { | |||
transform: translate3d(var(--x-start, 0), -10px, 0) rotate(0deg); | |||
opacity: 0; | |||
} | |||
10% { opacity: 1; } | |||
100% { | |||
transform: translate3d(var(--x-end, 0), 110vh, 0) rotate(360deg); | |||
opacity: 0; | |||
} | |||
} | } | ||
/* Weniger Motion = Schneefall deaktivieren */ | |||
@media (prefers-reduced-motion: reduce) { | |||
#ados-snow { display: none !important; } | |||
} | |||
/* | /* ADOS "NEU" Badge */ | ||
. | .ados-neu-badge { | ||
display: | display: inline-block; | ||
margin-left: 6px; | |||
padding: 2px 8px; | |||
font-size: 11px; | |||
font-weight: bold; | |||
color: #fff; | |||
background: #c60000; | |||
border-radius: 10px; | |||
letter-spacing: 0.5px; | |||
animation: adosPulse 1.5s infinite; | |||
} | } | ||
@keyframes adosPulse { | |||
0% { opacity: 1; } | |||
50% { opacity: 0.4; } | |||
100% { opacity: 1; } | |||
} | } | ||
. | |||
/* Klickbare Card für Statistik-Link */ | |||
width: | .mw-parser-output a.chart-box, | ||
border- | .mw-parser-output a.chart-box:visited { | ||
background: | display: block !important; | ||
transition: | width: 100%; | ||
box-sizing: border-box; | |||
border: 2px solid #337ab7 !important; | |||
padding: 12px !important; | |||
background: #f0f8ff !important; | |||
margin: 0 0 1em 0 !important; | |||
text-align: center !important; | |||
text-decoration: none !important; | |||
color: inherit !important; | |||
border-radius: 6px !important; | |||
transition: transform .2s ease, background-color .2s ease; | |||
} | } | ||
. | |||
.mw-parser-output a.chart-box:hover { | |||
background: #e0ecff !important; | |||
transform: scale(1.01); | |||
} | } | ||
.mobileonly { display: none; } | |||
.nomobile { display: block; } | |||
.skin-minerva .mobileonly, | |||
. | .mf-mobile .mobileonly { | ||
display: | display: block; | ||
} | } | ||
.skin-minerva .nomobile, | |||
.mf-mobile .nomobile { | |||
display: none; | |||
} | } | ||