MediaWiki:Common.css
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/* 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; }
}
.chart-box {
display:block;
border:2px solid #337ab7;
padding:12px;
background:#f0f8ff;
margin-bottom:1em;
text-align:center;
text-decoration:none;
color:inherit;
border-radius:6px;
transition:all 0.2s ease;
}
.chart-box:hover {
background:#e0ecff;
transform:scale(1.01);
}