/* Home cards and playlists: shared load, original order maintained. */

/* Recently added soundsystem cards */
/* Extracted from template-parts/section-recent-systems-grid.php in 3.8.0. */
/* ===== GRID ===== */
.recent-grid-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    /* 👇 Mobile Verhalten */
    column-gap: 10px;
    /* horizontal kleiner Abstand */
    row-gap: 0;
    /* KEIN vertikaler Abstand */
}

@media (min-width: 768px) {
    .recent-grid-list {
        grid-template-columns: repeat(3, 1fr);

        column-gap: 20px;
        row-gap: 20px;
        /* optional Abstand wieder aktiv */
    }
}

/* ===== CARD ===== */
.recent-card {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* ===== IMAGE ===== */
.recent-card-image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f3f3f3;
}

.recent-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ===== BODY ===== */
.recent-card-body {
    padding: 0.75rem 0;
}

.recent-card-title {
    font-size: 0.9rem;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

/* ===== META ===== */
.recent-meta {
    display: flex;
    gap: 0.4rem;
    font-size: 0.8rem;
    line-height: 1.4;
}

.recent-meta i {
    width: 1rem;
    flex-shrink: 0;
    margin-top: 0.15rem;
}

/* ===== HEADER FIX (Mobile) ===== */
.recent-grid-header {
    gap: 0.75rem;
}

@media (max-width: 767.98px) {
    .recent-grid-header {
        align-items: flex-start !important;
    }

    .recent-card-title {
        font-size: 0.85rem;
    }

    .recent-meta {
        font-size: 0.75rem;
    }
}

/* 4.1.8: four cards in one row on wide screens; mobile remains responsive. */
@media(min-width:1100px){.recent-grid-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}}


/* Upcoming session cards */
/* Extracted from template-parts/section-upcoming-sessions.php in 3.8.0. */
/* ===== GRID ===== */
.upcoming-grid-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    /* mobil */
    column-gap: 10px;
    row-gap: 0;
}

@media (min-width: 768px) {
    .upcoming-grid-list {
        grid-template-columns: repeat(3, 1fr);
        column-gap: 20px;
        row-gap: 20px;
    }
}

/* ===== HEADER ===== */
.upcoming-grid-header {
    gap: 0.75rem;
}

/* ===== CARD ===== */
.upcoming-card {
    display: block;
    text-decoration: none;
    color: inherit;
}

.upcoming-card:hover,
.upcoming-card:focus {
    text-decoration: none;
    color: inherit;
}

/* ===== IMAGE ===== */
.upcoming-card-image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f3f3f3;
}

.upcoming-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ===== BODY ===== */
.upcoming-card-body {
    padding: 0.75rem 0;
}

.upcoming-card-title {
    font-size: 0.9rem;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

/* ===== META ===== */
.upcoming-meta {
    display: flex;
    gap: 0.4rem;
    font-size: 0.8rem;
    line-height: 1.4;
    margin-bottom: 0.35rem;
}

.upcoming-meta i {
    width: 1rem;
    flex-shrink: 0;
    margin-top: 0.15rem;
}

/* ===== POWERED BY ===== */
.upcoming-powered-by {
    font-size: 0.75rem;
    opacity: 0.8;
    margin-bottom: 0.75rem;
    line-height: 1.4;
}

/* ===== MOBILE ===== */
@media (max-width: 767.98px) {
    .upcoming-grid-header {
        align-items: flex-start !important;
    }

    .upcoming-card-title {
        font-size: 0.85rem;
    }

    .upcoming-meta {
        font-size: 0.75rem;
    }

    .upcoming-powered-by {
        font-size: 0.7rem;
    }

    .upcoming-card-body .btn {
        font-size: 0.7rem;
        padding: 0.35rem 0.55rem;
    }
}

/* 4.1.8: four cards in one row on wide screens; mobile remains responsive. */
@media(min-width:1100px){.upcoming-grid-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}}


/* Spotify playlist cards */
/* Extracted from template-parts/section-playlists-slider.php in 3.8.0. */
/* ===== HEADER ===== */
.playlists-header {
    gap: 0.75rem;
}

/* ===== DESKTOP GRID ===== */
.playlists-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 20px;
    row-gap: 20px;
}

/* ===== MOBILE/TABLET SLIDE SPACING ===== */
.playlist-slide-inner {
    padding-left: 10px;
    padding-right: 10px;
}

/* ===== CARD ===== */
.playlist-card {
    display: block;
    text-decoration: none;
    color: inherit;
}

.playlist-card:hover,
.playlist-card:focus {
    text-decoration: none;
    color: inherit;
}

/* ===== IMAGE ===== */
.playlist-card-image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f3f3f3;
}

.playlist-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ===== BODY ===== */
.playlist-card-body {
    padding: 0.75rem 0;
}

.playlist-card-title {
    font-size: 0.9rem;
    line-height: 1.3;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

/* ===== MOBILE ===== */
@media (max-width: 991.98px) {
    .playlists-header {
        align-items: flex-start !important;
    }

    .playlist-card-title {
        font-size: 0.85rem;
    }
}

/* Native mobile carousel: CSS Scroll Snap, no JS or Bootstrap dependency. */
.ssw-playlists-scroll { min-width:0; }
@media (max-width:991.98px) {
  .ssw-playlists-scroll { overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x proximity; scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
  .ssw-playlists-scroll .playlists-grid { display:flex; gap:16px; width:max-content; max-width:none; padding:0 2px 16px; }
  .ssw-playlists-scroll .playlist-card { width:min(78vw,340px); flex:none; scroll-snap-align:start; }
}
@media (min-width:992px) { .ssw-playlists-scroll .playlists-grid { display:grid; } }


/* 4.6.2 – flyer-led, consistently aligned upcoming cards. */
.ssw-home-sections .upcoming-card{display:flex;flex-direction:column;overflow:hidden;height:100%;background:#132019;border:1px solid #2e4637;border-radius:14px;color:#eff5ed;transition:border-color .16s,transform .16s;}
.ssw-home-sections .upcoming-card:hover{border-color:#88ac70;transform:translateY(-2px)}
.ssw-home-sections .upcoming-card-image{width:100%;aspect-ratio:4/3;overflow:hidden;background:#203128;flex:none;border:0;margin:0}
.ssw-home-sections .upcoming-card-image img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center}
.ssw-home-sections .upcoming-card-body{padding:16px 16px 18px;display:flex;flex-direction:column;align-items:stretch;gap:9px;flex:1;min-width:0}
.ssw-home-sections .upcoming-card-title{font:700 clamp(14px,1.15vw,17px)/1.4 'Space Grotesk',sans-serif;color:#f1f6ed;margin:0;letter-spacing:-.015em;text-transform:none;overflow-wrap:anywhere}
.ssw-home-sections .upcoming-meta,.ssw-home-sections .upcoming-powered-by{display:flex;align-items:flex-start;gap:9px;min-width:0;margin:0;color:#bdcbbf;opacity:1;font-size:12px;line-height:1.5}
.ssw-home-sections .upcoming-date{color:#c9fd6b;font-weight:700}
.ssw-home-sections .upcoming-powered-by{margin-top:auto;padding-top:12px;border-top:1px solid #2d4133;color:#e2f1dd;font-weight:650}
.ssw-home-sections .upcoming-meta svg,.ssw-home-sections .upcoming-powered-by svg{width:16px;height:16px;flex:0 0 16px;margin-top:1px;color:#9fbd93}
.ssw-home-sections .upcoming-date svg{color:#c9fd6b}
.ssw-home-sections .upcoming-meta :is(span,time),.ssw-home-sections .upcoming-powered-by>span{display:block;min-width:0;overflow-wrap:anywhere}
@media(max-width:620px){.ssw-home-sections .upcoming-card-body{padding:12px;gap:8px}.ssw-home-sections .upcoming-card-title{font-size:13px}.ssw-home-sections .upcoming-meta,.ssw-home-sections .upcoming-powered-by{font-size:11px;gap:7px}.ssw-home-sections .upcoming-meta svg,.ssw-home-sections .upcoming-powered-by svg{width:14px;height:14px;flex-basis:14px}}

/* 4.9.4 — releases reuse the existing 4-card Upcoming Sessions component. */
.ssw-home-sections .ssw-home-release-cover{aspect-ratio:1/1}
.ssw-home-sections .ssw-home-release-type{display:block;color:#c9fd6b;font:800 10px/1.3 'DM Sans',sans-serif;letter-spacing:.09em;text-transform:uppercase}
.ssw-home-sections .ssw-home-release-list .upcoming-card-body{gap:8px}
.ssw-home-sections .ssw-home-release-list .upcoming-meta{font-size:12px}
.ssw-home-sections .ssw-home-release-list .upcoming-date{margin-top:auto;padding-top:10px;border-top:1px solid #2d4133}
