/* ==========================================================================
   1. Variablen & Basis-Setup (Tag- und Nachtmodus)
   ========================================================================== */
:root {
    --bg: #f9f7f2;
    --card-bg: #ffffff;
    --text: #2c2c2c;
    --text-muted: #666;
    --gold: #c5a059;
    --border: #eeeeee;
    --btn-bg: #2c2c2c;
    --btn-text: #ffffff;
}

[data-theme="dark"] {
    --bg: #1a1a1a;
    --card-bg: #262626;
    --text: #e0e0e0;
    --text-muted: #aaa;
    --gold: #d4af37;
    --border: #333333;
    --btn-bg: #d4af37;
    --btn-text: #1a1a1a;
}

* { box-sizing: border-box; }
body { 
    font-family: 'Georgia', serif; 
    background-color: var(--bg); 
    color: var(--text); 
    margin: 0; 
    padding: 0; 
    overflow-x: hidden;
    transition: all 0.4s ease; 
    line-height: 1.6;
    quotes: "\201e" "\201c" "\201a" "\2018";
}

/* ==========================================================================
   2. Layout & Header
   ========================================================================== */
header { 
    text-align: center; 
    padding: 60px 20px; 
    background-color: var(--card-bg); 
    border-bottom: 1px solid var(--border); 
    position: relative;
}

/* Abstand unter der Trennlinie des Headers */
.shop-section:first-of-type { margin-top: 2.5rem; }

h1 { font-size: 2.5rem; margin-bottom: 15px; color: var(--text); }
.shop-title { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0.4em 0.5em; }
.shop-title-logo { height: 1.4em; width: auto; vertical-align: middle; border: none !important; }

.intro { max-width: 700px; margin: 0 auto; font-style: italic; color: var(--text-muted); font-size: 1.4rem; }
.hero-subtext { margin-top: 0.5em; font-style: italic; line-height: 1.5; }
.hero-legacy .hero-subtext { font-size: 1.15rem; }

/* Kuratierte Alben (3 Kacheln) */
.curated-albums-section { padding-top: 0.75rem; }
/* Akkordeon-Titel für "Kuratierte Alben" behält Cinzel-Stil */
.curated-albums-section .curated-albums-title {
    font-family: 'Cinzel', Georgia, serif;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 1.4rem;
    font-weight: 600;
    max-width: none;
    cursor: pointer;
}
/* Pfeil-Icon im Kuratierte-Alben-Accordion: Transition + Rotation */
.curated-albums-section .accordion-icon {
    display: inline-block;
    transition: transform 0.3s ease;
}
.curated-albums-section.closed .accordion-icon {
    transform: rotate(-90deg);
}
/* Kacheln einblenden beim Öffnen */
.curated-albums-section .curated-album-tile {
    opacity: 0;
    transition: opacity 0.4s ease;
}
.curated-albums-section:not(.closed) .curated-album-tile {
    opacity: 1;
    transition: opacity 0.4s ease 0.25s;
}
/* Gesamten Inhalt des unteren Accordions einblenden */
#plus-sammlung-content {
    opacity: 0;
    transition: opacity 0.4s ease, max-height 0.4s ease;
}
.shop-singles-section:not(.closed) #plus-sammlung-content {
    opacity: 1;
    transition: opacity 0.4s ease 0.25s, max-height 0.4s ease;
}
.curated-albums-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 28px;
    max-width: 1000px;
    margin: 0 auto;
}
.curated-album-tile {
    background: var(--card-bg);
    border: 1px solid var(--border);
    padding: 28px 24px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.curated-album-tile:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.curated-album-title {
    font-family: 'Cinzel', Georgia, serif;
    font-size: 1.35rem;
    margin: 0 0 8px;
    color: var(--text);
}
.curated-album-desc {
    font-size: 0.95rem;
    color: var(--text-muted);
    margin: 0 0 20px;
    font-style: italic;
}
.btn-curated {
    display: inline-block;
    padding: 12px 24px;
    font-size: 0.95rem;
    background-color: var(--btn-bg);
    color: var(--btn-text);
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: opacity 0.2s, background-color 0.2s;
}
.btn-curated:hover { opacity: 0.92; }
.curated-album-tile.coming-soon {
    filter: grayscale(0.85);
    opacity: 0.75;
    pointer-events: none;
}
.curated-album-tile.coming-soon:hover {
    transform: none;
    box-shadow: none;
}
.curated-coming-soon {
    display: inline-block;
    font-size: 0.95rem;
    color: var(--text-muted);
    font-style: italic;
    padding: 12px 24px;
}
body[data-style="jugendstil"] .curated-album-tile { border-color: rgba(197, 160, 89, 0.4); }
body[data-style="jugendstil"] .curated-album-tile:hover { box-shadow: 0 8px 24px rgba(201, 169, 98, 0.2); }
body[data-style="jugendstil"] .curated-album-tile.coming-soon:hover { box-shadow: none; }

.container { 
    max-width: 1400px; 
    margin: 0 auto; 
    padding: 50px 24px; 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
    gap: 40px; 
}

/* ==========================================================================
   3. Komponenten (Karten, Bilder, Preise)
   ========================================================================== */
.product-card { 
    background: var(--card-bg); 
    padding: 25px; 
    border: 1px solid var(--border); 
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative; /* Für Badge-Positionierung */
}

.product-card:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.product-image { 
    width: 100%; 
    aspect-ratio: 1 / 1; 
    object-fit: cover;
    margin-bottom: 20px; 
    border: 1px solid var(--border);
    background-color: transparent; /* PNG-Transparenz sichtbar (Logo etc.) */
}

.product-title { 
    font-size: 1.15rem; 
    line-height: 1.2; 
    margin: 10px 0 8px; 
    color: var(--text); 
}

.product-detail-link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    outline: none;
}
.product-detail-link:hover,
.product-detail-link:focus {
    color: inherit;
    text-decoration: none;
    outline: none;
}
/* Link mit Liedtitel + Icon: Titel und Symbol nebeneinander */
.product-detail-link .product-title {
    display: inline;
    margin-right: 0.2em;
}
.product-title-author {
    font-style: italic;
    font-weight: normal;
    color: var(--text-muted);
}
.product-author {
    font-style: italic;
    font-size: 0.85em;
    color: var(--text-muted);
    font-weight: normal;
    margin-right: 0.2em;
}
.product-detail-icon {
    display: inline-flex;
    align-items: center;
    color: var(--gold);
    vertical-align: middle;
    line-height: 1;
    margin-left: 0.15em;
}
.product-detail-icon svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
}
.product-detail-link:hover .product-detail-icon,
.product-detail-link:focus .product-detail-icon {
    color: var(--gold);
}

.product-price { 
    color: var(--gold); 
    font-weight: bold; 
    font-size: 1.2rem; 
    margin-bottom: 25px; 
}

.badge-new {
    position: absolute;
    top: 15px;
    right: 15px;
    background-color: var(--gold);
    color: var(--btn-text);
    padding: 5px 12px;
    font-size: 0.7rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 2px;
    z-index: 10;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

/* --- NEU: Ausgegrauter Zustand für Platzhalter --- */
/* In shop.css ergänzen */

.product-card.unavailable {
    filter: grayscale(1) !important;
    opacity: 0.6 !important;
    pointer-events: none; /* Verhindert Interaktion komplett */
}

.badge-soon {
    position: absolute;
    top: 15px;
    right: 15px;
    background-color: #666 !important;
    color: white !important;
    padding: 5px 12px;
    font-size: 0.7rem;
    font-weight: bold;
    text-transform: uppercase;
    z-index: 10;
    border-radius: 2px;
}




/* ==========================================================================
   4. Interaktive Elemente (Suche, Buttons, Theme-Switch)
   ========================================================================== */
/* --- Segmented Control (Einzelkauf / 3er-Set) --- */
.segmented-control {
    max-width: 500px;
    margin: 0 auto 20px;
    padding: 0 20px;
    display: flex;
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}
.segment {
    flex: 1;
    padding: 12px 16px;
    font-size: 0.95rem;
    font-family: 'Georgia', serif;
    background: transparent;
    color: var(--text-muted);
    border: none;
    cursor: pointer;
    transition: all 0.2s;
}
.segment:hover {
    color: var(--text);
}
.segment.active {
    background: var(--gold);
    color: var(--btn-text);
    font-weight: bold;
}

/* --- Sektionen: Album oben, Einzeltitel unten --- */
.shop-section {
    margin-bottom: 1.5rem;
}
/* Weniger Abstand unter dem Einzeltitel-Akkordeon (letzter Inhalt vor Footer/Player) */
.shop-accordion.shop-section {
    margin-bottom: 0.25rem;
}
.shop-section-title {
    font-family: 'Cinzel', Georgia, serif;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--text);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    letter-spacing: 0.15em;
    margin: 0 0 12px;
    padding: 0 24px;
}
.shop-section-title-center { text-align: center; }
.shop-album-section .shop-section-title { margin-top: 30px; }
/* Accordion-Überschrift: begrenzte Breite, lesefreundlichere Schrift für langen Text */
.shop-accordion .shop-section-title {
    max-width: 24em;
    margin-left: auto;
    margin-right: auto;
    font-family: 'Cormorant Garamond', Georgia, serif;
    text-transform: none;
    letter-spacing: 0.02em;
    font-size: 1.85rem;
    font-weight: 600;
}

/* --- Akkordeon Einzeltitel --- */
.shop-accordion-header {
    cursor: pointer;
    display: block;
    text-align: center;
    user-select: none;
    transition: color 0.2s;
}
h2.shop-accordion-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
}
.shop-accordion-header:hover { color: var(--gold); }
#shop-einzeltitel-header { scroll-margin-top: 12px; }
/* Pfeil neben dem kursiven Intro-Text */
.shop-accordion-intro {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35em;
}
.shop-accordion-intro .accordion-icon {
    font-style: normal;
    font-size: 0.85em;
    transition: transform 0.3s ease;
}
.shop-accordion-header .accordion-icon {
    transition: transform 0.3s ease;
}
.shop-accordion.closed .accordion-icon { transform: rotate(-90deg); }
.shop-accordion-content {
    overflow: hidden;
    max-height: 5000px;
    transition: max-height 0.4s ease;
}
.shop-accordion:not(.closed) .shop-accordion-content {
    overflow: visible;
}
.shop-galerie-spacer {
    display: none;
    min-height: 0;
}
@media (max-width: 768px) {
    .shop-accordion:not(.closed) .shop-accordion-content {
        max-height: none;
        padding-bottom: 0;
    }
    .shop-accordion:not(.closed) .shop-galerie-spacer {
        display: block;
        min-height: 0;
    }
}
.shop-accordion.closed .shop-accordion-content {
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
}
.shop-einzeltitel-intro {
    max-width: 24em;
    margin: 0.5rem auto 1.25rem;
    text-align: center;
    color: var(--text-muted);
    font-style: italic;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.05rem;
    line-height: 1.45;
}
/* Weniger Abstand nach unten (Archiv: Texte vor Suchschlitz / Katalog) */
.shop-einzeltitel-intro-narrow {
    margin-bottom: 0.4rem;
}

/* --- Einzeltitel-Auswahl (3 / 10 / Herzensschlüssel) --- */
.shop-einzeltitel-options {
    max-width: 900px;
    margin: 0 auto 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.shop-option-card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    padding: 16px 20px;
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 6px;
}
.shop-option-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    max-width: 48px;
    max-height: 48px;
    object-fit: contain;
}
.shop-option-body {
    flex: 1;
    min-width: 0;
}
.shop-option-title {
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0 0 4px;
    color: var(--text);
    line-height: 1.25;
}
.shop-option-title-sub {
    color: var(--text-muted);
    font-weight: 500;
}
.shop-option-subtitle {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin: 0 0 6px;
    line-height: 1.3;
}
.shop-option-desc {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin: 0;
    line-height: 1.4;
}
.shop-option-action {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    color: var(--gold);
    white-space: nowrap;
}
.shop-option-action input[type="radio"] {
    width: 1.1em;
    height: 1.1em;
    accent-color: var(--gold);
}
.shop-option-btn {
    padding: 12px 20px;
    font-size: 1.3rem;
    white-space: nowrap;
}
body[data-style="jugendstil"] .shop-option-card {
    border-color: rgba(197, 160, 89, 0.4);
}
body[data-style="jugendstil"] .shop-option-action {
    font-family: 'Cormorant Garamond', Georgia, serif;
}

.shop-album-section .container { padding-top: 24px; padding-bottom: 48px !important; }

/* --- Album-Grid: gleiches Layout wie Galerie (inkl. Shop Plus) --- */
#album-grid,
#galerie-grid,
#plus-galerie-grid,
#plus-album-grid {
    grid-template-columns: 1fr;
    gap: 6px;
}
#album-grid .product-card,
#galerie-grid .product-card,
#plus-galerie-grid .product-card,
#plus-album-grid .product-card {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px 14px;
    text-align: left;
    padding: 8px 12px;
    position: relative;
}
#album-grid .product-card:hover,
#galerie-grid .product-card:hover,
#plus-galerie-grid .product-card:hover,
#plus-album-grid .product-card:hover {
    transform: none;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
}
#album-grid .product-image,
#galerie-grid .product-image,
#plus-galerie-grid .product-image,
#plus-album-grid .product-image {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    margin-bottom: 0;
    object-fit: cover;
}
/* Grid: Titel links, Buttons rechts – immer gleiche Position */
#album-grid .product-card-right,
#galerie-grid .product-card-right,
#plus-galerie-grid .product-card-right,
#plus-album-grid .product-card-right {
    flex: 1;
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto;
    align-items: center;
    gap: 8px 12px;
}
#album-grid .product-title,
#galerie-grid .product-title,
#plus-galerie-grid .product-title,
#plus-album-grid .product-title {
    grid-column: 1;
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.25;
    min-width: 0;
}
#album-grid .product-buttons,
#galerie-grid .product-buttons,
#plus-galerie-grid .product-buttons,
#plus-album-grid .product-buttons {
    grid-column: 2;
    margin: 0;
    display: flex;
    gap: 6px;
    flex-wrap: nowrap;
}

/* --- Sticky Footer (nur im Set-Modus, über dem Player) --- */
.shop-set-footer {
    position: fixed;
    bottom: 56px; /* Über dem shop-player-fixed */
    left: 0;
    right: 0;
    background: var(--card-bg);
    border-top: 1px solid var(--border);
    padding: 20px 20px 24px;
    min-height: 72px;
    z-index: 999;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
}
.shop-set-footer-inner {
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.shop-set-counter {
    font-weight: bold;
    color: var(--gold);
    font-size: 1.1rem;
}
.shop-set-hint {
    color: var(--text-muted);
    font-size: 0.95rem;
}
.shop-set-buy {
    padding: 12px 28px;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none;
    border-radius: 4px;
    color: #1a1a1a;
}
.shop-set-buy:hover {
    opacity: 0.95;
    transform: none;
}

.shop-set-clear {
    padding: 10px 20px;
    font-size: 0.95rem;
    background: transparent;
    color: var(--text-muted);
    border: 1px solid var(--border);
    border-radius: 4px;
    cursor: pointer;
}
.shop-set-clear:hover {
    color: var(--text);
    border-color: var(--gold);
}

@keyframes shop-set-buy-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 235, 150, 0.9), 0 0 0 0 rgba(178, 162, 46, 0.6);
        transform: scale(1);
    }
    40% {
        box-shadow: 0 0 0 6px rgba(255, 235, 150, 0.5), 0 0 20px 4px rgba(178, 162, 46, 0.4);
        transform: scale(1.04);
    }
    100% {
        box-shadow: 0 0 0 12px rgba(255, 235, 150, 0), 0 0 0 8px rgba(178, 162, 46, 0);
        transform: scale(1);
    }
}
.shop-set-buy.shop-set-buy-ready {
    animation: shop-set-buy-pulse 1.5s ease-in-out infinite;
}
.shop-set-buy.shop-set-buy-ready:hover {
    transform: scale(1);
}

/* Abstand für Inhalt über dem Sticky Footer + Player */
body.has-set-footer .content-with-player {
    padding-bottom: 100px;
}

/* --- 3er-Set Buttons (+ Hinzufügen / ✓ Ausgewählt) --- */
.btn-set-add {
    background: var(--gold) !important;
    color: var(--btn-text) !important;
    border: none;
    cursor: pointer;
}
.btn-set-selected {
    background: var(--border) !important;
    color: var(--text-muted) !important;
    border: 1px solid var(--border);
    cursor: pointer;
}

.search-container {
    max-width: 600px;
    margin: 0 auto 20px;
    padding: 20px 20px 0;
    text-align: center;
}

#song-suche {
    width: 100%;
    padding: 12px 20px;
    font-size: 1rem;
    font-family: 'Georgia', serif;
    background-color: var(--card-bg);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 4px;
    outline: none;
    transition: border-color 0.3s;
}

#song-suche:focus { border-color: var(--gold); }

#plus-song-suche {
    width: 100%;
    padding: 12px 20px;
    font-size: 1rem;
    font-family: 'Georgia', serif;
    background-color: var(--card-bg);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 4px;
    outline: none;
    transition: border-color 0.3s;
}
#plus-song-suche:focus { border-color: var(--gold); }

.header-controls {
    position: absolute;
    top: 20px;
    right: 20px;
    display: flex;
    gap: 10px;
}
.theme-switch,
.style-switch {
    cursor: pointer;
    background: var(--gold);
    color: var(--btn-text);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.75rem;
    border: none;
    font-family: sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: bold;
}

.btn { 
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: var(--btn-bg); 
    color: var(--btn-text); 
    padding: 14px 28px; 
    text-decoration: none; 
    font-size: 0.9rem;
    border-radius: 2px;
    transition: opacity 0.3s, background 0.3s;
}

.btn:hover { opacity: 0.9; background-color: var(--gold); color: white; }

/* ThriveCart-Buttons: Beschriftung zentriert (überschreibt ggf. externe Styles) */
.thrivecart-button,
a.btn { text-align: center !important; }

/* Album-Button (27 €): auffälliger, hebt sich von Einzelprodukten ab */
.btn-album {
    background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%) !important;
    color: white !important;
    font-weight: bold;
    box-shadow: 0 2px 8px rgba(13, 148, 136, 0.4);
}
.btn-album:hover {
    background: linear-gradient(135deg, #14b8a6 0%, #0d9488 100%) !important;
    box-shadow: 0 4px 12px rgba(13, 148, 136, 0.5);
}

/* --- NEU: Deaktivierter Button-Stil --- */
.btn.disabled {
    background-color: #999 !important;
    color: #eee !important;
    cursor: not-allowed;
    pointer-events: none; /* Verhindert den Klick-Effekt */
    opacity: 0.8;
}

/* ==========================================================================
   5. Akkordeon (Info-Bereich) – unauffällig, kompakt
   ========================================================================== */
.accordion {
    max-width: 560px;
    margin: 0 auto 24px;
    border: 1px solid var(--border);
    border-radius: 4px;
    overflow: hidden;
}

.accordion-header {
    position: relative;
    background-color: var(--card-bg);
    color: var(--text-muted);
    padding: 8px 32px 8px 14px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: normal;
    font-size: 0.85rem;
    user-select: none;
    text-align: center;
}

.accordion-header::after {
    content: '+';
    font-size: 0.95rem;
    position: absolute;
    right: 14px;
}

.accordion.open .accordion-header::after { content: '-'; }

.accordion-content {
    display: none;
    padding: 16px;
    background-color: var(--bg);
    border-top: 1px solid var(--border);
    font-size: 0.9rem;
}

.accordion-content.active { display: block; }

.accordion-inner-layout {
    display: flex;
    gap: 20px;
    align-items: center;
}

.accordion-image {
    max-width: 200px;
    height: auto;
    border: 1px solid var(--border);
    padding: 5px;
    background: var(--card-bg);
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    flex-shrink: 0;
}

/* ==========================================================================
   6. Highlight & Footer
   ========================================================================== */
.highlight-wrapper { padding-top: 4px !important; padding-bottom: 48px !important; }
.highlight-section { 
    grid-column: 1 / -1; 
    background: var(--card-bg); 
    padding: 32px 20px; 
    border: 2px solid var(--gold); 
    text-align: center; 
    margin-top: 0;
}

.highlight-title { font-size: 2.2rem; margin-bottom: 15px; }

.highlight-text { max-width: 600px; margin: 0 auto 30px; }

footer {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-muted);
    font-size: 0.85rem;
    border-top: 1px solid var(--border);
    background-color: var(--card-bg);
}

footer a {
    color: var(--text-muted);
    text-decoration: none;
    margin: 0 10px;
    transition: color 0.3s;
}

footer a:hover { color: var(--gold); }

.legal-notice {
    margin-top: 20px;
    font-size: 0.75rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.4;
}

/* Spezielles Styling für das Bild des Herzens-Schlüssels */
.highlight-image {
    display: block;           /* Notwendig zum Zentrieren mit margin auto */
    max-width: 90%;           /* Auf Handys nicht ganz an den Rand */
    width: 380px;             /* Ideale Breite auf großen Bildschirmen */
    height: auto;             /* Behält die Proportionen bei */
    margin: 0 auto 25px;      /* Zentriert es und gibt Abstand nach unten */
    
    /* Premium-Look: Rahmen und Schatten */
    border: 1px solid var(--border);
    background-color: var(--card-bg); /* Heller Hintergrund im Rahmen */
    padding: 10px;            /* Abstand zwischen Bild und Rahmen */
    box-shadow: 0 8px 20px rgba(0,0,0,0.12); /* Weicher, tiefer Schatten */
    border-radius: 2px;       /* Leicht abgerundete Ecken */
}

/* ==========================================================================
   6b. Shop-Player (fixiert, stets sichtbar)
   ========================================================================== */
.shop-player-fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--card-bg);
    border-top: 1px solid var(--border);
    padding: 12px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    z-index: 1000;
}
.shop-player-fixed audio {
    flex: 1;
    max-width: 100%;
}
.shop-player-label {
    font-size: 0.9em;
    color: var(--text-muted);
    min-width: 120px;
}
.content-with-player {
    padding-bottom: 32px;
}
.product-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; align-items: stretch; margin-top: 8px; }
.product-buttons .btn,
.product-buttons .btn-hoerprobe { display: inline-flex; align-items: center; justify-content: center; text-align: center; min-height: 38px; box-sizing: border-box; flex-shrink: 0; white-space: nowrap; border: 2px solid transparent; outline: none; font-weight: bold; font-size: 0.85rem; padding: 8px 16px; }
.product-buttons .btn:not(.btn-hoerprobe) { min-width: 0; padding-left: 18px; padding-right: 18px; backface-visibility: hidden; transition: background-color 0.3s, color 0.3s; }
/* Hover: ThriveCart/Opacity überschreiben, Verrutschen verhindern */
.product-buttons .btn:not(.btn-hoerprobe):hover,
.product-buttons .btn:not(.btn-hoerprobe):focus { opacity: 1 !important; transform: none !important; border-color: transparent !important; outline: none !important; }
.product-buttons .btn:hover,
.product-buttons .btn-hoerprobe:hover { border-color: transparent; outline: none; }
.btn-hoerprobe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    padding: 8px 14px;
    font-size: 0.8rem;
    background: transparent;
    border: 1px solid var(--gold);
    color: var(--gold);
    text-decoration: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.btn-hoerprobe:hover {
    background: var(--gold);
    color: var(--btn-text);
}

/* --- Admin: Prelisten-Zuordnung --- */
.admin-prelisten-bar {
    max-width: 1200px;
    margin: 0 auto 20px;
    padding: 0 20px;
}
.admin-save-btn {
    background: #28a745 !important;
    font-weight: bold;
}
.admin-save-btn:hover {
    background: #218838 !important;
}
.admin-save-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}
.admin-prelisten-row {
    margin-top: 12px;
    text-align: left;
}
.admin-prelisten-label {
    display: block;
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-bottom: 4px;
}
.admin-prelisten-select {
    width: 100%;
    padding: 6px 10px;
    font-size: 0.85rem;
    font-family: 'Georgia', serif;
    background: var(--card-bg);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 4px;
    cursor: pointer;
}
.admin-prelisten-select:focus {
    outline: none;
    border-color: var(--gold);
}

/* ==========================================================================
   7. Responsive Anpassungen
   ========================================================================== */
/* Desktop: 2 Spalten, wenn genug Platz – mehr Produkte pro Bildschirm */
@media (min-width: 900px) {
    #album-grid,
    #galerie-grid,
    #plus-galerie-grid,
    #plus-album-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px 16px;
    }
    #album-grid .product-card,
    #galerie-grid .product-card,
    #plus-galerie-grid .product-card,
    #plus-album-grid .product-card {
        gap: 10px 12px;
        padding: 10px 14px;
    }
    #album-grid .product-image,
    #galerie-grid .product-image,
    #plus-galerie-grid .product-image,
    #plus-album-grid .product-image {
        width: 48px;
        height: 48px;
    }
}

@media (max-width: 700px) {
    .accordion-inner-layout {
        flex-direction: column;
        text-align: center;
    }
    .accordion-image {
        max-width: 80%;
        margin-bottom: 20px;
    }
}

/* Einzeltitel-Optionen Mobil: 2 Spalten (Überschrift | Logo+Beschreibung | Button) */
@media (max-width: 768px) {
    .shop-option-card {
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto auto;
        gap: 12px 16px;
        align-items: start;
    }
    .shop-option-body {
        display: contents;
    }
    .shop-option-title {
        grid-column: 1 / -1;
        grid-row: 1;
        text-align: center;
    }
    .shop-option-icon {
        grid-column: 1;
        grid-row: 2;
    }
    .shop-option-desc {
        grid-column: 2;
        grid-row: 2;
        margin: 0;
    }
    .shop-option-action {
        grid-column: 1 / -1;
        grid-row: 3;
        justify-self: center;
    }
    .shop-option-card .shop-option-btn {
        grid-column: 1 / -1;
        grid-row: 3;
        justify-self: stretch;
        text-align: center;
        box-sizing: border-box;
    }
}

/* Mobil: Icon links, Titel oben mehrzeilig, Buttons unten nebeneinander */
@media (max-width: 768px) {
    /* Scroll auf Android: overflow-x am Body kann die Scrollfläche begrenzen */
    body { overflow-x: visible; }
    .shop-accordion:not(.closed) { overflow: visible; }
    header {
        padding: 40px 16px 30px;
    }
    h1 {
        font-size: 1.6rem;
        line-height: 1.15;
        margin-bottom: 12px;
    }
    .shop-title {
        gap: 0.2em 0.4em;
    }
    .shop-title-logo {
        height: 1.2em;
    }
    .intro {
        font-size: 1.2rem;
    }
    .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    .search-container { padding: 0 14px; }
    .segmented-control { padding: 0 14px; margin-left: 0; margin-right: 0; }
    #album-grid,
    #galerie-grid,
    #plus-galerie-grid,
    #plus-album-grid {
        gap: 4px;
    }
    /* Einspaltig: Galerie als Block statt Grid, um Mobil-Scroll-Bugs (falsche Höhe) zu umgehen */
    #galerie-grid,
    #plus-galerie-grid {
        display: block;
    }
    #galerie-grid .product-card,
    #plus-galerie-grid .product-card {
        margin-bottom: 4px;
    }
    #galerie-grid .product-card:last-child,
    #plus-galerie-grid .product-card:last-child {
        margin-bottom: 0;
    }
    #album-grid .product-card,
    #galerie-grid .product-card,
    #plus-galerie-grid .product-card,
    #plus-album-grid .product-card {
        padding: 10px 12px !important;
        gap: 12px !important;
        min-width: 0;
        align-items: center;
    }
    #album-grid .product-image,
    #galerie-grid .product-image,
    #plus-galerie-grid .product-image,
    #plus-album-grid .product-image {
        width: 52px !important;
        height: 52px !important;
        flex-shrink: 0;
    }
    /* Rechte Spalte: Titel oben, Buttons unten gestapelt */
    #album-grid .product-card-right,
    #galerie-grid .product-card-right,
    #plus-galerie-grid .product-card-right,
    #plus-album-grid .product-card-right {
        display: flex;
        flex-direction: column;
        gap: 10px;
        min-width: 0;
    }
    #album-grid .product-title,
    #galerie-grid .product-title,
    #plus-galerie-grid .product-title,
    #plus-album-grid .product-title {
        font-size: 0.95rem !important;
        word-break: break-word;
        line-height: 1.3;
        text-align: center;
    }
    #album-grid .product-buttons,
    #galerie-grid .product-buttons,
    #plus-galerie-grid .product-buttons,
    #plus-album-grid .product-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
    #album-grid .product-buttons .btn,
    #album-grid .product-buttons .btn-hoerprobe,
    #galerie-grid .product-buttons .btn,
    #galerie-grid .product-buttons .btn-hoerprobe,
    #plus-galerie-grid .product-buttons .btn,
    #plus-galerie-grid .product-buttons .btn-hoerprobe,
    #plus-album-grid .product-buttons .btn,
    #plus-album-grid .product-buttons .btn-hoerprobe {
        min-height: 38px;
        padding: 8px 16px;
        font-size: 0.85rem;
        flex: 1;
        min-width: 120px;
    }
    .content-with-player {
        padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px));
    }
    body.has-set-footer .content-with-player {
        padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px));
    }
    .shop-set-footer { padding-left: 14px; padding-right: 14px; }
    .shop-player-fixed { padding-left: 14px; padding-right: 14px; }
    .shop-set-footer-inner { gap: 12px; }
    .shop-set-counter, .shop-set-hint { font-size: 0.95rem; }
    .shop-set-clear, .shop-set-buy { min-height: 44px; padding: 10px 20px; font-size: 0.95rem; }
}

@media (max-width: 480px) {
    .shop-set-footer-inner { gap: 10px; }
    .shop-set-clear, .shop-set-buy { padding: 10px 16px; font-size: 0.9rem; }
}

@media (max-width: 380px) {
    .shop-set-footer-inner { gap: 8px; justify-content: center; }
    .shop-set-counter, .shop-set-hint { font-size: 0.9rem; }
}

/* ==========================================================================
   8. Jugendstil (nur wenn body[data-style="jugendstil"])
   ========================================================================== */
body[data-style="jugendstil"] {
    --bg: #0f0f0f;
    --card-bg: #161616;
    --text: #e8e4dc;
    --text-muted: #b0a898;
    --gold: #c9a962;
    --border: rgba(197, 160, 89, 0.35);
    --btn-bg: #c9a962;
    --btn-text: #0f0f0f;
}

body[data-style="jugendstil"][data-theme="light"] {
    --bg: #fdfbf7;
    --card-bg: #ffffff;
    --text: #2c2825;
    --text-muted: #6b6359;
    --gold: #b08d3e;
    --border: rgba(197, 160, 89, 0.25);
    --btn-bg: #b08d3e;
    --btn-text: #0f0f0f;
}

body[data-style="jugendstil"] {
    background-color: var(--bg);
    background-image: url("goldBackground.png");
    background-repeat: repeat;
    background-attachment: fixed;
    background-size: 400px 400px;
}

body[data-style="jugendstil"][data-theme="light"] {
    background-image: url("goldBackgroundLightY.png");
    background-repeat: repeat;
    background-attachment: fixed;
    background-size: 400px 400px;
}

body[data-style="jugendstil"] h1,
body[data-style="jugendstil"] .highlight-title {
    font-family: 'Cinzel', Georgia, serif;
    font-weight: 500;
}
body[data-style="jugendstil"] h2,
body[data-style="jugendstil"] .product-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600;
}
body[data-style="jugendstil"],
body[data-style="jugendstil"] .intro,
body[data-style="jugendstil"] .accordion-content,
body[data-style="jugendstil"] .segment,
body[data-style="jugendstil"] .lied-text {
    font-family: 'Cormorant Garamond', Georgia, serif;
}

body[data-style="jugendstil"] header {
    border-bottom: 2px solid rgba(197, 160, 89, 0.5);
}

body[data-style="jugendstil"] .product-card {
    border: 1px solid rgba(197, 160, 89, 0.4);
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
body[data-style="jugendstil"] .product-card:hover {
    box-shadow: 0 8px 30px rgba(201, 169, 98, 0.2);
}

body[data-style="jugendstil"] .product-image {
    border: none !important;
}

body[data-style="jugendstil"] .btn,
body[data-style="jugendstil"] .theme-switch,
body[data-style="jugendstil"] .style-switch,
body[data-style="jugendstil"] .btn-hoerprobe,
body[data-style="jugendstil"] .segment {
    font-family: 'Cormorant Garamond', Georgia, serif;
}
body[data-style="jugendstil"] .btn,
body[data-style="jugendstil"] .theme-switch,
body[data-style="jugendstil"] .style-switch {
    border-radius: 6px;
    border: 1px solid rgba(197, 160, 89, 0.5);
}
body[data-style="jugendstil"] .btn:hover,
body[data-style="jugendstil"] .theme-switch:hover,
body[data-style="jugendstil"] .style-switch:hover {
    border-color: var(--gold);
}

/* Bestellen-Button auf Shop-Liste: wie Hörprobe (Schrift, Vertikalzentrierung), bleibt gefüllt */
body[data-style="jugendstil"] .product-buttons .btn:not(.btn-hoerprobe) {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: normal !important;
    line-height: 1.3;
}

body[data-style="jugendstil"] .accordion {
    border: 1px solid rgba(197, 160, 89, 0.4);
}
body[data-style="jugendstil"] .accordion-header {
    border-bottom: 1px solid rgba(197, 160, 89, 0.2);
}
body[data-style="jugendstil"] .accordion-content {
    border-top-color: rgba(197, 160, 89, 0.3);
}

body[data-style="jugendstil"] .segmented-control {
    border: 1px solid rgba(197, 160, 89, 0.4);
}
body[data-style="jugendstil"] .segment.active {
    background: rgba(201, 169, 98, 0.2);
    color: var(--gold);
    border: 1px solid rgba(197, 160, 89, 0.4);
}

body[data-style="jugendstil"] #song-suche,
body[data-style="jugendstil"] #plus-song-suche {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.1rem;
    background-color: var(--card-bg);
    color: var(--text);
    border: 1px solid rgba(197, 160, 89, 0.35);
    border-radius: 8px;
    padding: 14px 20px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}
body[data-style="jugendstil"] #song-suche::placeholder,
body[data-style="jugendstil"] #plus-song-suche::placeholder {
    color: var(--muted-text);
}
body[data-style="jugendstil"] #song-suche:focus,
body[data-style="jugendstil"] #plus-song-suche:focus {
    border-color: rgba(197, 160, 89, 0.7);
    box-shadow: 0 0 0 1px rgba(197, 160, 89, 0.3);
}

body[data-style="jugendstil"] .highlight-section {
    border-color: rgba(197, 160, 89, 0.5);
}

body[data-style="jugendstil"] footer {
    border-top-color: rgba(197, 160, 89, 0.3);
}

body[data-style="jugendstil"] .shop-player-fixed {
    border-top-color: rgba(197, 160, 89, 0.4);
}

body[data-style="jugendstil"] .btn-hoerprobe {
    border-color: rgba(197, 160, 89, 0.6);
}

/* ==========================================================================
   9. Shop Plus (Stufenauswahl, Liedauswahl, gleicher Jugendstil)
   ========================================================================== */
.shop-plus-intro {
    max-width: 700px;
    margin: 0 auto 1.5rem;
    text-align: left;
    color: var(--text-muted);
    font-size: 1.05rem;
    padding-left: 1.6em;
    list-style: decimal;
}
.shop-plus-intro li {
    margin-bottom: 0.5em;
}
.shop-plus-intro li:last-child {
    margin-bottom: 0;
}
.shop-plus-intro li .shop-plus-tiers {
    margin-top: 1rem;
    margin-bottom: 0.75rem;
}
.shop-plus-tiers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-bottom: 24px;
}
.shop-plus-tiers .tier-option {
    padding: 12px 20px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--card-bg);
    cursor: pointer;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.1rem;
    color: var(--text);
    text-align: center;
    line-height: 1.0;
}
.shop-plus-tiers .tier-option-title {
    display: block;
    font-weight: 600;
    font-size: 1.05em;
    line-height: 1.0;
}
.shop-plus-tiers .tier-option-desc {
    display: block;
    font-size: 0.95em;
    color: var(--text-muted);
    margin-top: 0.02em;
    line-height: 1.0;
}
.shop-plus-tiers .tier-option.selected .tier-option-desc {
    color: inherit;
}
.shop-plus-intro + .search-container {
    margin-top: 1rem;
    margin-bottom: 1.25rem;
}
.shop-plus-tiers .tier-option:hover {
    border-color: var(--gold);
}
.shop-plus-tiers .tier-option.selected {
    border-color: var(--gold);
    background: rgba(201, 169, 98, 0.15);
    color: var(--gold);
}
.shop-plus-footer .shop-set-footer-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}

/* ==========================================================================
   9. Schatzkammer-Trio: 3 quadratische Auswahl-Blöcke (Desktop) + Panels
   Reine Ergänzung – ändert keine bestehenden Regeln.
   ========================================================================== */
.sk-trio {
    max-width: 1100px;
    margin: 2.5rem auto 1.5rem;
    padding: 0;
}

/* --- Kachel-Reihe: 3 gleich große Quadrate nebeneinander --- */
.sk-tile-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1000px;
    margin: 0 auto 8px;
    padding: 0 24px;
    box-sizing: border-box;
}
.sk-tile {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 0;
    background: var(--card-bg);
    border: 1px solid var(--border);
    color: var(--text);
    font-family: inherit;
    text-align: center;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.sk-tile:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    border-color: var(--gold);
}
.sk-tile.active {
    border-color: var(--gold);
    box-shadow: 0 8px 28px rgba(201, 169, 98, 0.25);
}
.sk-tile-icon {
    font-size: 2rem;
    line-height: 1;
    color: var(--gold);
}
.sk-tile-caption {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 16px 14px;
    background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.55) 55%, rgba(0,0,0,0) 100%);
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.sk-tile-name {
    font-family: 'Cinzel', Georgia, serif;
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff;
}
.sk-tile-hint {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 1rem;
    color: #e8e4dc;
}

/* --- Panels: öffnen sich unter der Kachel-Reihe, eins zur Zeit --- */
.sk-panels { max-width: 1100px; margin: 0 auto; }
.sk-panel { margin-bottom: 0; }
.sk-panel:not(.closed) { margin-bottom: 1rem; }
/* Geschlossene Panels nehmen keinen vertikalen Platz ein (kein Phantom-Abstand über der offenen Sektion) */
.sk-panel.closed { margin: 0 !important; padding: 0 !important; }
/* Mehr Platz für lange Inhalte (Katalog) im offenen Zustand */
.sk-panel:not(.closed) .shop-accordion-content { max-height: 20000px; }
.sk-legacy-header { display: none !important; }
.sk-panel-title {
    font-family: 'Cinzel', Georgia, serif;
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-align: center;
    color: var(--text);
    margin: 0 0 0.85rem;
}

/* --- Kuratierte Alben als Karussell (swipebar) --- */
.sk-carousel {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
}
.curated-albums-section .curated-albums-grid {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 24px;
    max-width: 100%;
    margin: 0;
    padding: 6px 8px 16px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}
.curated-albums-section .curated-album-tile {
    flex: 0 0 clamp(220px, 30%, 300px);
    scroll-snap-align: center;
    box-sizing: border-box;
}
.sk-carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid var(--border);
    background: var(--card-bg);
    color: var(--text);
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.sk-carousel-arrow:hover { color: var(--gold); border-color: var(--gold); box-shadow: 0 4px 14px rgba(0,0,0,0.2); }
.sk-carousel-prev { left: -8px; }
.sk-carousel-next { right: -8px; }

/* --- Mobil: Kacheln gestapelt, Pfeile aus, Swipe bleibt --- */
@media (max-width: 768px) {
    .sk-tile-row {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 0 14px;
    }
    .sk-tile {
        aspect-ratio: auto;
        height: 150px;
        flex-direction: column;
        justify-content: flex-end;
        padding: 0;
    }
    .sk-carousel-arrow { display: none; }
    .curated-albums-section .curated-album-tile { flex-basis: 78%; }
}

/* ==========================================================================
   9b. Trio-Erweiterung: Tile-Bilder, Album-Karten + Detailansicht, Drag
   ========================================================================== */
/* --- Vorschaubild füllt die Kachel (Quadrat), Titel als Overlay --- */
.sk-tile-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
    background: var(--card-bg);
}
.sk-tile-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: none !important;
    background: transparent;
}
/* Mittlere Kachel (Herzens-Schlüssel): Ausschnitt mittig – das Bild ist bereits passend komponiert */
.sk-tile[data-sk-target="herz-accordion"] .sk-tile-media img { object-position: center 50%; }

/* --- Album-Karten im Karussell (anklickbar) --- */
.sk-album-card {
    flex: 0 0 clamp(180px, 24%, 230px);
    scroll-snap-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 16px 14px;
    background: var(--card-bg);
    border: 1px solid var(--border);
    color: var(--text);
    font-family: inherit;
    cursor: pointer;
    text-align: center;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.sk-album-card:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,0.18); }
.sk-album-card.active { border-color: var(--gold); box-shadow: 0 6px 22px rgba(201, 169, 98, 0.3); }
.sk-album-card-media {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--bg);
    border: 1px solid var(--border);
}
.sk-album-card-media img { width: 100%; height: 100%; object-fit: cover; border: none !important; }
.sk-album-card-title { font-family: 'Cinzel', Georgia, serif; font-size: 1rem; line-height: 1.25; }
.sk-album-card-price { font-style: italic; color: var(--text-muted); font-size: 0.9rem; }

/* --- Album-Detailseite (album.html im Embed-Modus) direkt unter dem Karussell --- */
.sk-album-detail {
    max-width: 760px;
    margin: 2rem auto 0;
}
.sk-album-detail:empty { display: none; }
.sk-album-frame {
    width: 100%;
    min-height: 220px;
    border: none;
    display: block;
    overflow: hidden;
    background: transparent;
}
.sk-album-detail-img {
    flex: 0 0 200px;
    width: 200px;
    height: 200px;
    object-fit: cover;
    border: 1px solid var(--border);
    background: var(--bg);
}
.sk-album-detail-body { flex: 1 1 auto; text-align: left; }
.sk-album-detail-title { font-family: 'Cinzel', Georgia, serif; font-size: 1.5rem; margin: 0 0 6px; color: var(--text); }
.sk-album-detail-price { font-style: italic; color: var(--text-muted); font-size: 1.05rem; margin: 0 0 12px; }
.sk-album-detail-desc { font-size: 1.05rem; line-height: 1.5; margin: 0 0 18px; }
.sk-album-detail-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.sk-album-detail-actions .btn { cursor: pointer; }

/* --- Drag-Zustand des Karussells --- */
.curated-albums-section .curated-albums-grid { cursor: grab; }
.curated-albums-section .curated-albums-grid.sk-dragging { cursor: grabbing; scroll-snap-type: none; }
.curated-albums-section .curated-albums-grid.sk-dragging img { pointer-events: none; }

@media (max-width: 768px) {
    .sk-album-card { flex-basis: 64%; }
}
