/* Software catalog grid — ported from sonsofsound.com's own artist/recordings
   pages (new-site/site_media/css/{screen,style}.css: the Blueprint .span-2
   grid, .square/.square-small tiles, #nav-explore's clickable header + filter
   menu). Adapted rather than copied verbatim: sonsofsound's version depends
   on sorl-thumbnail's pre-cropped 248x248 images and an absolutely-positioned
   overlay menu tied to its own #site-wrapper page chrome — neither exists in
   mm-site, so square backgrounds use object-fit:cover and the filter menu
   sits in normal flow next to the header tile instead of overlaying the grid
   below it. */

.sw-nav-explore {
    margin-bottom: 5px;
}
.sw-nav-explore::after {
    content: "";
    display: table;
    clear: both;
}

.sw-square-header-box {
    float: left;
    margin-right: 5px;
    margin-bottom: 5px;
    width: 247px;
    height: 248px;
    position: relative;
    box-sizing: border-box;
}

.sw-explore-main {
    cursor: pointer;
    background: var(--paper);
    color: var(--charcoal);
}
.sw-explore-main .sw-title-box {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
}
.sw-explore-main .title {
    font-family: 'Archivo Narrow', sans-serif;
    font-weight: 700;
    font-size: 18px;
    text-transform: lowercase;
    margin: 0;
    line-height: 1em;
}

.sw-explore-menu {
    display: none;
    height: auto;
    background: var(--paper);
    color: var(--charcoal);
    padding: 20px 20px 24px;
}
.sw-page.show-explore-menu .sw-explore-menu {
    display: block;
}
.sw-explore-menu .square-header {
    border-bottom: 1px dotted rgba(41, 37, 38, 0.4);
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.sw-explore-menu .square-header .title {
    font-family: 'Archivo Narrow', sans-serif;
    font-weight: 700;
    font-size: 18px;
    margin: 0;
}
.sw-explore-menu ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 12px;
    line-height: 1.9;
}
.sw-explore-menu a {
    color: var(--charcoal);
}
.sw-explore-menu a.active {
    font-weight: bold;
}
.sw-explore-menu a:hover {
    color: #6d655f;
}

.sw-explore-wrapper::after {
    content: "";
    display: table;
    clear: both;
}

.sw-square {
    float: left;
    margin-right: 5px;
    margin-bottom: 5px;
    width: 247px;
    height: 248px;
    position: relative;
    display: block;
    box-sizing: border-box;
    text-decoration: none;
}

.sw-square-background {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: var(--tile);
}
.sw-square-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0.55;
    transition: opacity 200ms ease-in-out;
}
.sw-square:hover .sw-square-background img {
    opacity: 1;
}

.sw-square-foreground {
    z-index: 1;
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 20px;
    right: 20px;
    color: var(--paper);
}
.sw-square-foreground .bottom {
    position: absolute;
    bottom: 0;
    width: 100%;
}
.sw-square-foreground .title {
    font-family: 'Archivo Narrow', sans-serif;
    font-weight: 700;
    font-size: 18px;
    margin: 0;
    line-height: 1em;
}
.sw-square-foreground .sub-title {
    font-family: 'Space Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    margin: 6px 0 0;
    line-height: 1.3;
}
