MediaWiki:Common.css: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| (69 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 2: | Zeile 2: | ||
/* ========================================================= | |||
1) Whisky-Bewertung (Gläser, Balken, Summary-Tabelle) | |||
========================================================= */ | |||
/* Layout für die drei Bewertungsboxen */ | |||
/* | |||
.whisky-rating { | .whisky-rating { | ||
display: grid; | display: grid; | ||
| Zeile 16: | Zeile 13: | ||
margin: 1rem 0 1.5rem; | margin: 1rem 0 1.5rem; | ||
} | } | ||
.whisky-rating__item { | .whisky-rating__item { | ||
border: 1px solid #e5e7eb; | border: 1px solid #e5e7eb; | ||
| Zeile 21: | Zeile 19: | ||
padding: 12px 14px; | padding: 12px 14px; | ||
box-shadow: 0 1px 3px rgba(0,0,0,.06); | box-shadow: 0 1px 3px rgba(0,0,0,.06); | ||
background: # | background: #fffaf2; /* leicht whisky-farbener Ton */ | ||
} | } | ||
.whisky-rating__label { | .whisky-rating__label { | ||
font-weight: 600; | font-weight: 600; | ||
| Zeile 29: | Zeile 28: | ||
} | } | ||
/* | /* Container für die Gläser */ | ||
.whisky-rating__widget { | .whisky-rating__widget { | ||
display: flex; | display: flex; | ||
flex-wrap: wrap; /* erlaubt Umbruch bei kleinen Screens */ | flex-wrap: wrap; /* erlaubt Umbruch bei kleinen Screens */ | ||
align-items: center; | align-items: center; | ||
gap: 6px; | |||
} | } | ||
/* | /* Gläser (Button) – konsolidierte Definition */ | ||
.whisky-glass { | .whisky-glass { | ||
display: inline-block; | display: inline-block; | ||
width: | width: 36px; | ||
height: | height: 36px; | ||
margin: 0 6px 6px 0; | margin: 0 6px 6px 0; | ||
border: 0; | border: 0; | ||
padding: 0; | padding: 0; | ||
background: | background-color: transparent; | ||
background-image: url("/index.php?title=Special:FilePath/Whisky_empty.png"); | background-image: url("/index.php?title=Special:FilePath/Whisky_empty.png"); | ||
background-size: contain; | background-size: contain; | ||
background-repeat: no-repeat; | background-repeat: no-repeat; | ||
background-position: center; | background-position: center; | ||
cursor: pointer; | |||
line-height: 0; | line-height: 0; | ||
vertical-align: middle; | vertical-align: middle; | ||
| Zeile 55: | Zeile 55: | ||
opacity: .8; | opacity: .8; | ||
transition: opacity .08s ease, filter .08s ease; | transition: opacity .08s ease, filter .08s ease; | ||
touch-action: manipulation; | |||
} | } | ||
/* | /* Aktive (gefüllte) Gläser */ | ||
.whisky-glass.is-active { | .whisky-glass.is-active { | ||
background-image: url("/index.php?title=Special:FilePath/Whisky_filled.png"); | background-image: url("/index.php?title=Special:FilePath/Whisky_filled.png"); | ||
| Zeile 63: | Zeile 64: | ||
} | } | ||
/* | /* Hover/Fokus-Effekt */ | ||
.whisky-glass:hover, | .whisky-glass:hover, | ||
.whisky-glass:focus { | .whisky-glass:focus { | ||
| Zeile 71: | Zeile 72: | ||
} | } | ||
/* --- Textbereich unter den Gläsern | /* 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 { | .whisky-rating__meta { | ||
margin-top: .4rem; | margin-top: .4rem; | ||
| Zeile 78: | Zeile 85: | ||
} | } | ||
/* | /* Mobile: kleinere Gläser */ | ||
@media (max-width: 480px) { | |||
.whisky-glass { width: 32px; height: 32px; margin: 0 5px 5px 0; } | |||
} | } | ||
@media (max-width: 420px) { | @media (max-width: 420px) { | ||
.whisky-glass { width: | .whisky-glass { width: 28px; height: 28px; } | ||
} | |||
} | } | ||
| Zeile 107: | Zeile 97: | ||
border-collapse: collapse; | border-collapse: collapse; | ||
margin-top: 0.5em; | margin-top: 0.5em; | ||
width: auto; | width: auto; | ||
} | } | ||
.whisky-summary__table th, | .whisky-summary__table th, | ||
.whisky-summary__table td { | .whisky-summary__table td { | ||
| Zeile 115: | Zeile 104: | ||
text-align: left; | text-align: left; | ||
} | } | ||
.whisky-summary__table th { | .whisky-summary__table th { | ||
background: #f5f5f5; | background: #f5f5f5; | ||
font-weight: 600; | font-weight: 600; | ||
} | } | ||
.whisky-summary__table tr:nth-child(even) td { | .whisky-summary__table tr:nth-child(even) td { | ||
background: #fafafa; | background: #fafafa; | ||
} | } | ||
/* Letzte Zeile (Gesamt) hervorheben */ | /* Letzte Zeile (Gesamt) hervorheben */ | ||
.whisky-summary__table tr:last-child td { | .whisky-summary__table tr:last-child td { | ||
| Zeile 133: | Zeile 119: | ||
background: #fff9e6; | background: #fff9e6; | ||
} | } | ||
/* Whisky Ø-Balken */ | /* Whisky Ø-Balken */ | ||
| Zeile 141: | Zeile 125: | ||
align-items: center; | align-items: center; | ||
gap: .5rem; | gap: .5rem; | ||
min-width: 160px; | min-width: 160px; | ||
} | } | ||
.whisky-bar__track { | .whisky-bar__track { | ||
| Zeile 156: | Zeile 140: | ||
width: 0%; | width: 0%; | ||
border-radius: 999px; | border-radius: 999px; | ||
background: linear-gradient(90deg, #f0b429, #d97706); | background: linear-gradient(90deg, #f0b429, #d97706); | ||
transition: width .35s ease; | transition: width .35s ease; | ||
} | } | ||
.whisky-bar__value { | .whisky-bar__value { | ||
font-variant-numeric: tabular-nums; | font-variant-numeric: tabular-nums; | ||
min-width: 3ch; | min-width: 3ch; | ||
text-align: right; | text-align: right; | ||
} | } | ||
.whisky-overall-badge { | |||
display: inline-block; | |||
.whisky- | margin-left: .5rem; | ||
display: | padding: .1rem .45rem; | ||
border-radius: .5rem; | |||
background: #111827; | |||
color: #fff; | |||
font-weight: 600; | |||
font-size: .95rem; | |||
. | line-height: 1.2; | ||
padding: | |||
border: | |||
background | |||
} | } | ||
/* ========================================================= | |||
2) Top-5 Widget | |||
========================================================= */ | |||
.whisky-top5 { | .whisky-top5 { | ||
background: # | background: #fffaf2; /* warm statt weiß */ | ||
border: 1px solid #eee; | border: 1px solid #eee; | ||
border-radius: 12px; | border-radius: 12px; | ||
| Zeile 206: | Zeile 174: | ||
box-shadow: 0 2px 8px rgba(0,0,0,.04); | box-shadow: 0 2px 8px rgba(0,0,0,.04); | ||
} | } | ||
/* Strukturierte Items (wenn das JS diese Klassen nutzt) */ | |||
.whisky-top5__item { | .whisky-top5__item { | ||
display: grid; | display: grid; | ||
| Zeile 215: | Zeile 185: | ||
} | } | ||
.whisky-top5__item:last-child { border-bottom: 0; } | .whisky-top5__item:last-child { border-bottom: 0; } | ||
.whisky-top5__rank { | .whisky-top5__rank { | ||
width: 28px; height: 28px; | width: 28px; | ||
height: 28px; | |||
border-radius: 999px; | border-radius: 999px; | ||
background: #fff1c7; | background: #fff1c7; | ||
color: #7a4b00; | color: #7a4b00; | ||
font-weight: 700; | font-weight: 700; | ||
display: flex; align-items: center; justify-content: center; | 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; } | .whisky-top5__name a:hover { text-decoration: underline; } | ||
/* kleiner Ø-Balken */ | /* kleiner Ø-Balken */ | ||
.whisky-mini { | .whisky-mini { | ||
display: flex; align-items: center; gap: .5rem; | display: flex; | ||
align-items: center; | |||
gap: .5rem; | |||
} | } | ||
.whisky-mini__track { | .whisky-mini__track { | ||
flex: 1 1 140px; height: 8px; background: #ececec; border-radius: 999px; overflow: hidden; | flex: 1 1 140px; | ||
height: 8px; | |||
background: #ececec; | |||
border-radius: 999px; | |||
overflow: hidden; | |||
box-shadow: inset 0 1px 2px rgba(0,0,0,.06); | box-shadow: inset 0 1px 2px rgba(0,0,0,.06); | ||
} | } | ||
.whisky-mini__fill { | .whisky-mini__fill { | ||
height: 100%; width: 0%; | height: 100%; | ||
width: 0%; | |||
background: linear-gradient(90deg, #f0b429, #d97706); | background: linear-gradient(90deg, #f0b429, #d97706); | ||
transition: width .35s ease; | transition: width .35s ease; | ||
} | } | ||
.whisky-mini__val { | .whisky-mini__val { | ||
min-width: 3.2ch; text-align: right; font-variant-numeric: tabular-nums; | min-width: 3.2ch; | ||
text-align: right; | |||
font-variant-numeric: tabular-nums; | |||
color: #222; | color: #222; | ||
} | } | ||
.whisky-top5__votes { color: #666; font-size: .9em; } | .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; | |||
} | |||
/* Layout | /* ========================================================= | ||
3) Layout-Helper, Teaser, Sterne-Rating | |||
========================================================= */ | |||
.grid { display: grid; gap: 1rem; } | .grid { display: grid; gap: 1rem; } | ||
.grid-2 { grid-template-columns: 1fr; } | .grid-2 { grid-template-columns: 1fr; } | ||
@media (min-width: 900px) { .grid-2 { grid-template-columns: 1.2fr 0.8fr; } } | @media (min-width: 900px) { | ||
.grid-2 { grid-template-columns: 1.2fr 0.8fr; } | |||
} | |||
.col { display: flex; flex-direction: column; gap: 1rem; } | .col { display: flex; flex-direction: column; gap: 1rem; } | ||
. | /* News-Listen & kompakte Listen */ | ||
.list.compact .news-item { | |||
display: flex; | |||
gap: .6rem; | |||
padding: | 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 { | .pill-list a { | ||
display:inline-block; margin:.25rem; padding:.35rem .7rem; border:1px solid #ddd; border-radius:999px; text-decoration:none; | display:inline-block; | ||
margin:.25rem; | |||
padding:.35rem .7rem; | |||
border:1px solid #ddd; | |||
border-radius:999px; | |||
text-decoration:none; | |||
} | } | ||
.pill-list a:hover { background:#f8f8f8; } | .pill-list a:hover { background:#f8f8f8; } | ||
/* Whisky cards */ | /* Whisky cards */ | ||
.whisky-card { display: grid; grid-template-columns: 140px 1fr; gap: .9rem; align-items: start; } | .whisky-card { | ||
display: grid; | |||
grid-template-columns: 140px 1fr; | |||
gap: .9rem; | |||
align-items: start; | |||
} | |||
.whisky-card .whisky-media img { border-radius: 10px; } | .whisky-card .whisky-media img { border-radius: 10px; } | ||
.whisky-card h3 { margin:.2rem 0; } | .whisky-card h3 { margin:.2rem 0; } | ||
| Zeile 294: | Zeile 302: | ||
.whisky-mini .dim { color:#666; } | .whisky-mini .dim { color:#666; } | ||
/* Teaser grid (3 | /* Teaser grid (3 Spalten auf Desktop) */ | ||
.teaser-grid { display:grid; grid-template-columns:1fr; gap:.25rem; } | .teaser-grid { display:grid; grid-template-columns:1fr; gap:.25rem; } | ||
@media (min-width: 700px){ .teaser-grid { grid-template-columns:1fr 1fr 1fr; } } | @media (min-width: 700px){ | ||
.teaser-grid { grid-template-columns:1fr 1fr 1fr; } | |||
} | |||
/* Recent changes block */ | /* Recent changes block */ | ||
.recent-changes { max-height: 360px; overflow:auto; border:1px solid #eee; border-radius:10px; padding:.5rem; background:#fafafa; } | .recent-changes { | ||
max-height: 360px; | |||
overflow:auto; | |||
border:1px solid #eee; | |||
border-radius:10px; | |||
padding:.5rem; | |||
background:#fafafa; | |||
} | |||
/* Simple star rating (rendered via JS) */ | /* Simple star rating (rendered via JS) */ | ||
.rating { --stars: 0; position: relative; display:inline-block; font-size: 1.1rem; line-height: 1; } | .rating { | ||
.rating::before { content: "★★★★★"; letter-spacing: .1rem; color:#ddd; } | --stars: 0; | ||
.rating::after { content: "★★★★★"; letter-spacing: .1rem; color:#f5b50a; position:absolute; left:0; top:0; width: calc(var(--stars) * 20%); overflow:hidden; } | 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 */ | /* Typo tweaks */ | ||
| Zeile 311: | Zeile 347: | ||
/* ========================================================= | |||
4) ADOS: Mobile-first Layout & Basis-Farben | |||
========================================================= */ | |||
/* ===== ADOS: Mobile-first Layout & | |||
/* Typografie & Basis */ | /* Typografie & Basis */ | ||
:root { | :root { | ||
--bg: # | --bg: #faf8f3; | ||
--card: # | --card: #fffaf2; | ||
--muted: # | --muted: #f6f0e6; | ||
--border: #e6e6e6; | --border: #e6e6e6; | ||
--text: #222; | --text: #222; | ||
| Zeile 330: | Zeile 364: | ||
--shadow: 0 1px 3px rgba(0,0,0,.06); | --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) */ | /* Grid (1 Spalte mobil, 2 Spalten ab 900px) */ | ||
.ados-grid { display: grid; gap: 12px; } | .ados-grid { | ||
.col { display: flex; flex-direction: column; gap: 10px; } | display: grid; | ||
gap: 12px; | |||
} | |||
.col { | |||
display: flex; | |||
flex-direction: column; | |||
gap: 10px; | |||
} | |||
@media (min-width: 900px) { | @media (min-width: 900px) { | ||
.ados-grid { grid-template-columns: 1.15fr .85fr; align-items: start; } | .ados-grid { | ||
grid-template-columns: 1.15fr .85fr; | |||
align-items: start; | |||
} | |||
} | } | ||
/* | /* Karten (globale Verwendung) */ | ||
.card { | .card { | ||
background: var(--card); | background: var(--card); | ||
| Zeile 367: | Zeile 410: | ||
} | } | ||
.card h2 { | .card h2 { | ||
margin: 0 0 .5rem; padding-bottom: .25rem; | margin: 0 0 .5rem; | ||
border-bottom: 1px solid #eee; font-size: 1.12rem; | padding-bottom: .25rem; | ||
border-bottom: 1px solid #eee; | |||
font-size: 1.12rem; | |||
} | } | ||
.card-muted { background: var(--muted); } | .card-muted { background: var(--muted); } | ||
/* | /* Meta/Hinweis */ | ||
. | .meta, | ||
.hint { | |||
font-size: 90%; | |||
color: var(--text-sub); | |||
margin-top: .35rem; | |||
} | } | ||
/* Navigation Einzeiler */ | /* Navigation Einzeiler */ | ||
| Zeile 400: | Zeile 429: | ||
/* Footer */ | /* Footer */ | ||
.ados-footerdate { font-size: 80%; color: #777; margin-top: .6rem; } | .ados-footerdate { | ||
font-size: 80%; | |||
color: #777; | |||
margin-top: .6rem; | |||
} | |||
.ados-footerinfo { | .ados-footerinfo { | ||
border-top: 1px solid var(--border); margin-top: .8rem; padding-top: .5rem; | border-top: 1px solid var(--border); | ||
font-size: 92%; color: var(--text-sub); | 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 */ | /* Touch-friendly auf sehr kleinen Displays */ | ||
| Zeile 411: | Zeile 452: | ||
.card { padding: 12px; } | .card { padding: 12px; } | ||
.card h2 { font-size: 1.05rem; } | .card h2 { font-size: 1.05rem; } | ||
} | } | ||
/* Leichtes Hover-Feedback (nur Desktop) */ | /* Leichtes Hover-Feedback (nur Desktop) */ | ||
@media (pointer: fine) { | @media (pointer: fine) { | ||
.card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.08); transition: box-shadow .2s; } | .card:hover { | ||
box-shadow: 0 6px 18px rgba(0,0,0,.08); | |||
transition: box-shadow .2s; | |||
} | |||
} | } | ||
/* Bevorzugt dunkles Farbschema */ | /* Bevorzugt dunkles Farbschema */ | ||
@media (prefers-color-scheme: dark) { | @media (prefers-color-scheme: dark) { | ||
:root { | :root { | ||
--bg: #121212; --card: #1c1c1c; --muted: #181818; --border: #313131; | --bg: #121212; | ||
--text: #e8e8e8; --text-sub: #b4b4b4; --link: #86c2ff; --link-hover: #c5e1ff; | --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); | --shadow: 0 1px 4px rgba(0,0,0,.6); | ||
} | } | ||
| Zeile 444: | Zeile 484: | ||
/* ===== Hard Fix: Force Light Mode on iOS/Safari ===== */ | /* ========================================================= | ||
html { color-scheme: light !important; } | 5) Hard Fix: Force Light Mode on iOS/Safari | ||
========================================================= */ | |||
html { color-scheme: light !important; } | |||
@media (prefers-color-scheme: dark) { | @media (prefers-color-scheme: dark) { | ||
html, body { | |||
html, body { background: #ffffff !important; color: #222 !important; } | background: #ffffff !important; | ||
.card, .card-muted, | color: #222 !important; | ||
} | |||
.card, | |||
.card-muted, | |||
.whisky-rating__item, | .whisky-rating__item, | ||
.whisky-top5, | .whisky-top5, | ||
| Zeile 470: | Zeile 515: | ||
/* ========================================================= | |||
6) Modal / News-Popup | |||
========================================================= */ | |||
.mwnews-overlay { | |||
.mwnews-overlay{ | position:fixed; | ||
position:fixed; inset:0; | inset:0; | ||
background:rgba(0,0,0,.45); | background:rgba(0,0,0,.45); | ||
z-index:10000; | z-index:10000; | ||
} | } | ||
.mwnews-modal{ | .mwnews-modal { | ||
position:fixed; top:50%; left:50%; | position:fixed; | ||
top:50%; | |||
left:50%; | |||
transform:translate(-50%,-50%); | transform:translate(-50%,-50%); | ||
background:#fff; color:#111; | background:#fff; | ||
max-width:96%; width:760px; | color:#111; | ||
max-width:96%; | |||
width:760px; | |||
padding:22px 26px 26px; | padding:22px 26px 26px; | ||
border-radius:14px; | border-radius:14px; | ||
| Zeile 489: | Zeile 540: | ||
text-align:center; | text-align:center; | ||
box-shadow:0 10px 28px rgba(0,0,0,.35); | box-shadow:0 10px 28px rgba(0,0,0,.35); | ||
max-height:94vh; overflow-y:auto; | 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 */ | /* Karten im Popup */ | ||
.mwnews-cards{ | .mwnews-cards { | ||
display:flex; gap:12px; flex-wrap:wrap; justify-content:center; | display:flex; | ||
gap:12px; | |||
flex-wrap:wrap; | |||
justify-content:center; | |||
} | } | ||
.mwnews-card{ | .mwnews-card { | ||
display:block; width:300px; text-decoration:none; color:inherit; | display:block; | ||
background:#f8f9fa; border:1px solid #e3e6e8; border-radius:10px; overflow:hidden; | 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; | transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; | ||
box-shadow:0 3px 8px rgba(0,0,0,.12); | 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-card:hover { | ||
.mwnews-thumb img{ display:block; width:100%; height:210px; object-fit:cover; } | transform:translateY(-2px); | ||
.mwnews-meta{ padding:10px 12px; } | box-shadow:0 8px 18px rgba(0,0,0,.18); | ||
.mwnews-title{ font-weight:700; font-size:1.02em; margin-bottom:6px; } | border-color:#d5dadd; | ||
.mwnews-cta{ color:#36c; font-weight:600; } | } | ||
.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 */ | /* Buttons */ | ||
.mwnews-btnrow{ display:flex; justify-content:center; gap:10px; margin-top:12px; } | .mwnews-btnrow { | ||
.mwnews-close{ | display:flex; | ||
padding:10px 16px; border:0; background:#36c; color:#fff; | justify-content:center; | ||
border-radius:6px; cursor:pointer; font-size:1em; font-weight:600; | 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; } | .mwnews-close:hover { background:#258; } | ||
/* Mobil */ | /* Mobil */ | ||
@media (max-width:640px){ | @media (max-width:640px){ | ||
.mwnews-modal{ width:calc(100% - 20px); padding:16px; } | .mwnews-modal{ | ||
width:calc(100% - 20px); | |||
padding:16px; | |||
} | |||
.mwnews-card{ width:100%; } | .mwnews-card{ width:100%; } | ||
.mwnews-thumb img{ height:240px; object-fit:contain; background:#000; } | .mwnews-thumb img{ | ||
height:240px; | |||
object-fit:contain; | |||
background:#000; | |||
} | |||
} | } | ||
/* ========= | /* ========================================================= | ||
7) Links, Navigationslisten, Chips | |||
========================================================= */ | |||
/* Grundlegende Linksichtbarkeit */ | |||
.mw-parser-output a { | .mw-parser-output a { | ||
color: #2d6ca2; | color: #2d6ca2; | ||
text-decoration: underline; | text-decoration: underline; | ||
text-underline-offset: 2px; | text-underline-offset: 2px; | ||
} | } | ||
| Zeile 537: | Zeile 642: | ||
.mw-parser-output a:focus { | .mw-parser-output a:focus { | ||
color: #1c4d7d; | color: #1c4d7d; | ||
text-decoration-thickness: 2px; | text-decoration-thickness: 2px; | ||
} | } | ||
.mw-parser-output a:visited { color: #5a3fa8; } | .mw-parser-output a:visited { color: #5a3fa8; } | ||
/* Tastaturfokus | /* Tastaturfokus */ | ||
.mw-parser-output a:focus-visible { | .mw-parser-output a:focus-visible { | ||
outline: 3px solid #99c2ff; | outline: 3px solid #99c2ff; | ||
| Zeile 556: | Zeile 661: | ||
} | } | ||
/* | /* Link-Listen / Navigationslisten */ | ||
.list-links { list-style: none; padding-left: 0; margin: .4rem 0; } | .list-links { | ||
list-style: none; | |||
padding-left: 0; | |||
margin: .4rem 0; | |||
} | |||
.list-links li { | .list-links li { | ||
display: flex; align-items: center; gap: .5rem; | display: flex; | ||
align-items: center; | |||
gap: .5rem; | |||
padding: .45rem .6rem; | padding: .45rem .6rem; | ||
border: 1px solid #e6e6e6; | border: 1px solid #e6e6e6; | ||
border-radius: 10px; | border-radius: 10px; | ||
background: # | background: #fffaf2; | ||
margin: .35rem 0; | margin: .35rem 0; | ||
transition: transform .06s ease, box-shadow .12s ease, background .12s ease; | transition: transform .06s ease, box-shadow .12s ease, background .12s ease; | ||
} | } | ||
.list-links li::before { content: "›"; font-weight: 700; color: #888; } | .list-links li::before { | ||
.list-links li:hover { background:#f8fbff; transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0,0,0,.06); } | content: "›"; | ||
.list-links li a { text-decoration: none; } | font-weight: 700; | ||
.list-links li a:hover { text-decoration: underline; } | 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 { | .pill-row a, | ||
.pill-list a { | |||
display: inline-block; | display: inline-block; | ||
border: 1px solid #e0e0e0; | border: 1px solid #e0e0e0; | ||
padding: .35rem .7rem; | padding: .35rem .7rem; | ||
border-radius: 999px; | border-radius: 999px; | ||
background: # | background: #fffaf2; | ||
text-decoration: none; | text-decoration: none; | ||
transition: background .12s ease, box-shadow .12s ease, transform .06s ease; | 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:hover, | ||
.pill-row a:focus-visible, .pill-list a:focus-visible { outline: 3px solid #99c2ff; outline-offset: 2px; } | .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 { | .card .card-link { | ||
position: static; | position: static; | ||
font-weight: 600; | font-weight: 600; | ||
} | } | ||
.card.card-clickable { cursor: pointer; } | .card.card-clickable { cursor: pointer; } | ||
.card.card-clickable:hover { box-shadow: 0 6px 18px rgba(0,0,0,.08); } | .card.card-clickable:hover { | ||
box-shadow: 0 6px 18px rgba(0,0,0,.08); | |||
} | |||
.card .card-overlay { | .card .card-overlay { | ||
position:absolute; inset:0; z-index:1; | position:absolute; | ||
text-indent:-9999px; | inset:0; | ||
z-index:1; | |||
text-indent:-9999px; | |||
background: transparent; | background: transparent; | ||
} | } | ||
/* | /* Hinweise-Icons */ | ||
a.external::after { content:" ↗"; font-size:.9em; } | a.external::after { content:" ↗"; font-size:.9em; } | ||
a.category-link::after { content:" ⟶"; } | a.category-link::after { content:" ⟶"; } | ||
/* | /* Dark-Mode Anpassungen für Link-Kacheln */ | ||
@media (prefers-color-scheme: dark) { | @media (prefers-color-scheme: dark) { | ||
.mw-parser-output a { color:#86c2ff; } | .mw-parser-output a { color:#86c2ff; } | ||
.mw-parser-output a:hover, .mw-parser-output a:focus { color:#c5e1ff; } | .mw-parser-output a:hover, | ||
.list-links li { background:#1c1c1c; border-color:#313131; } | .mw-parser-output a:focus { color:#c5e1ff; } | ||
.list-links li { | |||
background:#1c1c1c; | |||
border-color:#313131; | |||
} | |||
.list-links li:hover { background:#20242b; } | .list-links li:hover { background:#20242b; } | ||
.pill-row a, .pill-list a { background:#1c1c1c; border-color:#313131; } | .pill-row a, | ||
.pill-list a { | |||
background:#1c1c1c; | |||
border-color:#313131; | |||
} | |||
} | } | ||
/* ========================================================= | |||
8) Cargo / Diagramme | |||
========================================================= */ | |||
.cargoNVD3chart svg { | .cargoNVD3chart svg { | ||
| Zeile 626: | Zeile 771: | ||
.nvd3 text { | .nvd3 text { | ||
fill: #111 !important; | 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 { | |||
position: fixed; | |||
inset: 0; | |||
background: rgba(0,0,0,0.45); | |||
z-index: 10000; | |||
} | |||
.mw-popup-modal { | |||
position: fixed; | |||
top: 50%; | |||
left: 50%; | |||
transform: translate(-50%, -50%); | |||
background: #fff; | |||
max-width: 96%; | |||
width: 720px; | |||
padding: 22px 26px 26px; | |||
border-radius: 14px; | |||
z-index: 10001; | |||
text-align: center; | |||
box-shadow: 0 10px 28px rgba(0,0,0,0.35); | |||
max-height: 94vh; | |||
overflow-y: auto; | |||
} | |||
/* Canvas-Bühne */ | |||
.mw-fw-canvas-wrap { | |||
position: relative; | |||
height: 240px; | |||
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); | |||
} | |||
.mw-fw-canvas { display:block; width:100%; height:100%; } | |||
/* Text */ | |||
.mw-popup-modal h2 { | |||
margin: 8px 0 6px; | |||
font-size: 1.38em; | |||
} | |||
.mw-popup-content p { | |||
margin: 0.55em 0; | |||
font-size: 1.06em; | |||
line-height: 1.55; | |||
} | |||
/* Buttons */ | |||
.mw-popup-button-row { | |||
display: flex; | |||
justify-content: center; | |||
gap: 10px; | |||
margin-top: 12px; | |||
flex-wrap: wrap; | |||
} | |||
.mw-popup-wiki-button { | |||
padding: 10px 16px; | |||
background: #f60; | |||
color: #fff; | |||
border-radius: 6px; | |||
text-decoration: none; | |||
font-weight: 700; | |||
} | |||
.mw-popup-wiki-button:hover { background: #d85000; } | |||
.mw-popup-close { | |||
padding: 10px 16px; | |||
border: none; | |||
background: #36c; | |||
color: #fff; | |||
border-radius: 6px; | |||
cursor: pointer; | |||
font-weight: 700; | |||
} | |||
.mw-popup-close:hover { background: #258; } | |||
/* Mobil */ | |||
@media (max-width: 640px) { | |||
.mw-popup-modal { | |||
width: calc(100% - 20px); | |||
padding: 16px; | |||
} | |||
.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 (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 */ | |||
#ados-labelscan { | |||
max-width: 640px; | |||
margin: 0 auto; | |||
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; | |||
top: 0; | |||
left: 0; | |||
right: 0; | |||
z-index: 2000; | |||
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; | |||
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; | |||
} | |||
/* 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; | |||
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; | |||
} | |||
/* 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; | |||
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, | |||
.ados-hero .whisky-rating__item { | |||
background: transparent !important; | |||
border: 0 !important; | |||
box-shadow: none !important; | |||
} | |||
/* ---------------- MOBIL ---------------- */ | |||
@media (max-width: 720px) { | |||
.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; | |||
justify-content: center; | |||
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; | |||
grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); /* links breiter als rechts */ | |||
gap: 1.6rem 2.2rem; | |||
align-items: flex-start; | |||
} | |||
.ados-main-left, | |||
.ados-main-right { | |||
display: flex; | |||
flex-direction: column; | |||
gap: 1.1rem; | |||
} | |||
/* Boxen innerhalb der Hauptseite – etwas „luftiger“ */ | |||
.ados-mainpage .ados-box { | |||
background: #ffffff; | |||
border: 1px solid #e4e4e4; | |||
border-radius: 12px; | |||
padding: 12px 14px; | |||
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; | |||
} | |||
/* ========================================================= | |||
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); | |||
} | |||
#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: 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 */ | |||
.mw-parser-output a.chart-box, | |||
.mw-parser-output a.chart-box:visited { | |||
display: block !important; | |||
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: block; | |||
} | |||
.skin-minerva .nomobile, | |||
.mf-mobile .nomobile { | |||
display: none; | |||
} | } | ||
Aktuelle Version vom 18. April 2026, 16:52 Uhr
/* 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 {
position: fixed;
inset: 0;
background: rgba(0,0,0,0.45);
z-index: 10000;
}
.mw-popup-modal {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #fff;
max-width: 96%;
width: 720px;
padding: 22px 26px 26px;
border-radius: 14px;
z-index: 10001;
text-align: center;
box-shadow: 0 10px 28px rgba(0,0,0,0.35);
max-height: 94vh;
overflow-y: auto;
}
/* Canvas-Bühne */
.mw-fw-canvas-wrap {
position: relative;
height: 240px;
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);
}
.mw-fw-canvas { display:block; width:100%; height:100%; }
/* Text */
.mw-popup-modal h2 {
margin: 8px 0 6px;
font-size: 1.38em;
}
.mw-popup-content p {
margin: 0.55em 0;
font-size: 1.06em;
line-height: 1.55;
}
/* Buttons */
.mw-popup-button-row {
display: flex;
justify-content: center;
gap: 10px;
margin-top: 12px;
flex-wrap: wrap;
}
.mw-popup-wiki-button {
padding: 10px 16px;
background: #f60;
color: #fff;
border-radius: 6px;
text-decoration: none;
font-weight: 700;
}
.mw-popup-wiki-button:hover { background: #d85000; }
.mw-popup-close {
padding: 10px 16px;
border: none;
background: #36c;
color: #fff;
border-radius: 6px;
cursor: pointer;
font-weight: 700;
}
.mw-popup-close:hover { background: #258; }
/* Mobil */
@media (max-width: 640px) {
.mw-popup-modal {
width: calc(100% - 20px);
padding: 16px;
}
.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 (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 */
#ados-labelscan {
max-width: 640px;
margin: 0 auto;
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;
top: 0;
left: 0;
right: 0;
z-index: 2000;
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;
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;
}
/* 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;
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;
}
/* 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;
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,
.ados-hero .whisky-rating__item {
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
}
/* ---------------- MOBIL ---------------- */
@media (max-width: 720px) {
.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;
justify-content: center;
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;
grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); /* links breiter als rechts */
gap: 1.6rem 2.2rem;
align-items: flex-start;
}
.ados-main-left,
.ados-main-right {
display: flex;
flex-direction: column;
gap: 1.1rem;
}
/* Boxen innerhalb der Hauptseite – etwas „luftiger“ */
.ados-mainpage .ados-box {
background: #ffffff;
border: 1px solid #e4e4e4;
border-radius: 12px;
padding: 12px 14px;
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;
}
/* =========================================================
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);
}
#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: 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 */
.mw-parser-output a.chart-box,
.mw-parser-output a.chart-box:visited {
display: block !important;
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: block;
}
.skin-minerva .nomobile,
.mf-mobile .nomobile {
display: none;
}