MediaWiki:Common.css: Difference between revisions

From Cobi Collectors Wiki
No edit summary
Tag: Reverted
No edit summary
Tag: Reverted
Line 16: Line 16:
/* Gemeinsame Basis für alle Box-Elemente */
/* Gemeinsame Basis für alle Box-Elemente */
.infobox, .headersetpage, .headernocolumn, .headercatpage,  
.infobox, .headersetpage, .headernocolumn, .headercatpage,  
.box1, .box2, .box3, .box4, .brickparent, .catlinks, #toc, .toc {
.box1, .box2, .box3, .box4 {
     background: var(--bg-light) !important;
     background: var(--bg-light);
     border: var(--border-gray) !important;
     border: var(--border-gray);
     box-shadow: var(--shadow-dark) !important;
     box-shadow: var(--shadow-dark);
     box-sizing: border-box;
     box-sizing: border-box;
}
}


/* ==========================================================================
/* ==========================================================================
   2. BOX-ELEMENTE & HEADERS (DESKTOP)
   2. BOX-ELEMENTE & HEADERS
   ========================================================================== */
   ========================================================================== */
.infobox {
    float: right;
    margin: 0 0 0.5em 0.5em;
    padding: 0.5em;
    width: 300px;
    vertical-align: middle;
}


/* Allgemeine Header-Klassen */
.headersetpage, .headernocolumn, .headercatpage {
.headersetpage, .headernocolumn, .headercatpage {
     width: 100% !important;
     width: 100%;
     margin-bottom: 20px !important;
     margin-bottom: 20px;
     padding: 15px !important;
     padding: 8px 15px;
     font-size: 18px;
     font-size: 18px;
}
}
Line 51: Line 57:


.headernocolumn { height: 80px; font-size: 16px; }
.headernocolumn { height: 80px; font-size: 16px; }
.headercatpage { height: 100px; }


/* MAINPAGE HEADER (FLEXBOX DESIGN) */
/* MAINPAGE HEADER */
.header-mainpage {
.header-mainpage {
     display: flex !important;
     display: flex !important;
Line 91: Line 98:
}
}


/* TEXTBOX & HEADLINES */
/* CATEGORY HEADER */
.headercatpage {
    width: 100% !important;
    background: var(--bg-light) !important;
    border: var(--border-gray) !important;
    box-shadow: var(--shadow-dark) !important;
    padding: 15px !important;
    border-collapse: separate !important;
    border-spacing: 10px 0 !important;
    margin-bottom: 20px !important;
}
 
.textbox {
.textbox {
     width: 50%;
     width: 50%;
Line 114: Line 132:


/* ==========================================================================
/* ==========================================================================
   3. ARTIKEL-LAYOUT (INFOBOX & INHALT)
   3. ARTIKEL-LAYOUT (LINKE SPALTE & INFOBOX)
   ========================================================================== */
   ========================================================================== */


Line 122: Line 140:
     width: 300px;
     width: 300px;
     margin: 0 0 20px 20px !important;
     margin: 0 0 20px 20px !important;
    padding: 0.5em;
    vertical-align: middle;
    z-index: 10;
}
}


/* Umfluss-Steuerung: Verhindert, dass Text die Infobox überlappt */
.mw-parser-output h2,  
.mw-parser-output h2,  
.mw-parser-output .gallery,  
.mw-parser-output .gallery,  
.mw-parser-output p,
.mw-parser-output p,
.mw-parser-output ul {
.mw-parser-output ul,
     display: flow-root;
.aboutset-container {
     display: flow-root;  
     margin-right: 0 !important;
     margin-right: 0 !important;
    overflow: hidden;
}
}


/* --- ABOUT-SET CONTAINER FIX --- */
.aboutset-container {
.aboutset-container {
     display: flex !important;
     display: flex;  
     align-items: flex-start !important;
     align-items: flex-start;
     gap: 25px !important;
     gap: 25px;
     margin: 20px 0 !important;
     margin-top: 20px;
     /* Kein flow-root hier, damit Flexbox sauber arbeitet */
     margin-bottom: 20px;
    clear: none !important;  
}
}


.aboutsetlogo {
.aboutsetlogo { flex: 0 0 150px; }
    flex: 0 0 150px !important;
.aboutsettext { flex: 1; }
    display: block !important;
}


.aboutsetlogo img {
h2 {
     width: 150px !important;
     border-bottom: 1px solid #a2a9b1;
     height: auto !important;
     margin-bottom: 15px;
    padding-top: 10px;
}
}


.aboutsettext {
.mw-parser-output ul {
     flex: 1 !important;
     margin-left: 1.5em;
     min-width: 0; /* Verhindert das "Rausplatzen" bei langen Wörtern */
     padding-left: 0.5em;
    list-style-type: disc;
}
}


/* Listen-Fix speziell für den About-Bereich */
.aboutsettext ul { overflow: visible; }
.aboutsettext ul {
.mw-parser-output li { margin-bottom: 0.3em; }
    margin-left: 1.5em !important;
    list-style-type: disc !important;
    display: block !important; /* Wichtig: Überschreibt das flow-root der allgemeinen Regel */
}
 
.aboutsettext li {
    margin-bottom: 0.4em !important;
}
 
/* Inhaltsverzeichnis (TOC) */
#toc, .toc {
    border-radius: 8px;
    padding: 15px !important;
    display: inline-block;
}
 
.toctitle {
    background-color: var(--accent-blue);
    margin: -15px -15px 15px -15px;
    padding: 10px;
    border-radius: 8px 8px 0 0;
    text-align: center;
}
 
.toctitle h2 {
    font-size: 16px !important;
    font-weight: bold !important;
    border: none !important;
    padding: 0 !important;
}


/* ==========================================================================
/* ==========================================================================
   4. GALERIEN & TABELLEN
   4. GALERIE & TABELLEN
   ========================================================================== */
   ========================================================================== */


/* Brick-Galerie */
ul.gallery {
ul.gallery {
     display: flex !important;
     display: flex !important;
Line 206: Line 189:
     margin: 10px 0 20px 0 !important;
     margin: 10px 0 20px 0 !important;
     list-style: none !important;
     list-style: none !important;
    clear: none !important;
    width: auto !important;
    max-width: 100% !important;
}
}


Line 220: Line 206:
     transition: background 0.2s ease !important;
     transition: background 0.2s ease !important;
     overflow: hidden !important;
     overflow: hidden !important;
    box-sizing: border-box !important;
}
}


li.gallerybox:hover {
li.gallerybox:hover { background-color: rgba(159, 182, 205, 0.25) !important; }
    background-color: rgba(159, 182, 205, 0.25) !important;
}


li.gallerybox div.thumb {
li.gallerybox div.thumb {
Line 236: Line 221:


.gallerytext {
.gallerytext {
    width: 100% !important;
     padding: 5px 12px 12px 12px !important;
     padding: 5px 12px 12px 12px !important;
     text-align: left !important;
     text-align: left !important;
Line 242: Line 228:
}
}


/* Cobi-Tabellen */
.cobitable {
.cobitable {
    background-color: #f8f9fa;
     margin: 1em auto;
     margin: 1em auto;
     border: 1px solid #000;
     border: 1px solid #000;
Line 249: Line 235:
     width: fit-content;
     width: fit-content;
     max-width: 100%;
     max-width: 100%;
    box-shadow: var(--shadow-dark);
     border-radius: 4px;
     border-radius: 4px;
}
}


.cobitable th, .cobitable td {
.cobitable th, .cobitable td { border: 1px solid #444 !important; padding: 0.6em 0.8em; }
    border: 1px solid #444 !important;
.cobitable th { background-color: var(--accent-blue); font-weight: bold; }
    padding: 0.6em 0.8em;
}
 
.cobitable th {
    background-color: var(--accent-blue);
    font-weight: bold;
}


/* ==========================================================================
/* ==========================================================================
   9. KATEGORIE-LISTEN (MEHRSPALTIG & ICONS)
   5. GRIDS & BRICK-CONTAINER
   ========================================================================== */
   ========================================================================== */
.mainparent { display: grid; grid-template-columns: 4fr 6fr; gap: 15px; }
.box1 { grid-column: 1 / 3; padding: 15px; }
.box2, .box3 { grid-column: 1; padding: 15px; }
.box4 { grid-column: 2; grid-row: 2 / 4; padding: 15px; text-align: center; }
.box4-content { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; margin-top: 15px; }
.box4-content a { flex: 0 0 150px !important; margin: 2px !important; padding: 5px; border-radius: 8px; }
.box4-content a:hover { background-color: rgba(159, 182, 205, 0.25); }


/* Die eigentliche Kategorieseite (Listen-Optimierung) */
.innercenter { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(100px, 150px)); gap: 15px; justify-content: flex-start; }
.mw-category {
.innercenter a:hover { background-color: rgba(159, 182, 205, 0.25) !important; }
    column-count: 2;  
    column-gap: 30px;
}


.mw-category-group {
.brickparent {
     break-inside: avoid-column;
    padding: 25px;
     margin-bottom: 15px;
    background: #ebecf0;
    border: var(--border-gray);
     box-shadow: var(--shadow-dark);
    border-radius: 8px;
     margin: 20px 0;
}
}


.mw-category-group ul li {
/* ==========================================================================
     list-style-type: none !important;
  6. TOC & KATEGORIEN
     padding: 4px 0;
  ========================================================================== */
     border-bottom: 1px solid #eee;
#toc, .toc {
    background-color: var(--bg-light) !important;
     border: var(--border-gray) !important;
     box-shadow: 3px 3px 8px rgba(0,0,0,0.1) !important;
     border-radius: 8px;
    padding: 15px !important;
}
}


/* Das Icon vor jedem Kategorie-Link */
.toctitle {
.mw-category-group ul li a::before {
     background-color: var(--accent-blue);
     content: "▶";
     margin: -15px -15px 15px -15px;
    font-size: 0.8em;
    padding: 10px;
    color: var(--accent-blue);
     border-radius: 8px 8px 0 0;
     margin-right: 8px;
     display: inline-block;
}
}


/* Kategorie-Box ganz unten auf jeder Artikelseite */
.catlinks {
.catlinks {
     background-color: var(--bg-light) !important;
     background-color: var(--bg-light) !important;
Line 299: Line 290:
     border-radius: 4px;
     border-radius: 4px;
     margin-top: 2em;
     margin-top: 2em;
    padding: 10px !important;
}
 
/* DIE ICONS FÜR DIE KATEGORIELITE */
.mw-category { column-count: 2; column-gap: 30px; }
.mw-category-group ul li { list-style-type: none !important; padding: 4px 0; border-bottom: 1px solid #eee; }
.mw-category-group ul li a::before {
    content: "▶";
    font-size: 0.8em;
    color: var(--accent-blue);
    margin-right: 8px;
}
}


/* ==========================================================================
/* ==========================================================================
   5. SIDEBAR (TIMELESS STABIL)
   7. SIDEBAR (STABILES DESIGN)
   ========================================================================== */
   ========================================================================== */
.sidebar-chunk {
.sidebar-chunk {
     background: var(--bg-light) !important;
     background: var(--bg-light) !important;
Line 315: Line 314:
}
}


.sidebar-chunk ul {
.sidebar-chunk ul { list-style: none !important; margin: 5px 0 !important; padding: 0 !important; }
    list-style: none !important;
.sidebar-chunk ul li a { color: #333 !important; padding: 4px 5px !important; display: block !important; }
    margin: 5px 0 !important;
.sidebar-chunk ul li a:hover { color: var(--accent-blue) !important; text-decoration: underline !important; }
    padding: 0 !important;
}


.sidebar-chunk ul li a {
#p-logo { text-align: center !important; margin-bottom: 15px !important; }
    color: #333 !important;
    padding: 4px 5px !important;
    display: block !important;
}
 
.sidebar-chunk ul li a:hover {
    color: var(--accent-blue) !important;
    text-decoration: underline !important;
}
 
#p-logo {
    text-align: center !important;
    margin-bottom: 15px !important;
    display: block !important;
}


/* ==========================================================================
/* ==========================================================================
   6. MAINPAGE GRIDS & BRICK-CONTAINER
   8. MOBILE OPTIMIERUNG
   ========================================================================== */
   ========================================================================== */
.mainparent { display: grid; grid-template-columns: 4fr 6fr; gap: 15px; }
.box1 { grid-column: 1 / 3; padding: 15px; }
.box2, .box3 { grid-column: 1; padding: 15px; }
.box4 { grid-column: 2; grid-row: 2 / 4; padding: 15px; text-align: center; }
.box4-content { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; margin-top: 15px; }
.box4-content a { flex: 0 0 150px !important; margin: 2px !important; padding: 5px; border-radius: 8px; }
.box4-content a:hover { background-color: rgba(159, 182, 205, 0.25); }
.innercenter {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(100px, 150px));
    gap: 15px;
    justify-content: flex-start;
    align-items: center;
}
.brickparent {
    padding: 25px;
    border-radius: 8px;
    margin: 20px 0;
}
/* ==========================================================================
  7. MOBILE OPTIMIERUNG (@MEDIA)
  ========================================================================== */
@media screen and (max-width: 850px) {
@media screen and (max-width: 850px) {
     .mainparent { display: flex !important; flex-direction: column !important; }
     /* Hier habe ich alle deine mobilen Regeln 1:1 gelassen */
     .infobox { float: none !important; width: 100% !important; margin: 10px 0 20px 0 !important; }
    div.mainparent { display: flex !important; flex-direction: column !important; width: 100% !important; }
     .aboutset-container { flex-direction: column !important; align-items: center !important; }
     .infobox { float: none !important; width: 100% !important; margin: 10px 0 20px 0 !important; clear: both !important; }
     .aboutsetlogo { flex: 0 0 auto !important; max-width: 100px !important; }
     .aboutset-container { flex-direction: column !important; align-items: center !important; text-align: center !important; }
     .aboutsetlogo { flex: 0 0 auto !important; margin: 0 0 15px 0 !important; max-width: 100px !important; }
    .aboutsetlogo img { width: 100% !important; height: auto !important; }
      
      
     ul.gallery { justify-content: center !important; gap: 10px; }
     ul.gallery { max-width: 100% !important; justify-content: center !important; display: flex !important; gap: 10px; }
     li.gallerybox { width: calc(50% - 20px) !important; min-width: 140px !important; margin: 5px !important; }
     li.gallerybox { width: calc(50% - 20px) !important; min-width: 140px !important; height: auto !important; margin: 5px !important; }


     .header-mainpage { flex-direction: column !important; text-align: center !important; }
     .header-mainpage { flex-direction: column !important; text-align: center !important; padding: 20px 15px !important; }
     .header-main-text { order: 2; margin-top: 15px !important; }
     .header-main-text { order: 2; margin-top: 15px !important; text-align: center !important; }
     .header-main-logo { order: 1; }
     .header-main-logo { order: 1; margin: 0 auto !important; }
 
   
     .headercatpage tbody, .headercatpage tr { display: flex !important; flex-direction: column !important; }
    .headercatpage { display: block !important; width: 100% !important; height: auto !important; padding: 15px !important; }
     .headercatpage td { display: block !important; width: 100% !important; text-align: center !important; }
     .headercatpage tbody, .headercatpage tr { display: flex !important; flex-direction: column !important; width: 100% !important; }
     .headercatpage td { display: block !important; width: 100% !important; padding: 2px 0 !important; text-align: center !important; }
     .headercatpage td:nth-child(2) { order: 1; }
     .headercatpage td:nth-child(2) { order: 1; }
     .headercatpage td:first-child { order: 2; }
     .headercatpage td:first-child { order: 2; }
Line 390: Line 347:


@media screen and (max-width: 450px) {
@media screen and (max-width: 450px) {
     li.gallerybox { width: 100% !important; }
     li.gallerybox { width: 100% !important; margin: 10px 0 !important; }
}
}

Revision as of 21:02, 3 February 2026

/* ==========================================================================
   1. VARIABLEN & BASIS-STYLING
   ========================================================================== */
:root {
    --bg-light: #ebecf0;
    --border-gray: 1px solid #aaa;
    --shadow-dark: 5px 5px 10px black;
    --accent-blue: #9FB6CD;
}

.mw-parser-output img {
    max-width: 100%;
    height: auto;
}

/* Gemeinsame Basis für alle Box-Elemente */
.infobox, .headersetpage, .headernocolumn, .headercatpage, 
.box1, .box2, .box3, .box4 {
    background: var(--bg-light);
    border: var(--border-gray);
    box-shadow: var(--shadow-dark);
    box-sizing: border-box;
}

/* ==========================================================================
   2. BOX-ELEMENTE & HEADERS
   ========================================================================== */
.infobox {
    float: right;
    margin: 0 0 0.5em 0.5em;
    padding: 0.5em;
    width: 300px;
    vertical-align: middle;
}

.headersetpage, .headernocolumn, .headercatpage {
    width: 100%;
    margin-bottom: 20px;
    padding: 8px 15px;
    font-size: 18px;
}

.headersetpage td, .headernocolumn td, .headercatpage td {
    vertical-align: middle;
    padding: 10px 5px;
}

.headersetpage a {
    text-decoration: none;
    font-weight: bold;
    color: #202122;
}

.headersetpage a:hover {
    color: var(--accent-blue);
}

.headernocolumn { height: 80px; font-size: 16px; }
.headercatpage { height: 100px; }

/* MAINPAGE HEADER */
.header-mainpage {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: var(--bg-light) !important;
    border: var(--border-gray) !important;
    box-shadow: var(--shadow-dark) !important;
    padding: 15px 25px !important;
    margin: 10px 0 20px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.header-main-text {
    flex: 1 1 0% !important;
    font-size: 18px !important;
    font-weight: bold !important;
    color: #000 !important;
}

.header-main-text span {
    display: block !important;
    font-weight: normal !important; 
    font-size: 15px !important;
    margin-top: 4px !important;
}

.header-main-logo {
    flex: 0 0 auto !important;
    display: flex !important;
    justify-content: center !important;
}

.header-mainpage::after {
    content: "" !important;
    flex: 1 1 0% !important;
}

/* CATEGORY HEADER */
.headercatpage {
    width: 100% !important;
    background: var(--bg-light) !important;
    border: var(--border-gray) !important;
    box-shadow: var(--shadow-dark) !important;
    padding: 15px !important;
    border-collapse: separate !important;
    border-spacing: 10px 0 !important;
    margin-bottom: 20px !important;
}

.textbox {
    width: 50%;
    background: var(--bg-light);
    border: 2px solid var(--accent-blue);
    padding: 8px 15px;
    margin: 0 auto;
}

.box-headline {
    background-color: var(--accent-blue);
    font-size: 16px;
    padding: 8px 12px;
    margin-bottom: 15px;
    border: 1px solid #8aa3bc;
    border-radius: 4px;
    font-weight: bold;
    display: block;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
    text-align: left !important;
}

/* ==========================================================================
   3. ARTIKEL-LAYOUT (LINKE SPALTE & INFOBOX)
   ========================================================================== */

.infobox {
    float: right !important;
    clear: right !important;
    width: 300px;
    margin: 0 0 20px 20px !important;
}

.mw-parser-output h2, 
.mw-parser-output .gallery, 
.mw-parser-output p,
.mw-parser-output ul,
.aboutset-container {
    display: flow-root; 
    margin-right: 0 !important;
    overflow: hidden;
}

.aboutset-container {
    display: flex; 
    align-items: flex-start;
    gap: 25px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.aboutsetlogo { flex: 0 0 150px; }
.aboutsettext { flex: 1; }

h2 {
    border-bottom: 1px solid #a2a9b1;
    margin-bottom: 15px;
    padding-top: 10px;
}

.mw-parser-output ul {
    margin-left: 1.5em;
    padding-left: 0.5em;
    list-style-type: disc;
}

.aboutsettext ul { overflow: visible; }
.mw-parser-output li { margin-bottom: 0.3em; }

/* ==========================================================================
   4. GALERIE & TABELLEN
   ========================================================================== */

ul.gallery {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    padding: 0 !important;
    margin: 10px 0 20px 0 !important;
    list-style: none !important;
    clear: none !important; 
    width: auto !important;
    max-width: 100% !important; 
}

li.gallerybox {
    flex: 0 0 180px !important; 
    width: 180px !important; 
    min-height: 230px !important;
    margin: 0 15px 20px 0 !important; 
    background: var(--bg-light) !important;
    border: var(--border-gray) !important;
    border-radius: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    transition: background 0.2s ease !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

li.gallerybox:hover { background-color: rgba(159, 182, 205, 0.25) !important; }

li.gallerybox div.thumb {
    height: 150px !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 10px !important;
}

.gallerytext {
    width: 100% !important;
    padding: 5px 12px 12px 12px !important;
    text-align: left !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.cobitable {
    background-color: #f8f9fa;
    margin: 1em auto;
    border: 1px solid #000;
    border-collapse: collapse;
    width: fit-content;
    max-width: 100%;
    box-shadow: var(--shadow-dark); 
    border-radius: 4px;
}

.cobitable th, .cobitable td { border: 1px solid #444 !important; padding: 0.6em 0.8em; }
.cobitable th { background-color: var(--accent-blue); font-weight: bold; }

/* ==========================================================================
   5. GRIDS & BRICK-CONTAINER
   ========================================================================== */
.mainparent { display: grid; grid-template-columns: 4fr 6fr; gap: 15px; }
.box1 { grid-column: 1 / 3; padding: 15px; }
.box2, .box3 { grid-column: 1; padding: 15px; }
.box4 { grid-column: 2; grid-row: 2 / 4; padding: 15px; text-align: center; }

.box4-content { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; margin-top: 15px; }
.box4-content a { flex: 0 0 150px !important; margin: 2px !important; padding: 5px; border-radius: 8px; }
.box4-content a:hover { background-color: rgba(159, 182, 205, 0.25); }

.innercenter { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(100px, 150px)); gap: 15px; justify-content: flex-start; }
.innercenter a:hover { background-color: rgba(159, 182, 205, 0.25) !important; }

.brickparent {
    padding: 25px;
    background: #ebecf0;
    border: var(--border-gray);
    box-shadow: var(--shadow-dark);
    border-radius: 8px;
    margin: 20px 0;
}

/* ==========================================================================
   6. TOC & KATEGORIEN
   ========================================================================== */
#toc, .toc {
    background-color: var(--bg-light) !important;
    border: var(--border-gray) !important;
    box-shadow: 3px 3px 8px rgba(0,0,0,0.1) !important;
    border-radius: 8px;
    padding: 15px !important;
}

.toctitle {
    background-color: var(--accent-blue);
    margin: -15px -15px 15px -15px;
    padding: 10px;
    border-radius: 8px 8px 0 0;
}

.catlinks {
    background-color: var(--bg-light) !important;
    border: var(--border-gray) !important;
    box-shadow: var(--shadow-dark);
    border-radius: 4px;
    margin-top: 2em;
}

/* DIE ICONS FÜR DIE KATEGORIELITE */
.mw-category { column-count: 2; column-gap: 30px; }
.mw-category-group ul li { list-style-type: none !important; padding: 4px 0; border-bottom: 1px solid #eee; }
.mw-category-group ul li a::before {
    content: "▶";
    font-size: 0.8em;
    color: var(--accent-blue);
    margin-right: 8px;
}

/* ==========================================================================
   7. SIDEBAR (STABILES DESIGN)
   ========================================================================== */
.sidebar-chunk {
    background: var(--bg-light) !important;
    border: var(--border-gray) !important;
    box-shadow: var(--shadow-dark) !important;
    border-radius: 5px !important;
    margin-bottom: 20px !important;
    padding: 10px !important;
}

.sidebar-chunk ul { list-style: none !important; margin: 5px 0 !important; padding: 0 !important; }
.sidebar-chunk ul li a { color: #333 !important; padding: 4px 5px !important; display: block !important; }
.sidebar-chunk ul li a:hover { color: var(--accent-blue) !important; text-decoration: underline !important; }

#p-logo { text-align: center !important; margin-bottom: 15px !important; }

/* ==========================================================================
   8. MOBILE OPTIMIERUNG
   ========================================================================== */
@media screen and (max-width: 850px) {
    /* Hier habe ich alle deine mobilen Regeln 1:1 gelassen */
    div.mainparent { display: flex !important; flex-direction: column !important; width: 100% !important; }
    .infobox { float: none !important; width: 100% !important; margin: 10px 0 20px 0 !important; clear: both !important; }
    .aboutset-container { flex-direction: column !important; align-items: center !important; text-align: center !important; }
    .aboutsetlogo { flex: 0 0 auto !important; margin: 0 0 15px 0 !important; max-width: 100px !important; }
    .aboutsetlogo img { width: 100% !important; height: auto !important; }
    
    ul.gallery { max-width: 100% !important; justify-content: center !important; display: flex !important; gap: 10px; }
    li.gallerybox { width: calc(50% - 20px) !important; min-width: 140px !important; height: auto !important; margin: 5px !important; }

    .header-mainpage { flex-direction: column !important; text-align: center !important; padding: 20px 15px !important; }
    .header-main-text { order: 2; margin-top: 15px !important; text-align: center !important; }
    .header-main-logo { order: 1; margin: 0 auto !important; }
    
    .headercatpage { display: block !important; width: 100% !important; height: auto !important; padding: 15px !important; }
    .headercatpage tbody, .headercatpage tr { display: flex !important; flex-direction: column !important; width: 100% !important; }
    .headercatpage td { display: block !important; width: 100% !important; padding: 2px 0 !important; text-align: center !important; }
    .headercatpage td:nth-child(2) { order: 1; }
    .headercatpage td:first-child { order: 2; }
    .headercatpage td:last-child { order: 3; }
}

@media screen and (max-width: 450px) {
    li.gallerybox { width: 100% !important; margin: 10px 0 !important; }
}