/*
Theme Name: GalerieHermann
Template: generatepress
Author: F.H.
Version: 1.0
*/

/* --------------------------------------------------------------
   FONT IMPORTS
-------------------------------------------------------------- */
@font-face {
    font-family: 'Nunito Sans';
    src: url('assets/fonts/nunito-sans-v19-latin-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito Sans';
    src: url('assets/fonts/nunito-sans-v19-latin-800.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('assets/fonts/outfit-v15-latin-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* --------------------------------------------------------------
   BASE / GLOBAL
-------------------------------------------------------------- */
html {
    scrollbar-width: none;
}

html::-webkit-scrollbar {
    display: none;
}

body {
    -ms-overflow-style: none;
}

html,
body,
.site,
.site-header,
.site-footer,
.footer-widgets,
.site-content,
.inside-article,
.main-navigation {
    background: #ffffff !important;
}

body,
.main-navigation,
.main-navigation a {
    font-family: 'Nunito Sans', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-weight: 600;
}

h1,
h2,
h3,
.site-branding .main-title a {
    font-family: 'Outfit', 'Nunito Sans', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-weight: 700;
}

strong,
b {
    font-family: 'Nunito Sans', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-weight: 800;
}

section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 0;
}

/* --------------------------------------------------------------
   BRANDING & NAVIGATION
-------------------------------------------------------------- */
.site-logo img,
.mobile-header-logo img {
    display: block;
    width: auto;
    max-height: 72px;
}

.site-branding .main-title,
.site-branding .main-title a {
    font-family: 'Outfit', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
}

.main-navigation,
.main-navigation a,
.main-navigation li a {
    font-size: 1.2rem;
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 600;
    text-transform: none;
}

.main-navigation a:hover,
.main-navigation li a:hover,
.main-navigation .current-menu-item a,
.main-navigation .current_page_item a {
    color: #000 !important;
    text-decoration: none !important;
}

/* --------------------------------------------------------------
   EXHIBITIONS (LISTINGS)
-------------------------------------------------------------- */
.current-exhibition h1 {
    margin-bottom: 40px;
}

.past-exhibitions h1 {
    margin-bottom: 40px;
}

.exhibition-box {
    display: block;
    width: 100%;
    margin-bottom: 60px;
}

.exhibition-box h2 a {
    color: #000;
    text-decoration: none;
}

.exhibition-box h2 a:hover {
    color: #000;
    text-decoration: none;
}

.exhibition-box img {
    width: 100%;
    max-width: 95%;
    height: auto;
    display: block;
    margin-bottom: 20px;
}

.exhibition-box p {
    max-width: 95%;
    margin-top: 10px;
    line-height: 1.6;
}

.exhibition-box ul {
    margin-top: 10px;
    padding-left: 0;
}

.exhibition-box ul li {
    list-style: none;
    font-size: 0.95rem;
    margin-bottom: 4px;
}

.exhibition-box ul li a {
    color: #000;
    text-decoration: none;
}

.exhibition-box ul li a:hover {
    text-decoration: none;
}

.exhibition-box a,
.exhibition-box a:visited {
    color: #000;
    text-decoration: none;
}

.exhibition-box a:hover {
    text-decoration: none;
}

.exhibition-box .more-link,
.exhibition-box .more-link:visited {
    color: #000;
    text-decoration: none;
}

.exhibition-box .more-link:hover {
    text-decoration: none;
}

/* Sicherstellen, dass "Weiterlesen" kursiv bleibt */
.exhibition-box a.more-link,
.exhibition-box .read-more,
.exhibition-box .read-more a,
a.more-link {
    font-style: italic !important;
}

.exhibition-duration {
    font-weight: 800;
    font-size: 1.7rem;
    margin: 5px 0 15px;
}

/* --------------------------------------------------------------
   EXHIBITIONS (SINGLE)
-------------------------------------------------------------- */
.single-ausstellungen h1 {
    margin-bottom: 10px;
}

.single-ausstellungen .exhibition-thumb {
    margin: 35px 0 25px;
}

.single-ausstellungen .exhibition-thumb img {
    width: 100%;
    height: auto;
    max-width: 95%;
    margin: 0 auto;
}

.single-ausstellungen p {
    max-width: 95%;
    margin-top: 10px;
    line-height: 1.6;
}

.single-ausstellungen .exhibition-artists a,
.single-ausstellungen .exhibition-artists a:visited {
    color: #000;
    text-decoration: underline;
}

.single-ausstellungen .exhibition-artists a:hover {
    text-decoration: none;
}

/* --------------------------------------------------------------
   ARTISTS
-------------------------------------------------------------- */
.artist-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
}

.artist-header {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    align-items: flex-start;
    margin-bottom: 30px;
}

.artist-photo {
    flex: 0 0 320px;
    max-width: 320px;
    margin: 0;
}

.artist-photo img {
    width: 100%;
    height: auto;
    display: block;
}

.artist-cv {
    flex: 1 1 300px;
}

.artist-additional {
    margin-top: 20px;
    line-height: 1.6;
}

.artist-exhibitions {
    margin-top: 30px;
}

.artist-exhibitions ul {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
}

.artist-exhibitions li {
    margin-bottom: 6px;
}

.artist-exhibitions a {
    color: #000;
    text-decoration: underline;
}

.artist-exhibitions a:hover {
    text-decoration: none;
}

.artist-archive {
    max-width: 1200px;
    margin: 0 auto;
}

.artist-group {
    margin-top: 30px;
    text-align: center;
}

.artist-group h2 {
    margin-bottom: 10px;
    text-align: center;
}

.artist-group ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: inline-block;
}

.artist-group li {
    margin-bottom: 6px;
    font-size: larger;
}

.artist-group a,
.artist-group a:visited {
    color: #000;
    text-decoration: none;
}

.artist-group a:hover {
    text-decoration: none;
}

/* --------------------------------------------------------------
   NEWS
-------------------------------------------------------------- */
.news-archive a,
.news-archive a:visited {
    color: #000;
    text-decoration: none;
}

.news-single a,
.news-single a:visited {
    color: #000;
    text-decoration: underline;
}

.news-archive a:hover,
.news-single a:hover {
    text-decoration: none;
}

.news-archive .more-link,
.news-archive .more-link:visited {
    color: #000;
    text-decoration: none;
    font-style: italic;
}

.news-archive .more-link:hover {
    text-decoration: none;
}

.news-archive a.more-link,
.news-archive .read-more,
.news-archive .read-more a {
    color: #000 !important;
    text-decoration: none !important;
    font-style: italic !important;
}

.news-archive {
    max-width: 95%;
   
}

.news-item {
    margin-bottom: 80px;
}

/* --------------------------------------------------------------
   EXHIBITION TIMELINE (STARTSEITE)
--------------------------------------------------------------- */
.exhibition-timeline {
    max-width: 1200px;
    margin: 20px auto 20px;
    padding: 0 20px;
}

.timeline-track {
    display: flex;
    gap: 8px;
    align-items: center;
    overflow-x: auto;
    padding: 10px 0;
    scrollbar-width: none;
}

.timeline-track::-webkit-scrollbar {
    display: none;
}

.timeline-year {
    font-weight: 800;
    padding: 6px 10px;
    background: #000;
    color: #fff;
    border-radius: 12px;
    white-space: nowrap;
}

.timeline-item {
    color: #000;
    text-decoration: none;
    padding: 6px 10px;
    border: 1px solid #000;
    border-radius: 12px;
    white-space: nowrap;
}

.timeline-item:hover {
    text-decoration: none;
}

/* --------------------------------------------------------------
   GENERATEPRESS OVERRIDES
-------------------------------------------------------------- */
.inside-article,
.generate-columns,
.grid-container,
.grid-parent,
.generate-columns-container,
.posts,
.post,
.archive .post,
.current-exhibition .post,
.past-exhibitions .post,
.current-exhibition article,
.past-exhibitions article,
.one-container .site-content,
.separate-containers .inside-article,
.one-container .inside-article,
[class*="grid-"] {
    display: block !important;
    width: 100% !important;
    float: none !important;
    grid-template-columns: none !important;
}

/* --------------------------------------------------------------
   MEDIA QUERIES
-------------------------------------------------------------- */
@media (max-width: 768px) {
    section {
        padding: 40px 15px;
    }

    h1 {
        font-size: 2rem;
    }

    .exhibition-box img {
        max-width: 100%;
    }

    .artist-page {
        padding: 40px 15px;
    }

    .artist-header {
        flex-direction: column;
    }

    .artist-photo,
    .artist-cv {
        flex: 1 1 100%;
        max-width: 100%;
    }

    .site-logo img,
    .mobile-header-logo img {
        max-height: 56px;
    }
}
