#session-container {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
    color: #f0f0f0;
    font-family: "Source Sans 3", sans-serif;
    max-width: 62.5rem;
}

#session-container h1 {
    margin-bottom: 1rem;
}

#session-container h1 span {
    position: relative;
    display: inline-block;
}

#session-container h1 span::before {
    content: '';
    position: absolute;
    top: 0.4375rem;
    left: -0.125rem;
    right: 0;
    height: 0.25rem;
    background:
        linear-gradient(rgba(173, 146, 119, 0.5), rgba(173, 146, 119, 0.5)) 0 0 / 0.25rem 0.0625rem no-repeat,
        linear-gradient(rgba(173, 146, 119, 0.5), rgba(173, 146, 119, 0.5)) 0 0 / 0.0625rem 0.25rem no-repeat,
        linear-gradient(rgba(173, 146, 119, 0.5), rgba(173, 146, 119, 0.5)) 100% 0 / 0.25rem 0.0625rem no-repeat,
        linear-gradient(rgba(173, 146, 119, 0.5), rgba(173, 146, 119, 0.5)) 100% 0 / 0.0625rem 0.25rem no-repeat;
}

#session-container h1 span::after {
    content: '';
    position: absolute;
    bottom: 0.75rem;
    left: -0.125rem;
    right: 0;
    height: 0.25rem;
    background:
        linear-gradient(rgba(173, 146, 119, 0.5), rgba(173, 146, 119, 0.5)) 0 100% / 0.25rem 0.0625rem no-repeat,
        linear-gradient(rgba(173, 146, 119, 0.5), rgba(173, 146, 119, 0.5)) 0 100% / 0.0625rem 0.25rem no-repeat,
        linear-gradient(rgba(173, 146, 119, 0.5), rgba(173, 146, 119, 0.5)) 100% 100% / 0.25rem 0.0625rem no-repeat,
        linear-gradient(rgba(173, 146, 119, 0.5), rgba(173, 146, 119, 0.5)) 100% 100% / 0.0625rem 0.25rem no-repeat;
}

.session-introduction {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 1.5rem;
}

.session-image-mobile {
    display: block;
    margin-top: 2rem;
    width: 100%;
}

.session-image-mobile img {
    width: 100%;
    height: auto;
}

.session-image-desktop {
    display: none;
    margin-top: 2rem;
}

.session-texts {
    display: flex;
    flex-direction: column;
    row-gap: 3rem;
    margin-top: 1.5rem;
}

.session-standalone {
    margin-top: 3rem;
}

.session-text h2 {
    color: var(--color-base);
    font-weight: 400;
    font-size: 2.2rem;
    font-family: "Cinzel", serif;
    margin-bottom: 1.5rem;
}

.session-text > div {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
}

div.session-faq h3 {
    font-weight: 600;
    font-size: 1rem;
}

div.session-faq ul {
    list-style-type: none;
    font-weight: 300;
}


.opinion-text {
    font-style: italic;
    font-weight: 300;
    font-size: 1rem;
}

#pricing {
    width: 100%;
}

#session-opinions,
#pricing-cards {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

#session-opinions {
    row-gap: 4rem;
    column-gap: 2rem;
}

#pricing-cards {
    row-gap: 3rem;
}

#session-opinions p.opinion-person {
    font-weight: 500;
}

.opinion-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 27.875rem;
    margin-bottom: 2rem;
}

.opinion-card img {
    width: 100%;
    height: auto;
    margin-bottom: 1.5rem;
    display: block;
}

.pricing-card img {
    width: 100%;
    margin-bottom: 3rem;
}

.pricing-card h3 {
    font-weight: 400;
    letter-spacing: 0.1rem;
    font-size: 1.8rem;
    font-family: "Cinzel", serif;
    text-transform: uppercase;
}

.pricing-card:nth-child(1) h3 {
    color: #f1d98f;
}

.pricing-card:nth-child(2) h3 {
    color: #badde7;
}

.pricing-card:nth-child(3) h3 {
    color: #d88484;
}

.pricing-card-text {
    display: grid;
    grid-template-rows:
        [title] auto
        [time] auto
        [location] auto
        [photos] auto
        [prints] auto
        [video] auto
        [makeup] auto
        [photobook] auto
        [extra] auto
        [consultation] auto
        [price] auto;
    row-gap: 1rem;
    justify-items: center;
    text-align: center;
    padding: 0 1.5rem 2rem;
}

.card-title { grid-row: title; }
.card-time { grid-row: time; }
.card-location { grid-row: location; }
.card-photos { grid-row: photos; }
.card-prints { grid-row: prints; }
.card-video { grid-row: video; }
.card-makeup { grid-row: makeup; }
.card-photobook { grid-row: photobook; }
.card-extra { grid-row: extra; }
.card-consultation { grid-row: consultation; }
.card-price { grid-row: price; }

.card-unavailable {
    color: #838383;
    display: none;
}

@media (min-width: 1024px) {
    .card-unavailable {
        display: block;
    }
}

.pricing-card-text p {
    font-size: 0.9rem;
}

#session-container .pricing-card-text p.pricing-highlight {
    font-weight: 500;
}

.pricing-card-text p.pricing-price {
    margin-top: 0.5rem;
    font-size: 1rem;
}

#session-container .opinion-title {
    margin-bottom: 1rem;
}

#session-container #contact-form {
    width: 100%;
}

#pricing h2 {
    margin-bottom: 1rem;
}

#main-desc {
    margin-bottom: 3rem;
}

@media (min-width: 1024px) {
    #session-container h1 span::before {
        top: 0.125rem;
    }

    #session-container h1 span::after {
        bottom: 0.375rem;
    }

    .session-image-mobile {
        display: none;
    }

    .session-image-desktop {
        display: block;
    }

    .session-image-desktop img {
        width: 100%;
    }

    #pricing-cards {
        flex-direction: row;
        column-gap: 2rem;
        width: fit-content;
    }

    .pricing-card {
        max-width: 18.5rem;
    }


    .opinion-card {
        width: min-content; 
        max-width: none; 
    }

    .opinion-card img {
        height: 19.625rem;
        width: auto; 
        max-width: none; 
    }

    #session-opinions p.opinion-person {
        margin-top: 0.5rem;
    }
}
