@import url("variables.css");

/* =================================================== HERO =================================================== */
.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    background: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .70)),
        /* url("../images/hero.webp"); */
    url("../images/hero.jpeg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, transparent 20%, rgba(0, 0, 0, .55) 100%);
}

.hero .content {
    max-width: 900px;
    padding: 2rem;
}

.hero h1 {
    margin-bottom: 1rem;
    text-shadow: 0 10px 35px rgba(0, 0, 0, .5);
}

.hero p {
    margin: 0 auto;
    padding-top: 2rem;
}

.cta {
    margin-top: 3rem;
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.hero-actions {
    margin-top: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

/* =================================================== GENERIC SECTION =================================================== */
.panel {
    position: relative;
    display: flex;
    align-items: center;
}

.panel .container {
    position: relative;
    z-index: 5;
}

/* =================================================== ABOUT =================================================== */
#about {
    background: #111;
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
}

.about-image {
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
}

.about-image img {
    transition: .8s;
}

.about-image:hover img {
    transform: scale(1.05);
}

.about-quote {
    margin-bottom: 32px;
}

blockquote {
    border-left: 4px solid var(--yellow);
    padding-left: 2rem;
    font-size: 1.5rem;
    font-style: italic;
}

/* =================================================== MUSIC =================================================== */
#music {
    background: #090909;
}

.release-grid {
    margin-top: 4rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.release {
    background: #171717;
    border-radius: var(--radius);
    overflow: hidden;
    transition: .35s;
}

.release:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow);
}

.release-image {
    aspect-ratio: 1;
    background: #222;
}

.release-content {
    padding: 2rem;
}

.release-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: center;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}

.embed-card {
    margin-bottom: 32px;
}

.release-copy-container {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.music-feature:not(:last-of-type) {
    margin-bottom: 32px;
}

/* =================================================== VIDEO =================================================== */
#video {
    background: #111;
}

.video-wrapper {
    aspect-ratio: 16/9;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--shadow);
    margin-top: 3rem;
}

.video-wrapper iframe {
    width: 100%;
    height: 100%;
}

/* =================================================== GALLERY =================================================== */
#gallery {
    background: #060606;
}

.gallery-grid {
    margin-top: 4rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1.5rem;
}

.gallery-item {
    overflow: hidden;
    border-radius: 14px;
    cursor: pointer;
}

.gallery-item img {
    transition: .45s;
    aspect-ratio: 4/3;
    object-fit: cover;
}

.gallery-item:hover img {
    transform: scale(1.08);
}

/* =================================================== GIGS =================================================== */
#gigs {
    background: #0f0f0f;
}

.gig-list {
    margin-top: 3rem;
    display: grid;
    gap: 1rem;
}

.gig {
    display: grid;
    grid-template-columns: 150px 1fr auto;
    align-items: center;
    background: #171717;
    padding: 1.5rem 2rem;
    border-radius: 14px;
    transition: .3s;
}

.gig:hover {
    border-left: 6px solid var(--yellow);
    transform: translateX(6px);
}

.gig-date {
    font-weight: bold;
    color: var(--yellow);
}

/* =================================================== PRESS =================================================== */
#press {
    background: #111;
}

.press-grid {
    margin-top: 3rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 2rem;
}

.press-card {
    background: #181818;
    padding: 2rem;
    border-radius: 14px;
    transition: .35s;
}

.press-card:hover {
    transform: translateY(-8px);
}

/* =================================================== CONTACT =================================================== */
#contact {
    background: #080808;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
}

.contact-details {
    display: grid;
    gap: 1.5rem;
}

.contact-card a {
    padding-bottom: 4px;
}

.social-links {
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
}

.social-links a {
    display: grid;
    place-items: center;
    transition: .3s;
    border-bottom: 2px solid transparent;
    padding-bottom: 4px;
}

.social-links a:hover, .contact-card a:hover {
    color: var(--yellow);
    border-bottom: 2px solid var(--yellow);
}

/* =================================================== FOOTER =================================================== */
footer {
    background: black;
    text-align: center;
    padding: 2rem;
    color: var(--grey);
    border-top: 1px solid #222;
}

.parallax-image {
    position: absolute;
    inset: -10%;
    z-index: 0;
    overflow: hidden;
}

.parallax-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.parallax::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .58);
    z-index: 1;
}

.parallax .container {
    position: relative;
    z-index: 5;
}