/* ACI 2026 - HAUPTMENÜ LINKS + ANIMATION GEFIXT */
.site-navigation a,
.menu-position-menu .menu-item a,
.navbar-nav .nav-link,
.mod-menu a:not(.container-footer a) {
    color: #1a1a1a !important;
    font-weight: 500 !important;
}

.site-navigation a:hover,
.menu-position-menu .menu-item a:hover,
.navbar-nav .nav-link:hover {
    color: #8B0000 !important;
}

:root {
    --aci-dark: #1a1a1a;
    --aci-gray: #4a4a4a;
    --aci-lightgray: #b0b0b0;
    --aci-redgray: #8B0000;
}

/* Body */
body {
    font-family: Arial, Helvetica, sans-serif;
    background: #ffffff !important;
    color: #333;
}

/* HEADER */
.header {
    background: #ffffff !important;
    padding: 1.5rem 0 !important;
    border-bottom: 1px solid #eee;
}

/* LOGO ZENTRIERUNG */
.grid-child .navbar-brand {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 auto !important;
}

.grid-child .navbar-brand .brand-logo {
    margin: 0 auto !important;
    max-height: 50px;
    width: auto !important;
}

@media (max-width: 991px) {
    .grid-child .navbar-brand { padding: 10px 0 !important; }
}

/* HAUPTMENÜ LINKS AUSRICHTUNG */
.header.container-header.full-width .grid-child.container.nav .mod-menu.mod-list.nav {
    display: flex !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 2.5rem !important;
    margin-left: 1rem !important;
}

.header.container-header.full-width .grid-child.container.nav .mod-menu li.mod-item {
    display: inline-block !important;
}

/* HAUPTMENÜ ANIMATION - EXAKTE Klassen */
.header.container-header.full-width .grid-child.container.nav .mod-menu a,
.header.container-header .mod-menu a {
    color: var(--aci-dark) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    position: relative !important;
    padding: 0.5rem 0 !important;
    padding-bottom: 8px !important;
}

/* TEMPLATE UNDERLINES ZERSTÖREN */
.header.container-header.full-width .grid-child.container.nav .mod-menu a::before,
.header.container-header.full-width .grid-child.container.nav .mod-menu a::after {
    content: none !important;
    display: none !important;
    border: none !important;
    background: none !important;
}

/* EIGENE ANIMATION */
.header.container-header.full-width .grid-child.container.nav .mod-menu a::after,
.header.container-header .mod-menu a::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    width: 0 !important;
    height: 2px !important;
    background: var(--aci-gray) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.header.container-header.full-width .grid-child.container.nav .mod-menu a:hover::after,
.header.container-header .mod-menu a:hover::after {
    width: 100% !important;
    left: 0 !important;
}

.header.container-header.full-width .grid-child.container.nav .mod-menu li.mod-item.active > a::after,
.header.container-header .mod-menu li.active > a::after {
    width: 100% !important;
    left: 0 !important;
    background: var(--aci-redgray) !important;
    height: 3px !important;
}

/* BREADCRUMBS WEG */
#breadcrumbs, .breadcrumbs { display: none !important; }

/* CARDS */
.card {
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    border-radius: 8px;
}

/* ========================================== */
/* FOOTER - WEIß + HORIZONTAL (KEIN GRAUES RECHTECK) */
/* ========================================== */
body > footer.container-footer.footer.full-width {
    --cassiopeia-color-primary: #ffffff !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    color: #333 !important;
    border-top: 1px solid #eee !important;
}

body > footer.container-footer .grid-child {
    background: #ffffff !important;
}

/* FOOTER MENU HORIZONTAL */
body > footer.container-footer ul.mod-menu.mod-list.nav {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    gap: 2rem !important;
    list-style: none !important;
    margin: 1rem 0 !important;
}

body > footer.container-footer ul.mod-menu li {
    display: inline-block !important;
    margin: 0 !important;
}

/* FOOTER LINKS - OHNE GRAUES RECHTECK */
body > footer.container-footer ul.mod-menu a {
    color: #666 !important;
    font-size: 0.9rem !important;
    padding: 0.3rem 0.5rem !important;
    text-decoration: none !important;
    position: relative !important;
}

body > footer.container-footer ul.mod-menu a::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    width: 0 !important;
    height: 1px !important;
    background: #666 !important;
    transition: all 0.3s ease !important;
}

body > footer.container-footer ul.mod-menu a:hover::after {
    width: 100% !important;
    left: 0 !important;
}

/* GPL WEG */
body > footer.container-footer a[href*="joomla.org"],
body > footer.container-footer a[href*="gnu.org"] {
    display: none !important;
}

@media (max-width: 768px) {
    body > footer.container-footer ul.mod-menu {
        flex-direction: column !important;
        gap: 1rem !important;
    }
}

/* REST OHNE ÄNDERUNGEN */
#vm-pagination, .vm-pagination, .vm-pagination-top {
    text-align: right !important;
    justify-content: flex-end !important;
    display: flex !important;
}

.vm-pagination ul, .vm-pagination-top ul {
    justify-content: flex-end !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vm-pagination li, .vm-pagination-top li { display: inline-block !important; }
.vm-pagination li:not(:first-child), .vm-pagination-top li:not(:first-child) { margin-left: 6px !important; }


.vm-page-counter {
    padding-top: 1px !important;
    padding-left: 10px !important;
    text-align: left !important;
    margin-bottom: 1rem !important;
}

.hybrid-slideshow img[src*="virtuemart/media/"] {
    width: 100%; height: 100%; object-fit: cover;
}

.hybrid-tags {
    display: flex !important; gap: 2rem !important; padding: 1rem 0 !important;
    border: none !important; background: transparent !important;
}

.hybrid-tags .hero-tag {
    color: var(--aci-dark) !important; font-weight: 500 !important;
    font-size: 1rem !important; text-decoration: none !important;
    padding: 0.5rem 0 !important; position: relative !important;
}

.hybrid-tags .hero-tag::after {
    content: ''; position: absolute !important; bottom: 0 !important;
    left: 0 !important; width: 0 !important; height: 1px !important;
    background: var(--aci-redgray) !important;
    transition: width 0.3s ease !important;
}

.hybrid-tags .hero-tag:hover::after { width: 100% !important; }
.hybrid-tags .hero-tag:hover { color: var(--aci-redgray) !important; }

.vmfilter-aci-container, .customfields-filter {
    display: flex !important; gap: 0 !important;
    flex-wrap: nowrap !important; align-items: flex-end !important;
}
.vmfilter-aci-container > div:not(:last-child),
.customfields-filter > div:not(:last-child) {
    border-right: 1px solid #ddd !important;
}
/* Trennlinien statt Abstand */
.vmfilter-aci-container > div:not(:last-child),
.customfields-filter > div:not(:last-child) {
    border-right: 1px solid #ddd !important;
}

/* Innenabstand */
.vmfilter-aci-container > div,
.customfields-filter > div {
    padding: 0 8px !important;
}

/* Selects verbinden */
.vmfilter-aci-container .chosen-container .chosen-single,
.customfields-filter .chosen-container .chosen-single {
    border-radius: 0 !important;
    border-right: none !important;
}

/* Letztes Element sauber abschließen */
.vmfilter-aci-container > div:last-child .chosen-single,
.customfields-filter > div:last-child .chosen-single {
    border-right: 1px solid #ccc !important;
}

/* Sicherheit gegen Abstände */
.chosen-container {
    margin: 0 !important;
}



.vmfilter-aci-container label, .customfields-filter label {
    font-size: 0.85rem !important; margin-bottom: 0.2rem !important; display: block !important;
}

.chosen-container .chosen-single {
    height: 30px !important;
    line-height: 28px !important;
    padding: 0 6px !important;
    font-size: 0.85rem !important;
}
.chosen-container-active .chosen-single,
.chosen-container .chosen-single:hover {
    background: #f5f5f5 !important;
    box-shadow: none !important;
}
/* VM FILTER CHOSEN - KLEIN + SAUBER */
.vmfilter-aci-container .chosen-container,
.customfields-filter .chosen-container {
    width: 100% !important;
    max-width: 160px !important;
    margin: 0 !important;
}

.vmfilter-aci-container .chosen-single,
.customfields-filter .chosen-single {
    height: 32px !important;
    line-height: 30px !important;
    padding: 0 8px !important;
    font-size: 0.85rem !important;
    border-radius: 4px !important;
}

.vmfilter-aci-container .chosen-results,
.customfields-filter .chosen-results {
    max-width: 160px !important;
}

.chosen-container-active .chosen-single:hover {
    background: #f8f9fa !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
}
/* VM SEARCH - ARTWORKS */
.vmsearch input[placeholder*="search"]::placeholder {
    color: #666 !important;
}

.vmsearch .search-title,
.vmsearch .btn.btn-primary::before {
    content: "Search Artworks" !important;
}

/* Button-Text überschreiben */
.vmsearch .btn.btn-primary {
    /* Falls Modul Custom HTML hat */
}
/* ARTISTS GRID - KEINE INTRO-BILDER */
.artists-container,
.artists-grid {
    --card-height: 520px;
}

/* GRID */
.artists-grid .mod-menu {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)) !important;
    gap: 2.5rem !important;
}

/* KACHEL + INTRO-BILDER ZWINGEND VERSTECKEN */
.artists-grid .menu-item,
.artists-grid .menu-item > a {
    display: block !important;
    position: relative !important;
    height: var(--card-height) !important;
    text-decoration: none !important;
}

/* ALLE MOGLICHEN INTRO/ARTICLE ELEMENTE */
.artists-grid .intro-image,
.artists-grid .item-image,
.artists-grid .article-image,
.artists-grid figure,
.artists-grid .item-intro,
.artists-grid .intro-text,
.artists-grid .contentpane,
.artists-grid p:not(.menu-title),
.artists-grid .readmore {
    display: none !important;
}

/* NUR MENÜBILD + TITEL */
.artists-grid .menu-image {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
}

.artists-grid .menu-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* TITEL OVERLAY */
.artists-grid .menu-title {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2 !important;
    background: linear-gradient(transparent 0%, rgba(0,0,0,0.92) 40%) !important;
    color: white !important;
    padding: 2.5rem 1.5rem 1.5rem !important;
    margin: 0 !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    text-align: center !important;
}



/* Dein bestehender Code (angepasst) */
.news-animation {
  position: relative;
  padding: 0.5rem 5%; /* Hier hast du Padding für alle Seiten */
  overflow: hidden;
  background: #fff;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  z-index: 10; /* Fix für die Sichtbarkeit */
}

.news-animation::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1; 
  background: radial-gradient(circle at 50% 50%, rgba(0,0,0,0.06), transparent 60%);
  opacity: 0.4 !important; 
  animation: newsMorse 12s infinite ease-in-out;
  pointer-events: none;
}

/* ... der Rest deines Codes bleibt darunter unverändert! ... */

@keyframes newsMorse {
  0%, 100% { opacity: 0.06; transform: scale(1); }
  20% { opacity: 0.12; transform: scale(1.01); }
  35% { opacity: 0.04; transform: scale(1); }
  55% { opacity: 0.14; transform: scale(1.015); }
  70% { opacity: 0.05; transform: scale(1); }
  85% { opacity: 0.10; transform: scale(1.008); }
}

.news-row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.news-item {
  display: block;
  color: #111;
  text-decoration: none;
  padding: 0.25rem 0.25rem 0.25rem 0;
}

.news-kicker {
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #777;
  margin-bottom: 0.35rem;
}

.news-title {
  display: block;
  font-size: 1.05rem;
  line-height: 1.25;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.news-text {
  display: block;
  font-size: 0.92rem;
  line-height: 1.45;
  color: #444;
}

.news-item:hover .news-title {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

@media (max-width: 900px) {
  .news-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1024px) {
    .ba-album.css-style-14 .ba-image + .ba-caption,
    .ba-gallery-grid.css-style-14 .ba-image .ba-caption + .image-likes,
    .ba-gallery-grid.css-style-14 .ba-image .ba-caption,
    .ba-album.css-style-13 .ba-image + .ba-caption,
    .ba-gallery-grid.css-style-13 .ba-image .ba-caption,
    .ba-album.css-style-12 .ba-album-items:hover .ba-caption,
    .ba-album.css-style-12 .ba-album-items:hover .ba-image +.ba-caption,
    .ba-gallery-grid.css-style-12 .ba-image:hover .ba-caption,
    .ba-album.css-style-11 .ba-album-items:hover .ba-image + .ba-caption,
    .ba-gallery-grid.css-style-11 .ba-image:hover .ba-caption,
    .ba-album.css-style-8 .ba-caption .ba-caption-content,
    .ba-gallery-grid.css-style-8 .ba-caption .ba-caption-content,
    .ba-album.css-style-7 .ba-album-items:hover .ba-caption,
    .ba-gallery-grid.css-style-7 .ba-caption:hover,
    .ba-album.css-style-4 .ba-album-items:hover .ba-image + .ba-caption,
    .ba-gallery-grid.css-style-4 .ba-image:hover .ba-caption,
    .ba-album.css-style-3 .ba-album-items:hover .ba-image + .ba-caption,
    .ba-gallery-grid.css-style-3 .ba-image:hover .ba-caption,
    .ba-album.css-style-1 .ba-caption,
    .ba-gallery-grid.css-style-1 .ba-caption {
     display: flex !important;
    }
} 