#view--home {
    .hero {
        img {
            display: block;
            width: 100%;
            aspect-ratio: 2.5 / 1;
            max-height: 810px;
            object-fit: cover;
            object-position: center;
            display: block;

            @media (max-width: 768px) {
                aspect-ratio: 2 / 1;
            }
        }
    }

    .promos {
        @media (max-width: 768px) {
            padding: 15px;
            background-color: var(--color-bg);
        }
    }

    .promo {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
        vertical-align: middle;

        &:nth-child(odd) {
            flex-direction: row-reverse;
        }

        @media (max-width: 768px) {
            flex-direction: column;

            .promo + & {
                margin-top: 15px;
            }

            &:nth-child(odd) {
                flex-direction: column;
            }
        }

        .promo--image {
            flex: 0 0 50%;

            img {
                display: block;
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }

        .promo--content {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            flex: 0 0 50%;
            padding: 36px;
            text-align: center;
            background-color: white;

            img {
                max-width: 60%;
            }

            h2 {
                margin: 0;
                margin-top: 24px;
            }

            p {
                margin: 0;
                margin-top: 8px;
            }

            a {
                margin-top: 24px;

                @media (max-width: 768px) {
                    margin-top: 15px;
                }
            }
        }
    }
}

#view--store-list {
    .store-list {
        padding: 48px 36px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
        background-color: #f2f2f2;

        @media (max-width: 768px) {
            padding: 48px 15px;
            grid-template-columns: repeat(2, 1fr);
        }

        @media (max-width: 425px) {
            grid-template-columns: 1fr;
        }
    }

    .store-list--store {
        background: #fff;
        padding: 1.75rem 2rem;
        display: block;
        color: var(--color-text);
        position: relative;
        transition: background 0.15s;
        text-decoration: none;

        &:hover {
            background: #faf9f7;
        }

        &.is-hidden {
            display: none;
        }

        .store-list--store--category {
            display: block;
            font-size: 0.62rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--color-text-muted);
            margin-bottom: 0.5rem;
        }

        .store-list--store--name {
            font-family: var(--font-serif);
            font-size: 1.15rem;
            font-weight: normal;
            margin: 0 0 0.5rem;
            line-height: 1.25;
            padding-right: 1.5rem;
        }

        .store-list--store--tagline {
            font-size: 0.84rem;
            color: var(--color-text-muted);
            line-height: 1.5;
            margin: 0;
        }

        .store-list--store--arrow {
            position: absolute;
            top: 1.75rem;
            right: 1.75rem;
            color: var(--color-border);
            font-size: 1.1rem;
            transition: transform 0.2s, color 0.2s;
        }

        &:hover .store-list--store--arrow {
            transform: translateX(3px);
            color: var(--color-text-muted);
        }
    }

}

#view--store-details {
    .store--hero {
        position: relative;
        overflow: hidden;

        img {
            width: 100%;
            aspect-ratio: 16 / 9;
            max-height: 810px;
            object-fit: cover;
            object-position: center;
            display: block;
        }

        .store--hero--title {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            width: 100%;
            background-color: rgba(255, 255, 255, 0.9);
            padding: 24px 0;

            text-align: center;

            h1 {
                margin: 0;
                font-family: "Got", var(--font-sans);
                font-weight: 400;
                font-size: 48px;
                line-height: 1;
                text-transform: uppercase;

                @media (max-width: 600px) {
                    font-size: 24px;
                }
            }
        }

    }

    .store--details {
        max-width: 768px;
        margin: 0 auto;
        padding: 72px 36px;

        @media (max-width: 425px) {
            padding: 30px 15px;
        }

        .store--breadcrumbs {
            margin-bottom: 8px;
            font-family: "Got", var(--font-sans);
            font-size: 13px;
            text-transform: uppercase;
            color: #aaa;

            a {
                text-decoration: none;
                color: var(--color-primary);

                &:hover {
                    color: inherit;
                }
            }
        }

        .store--description {
            margin-top: 12px;
            line-height: 1.4;
            color: var(--color-text);
        }

        .store--meta {
            display: flex;
            flex-direction: row;
            gap: 36px;
            margin-top: 54px;

            @media (max-width: 768px) {
                flex-direction: column;
                gap: 24px;
                margin-top: 24px;
            }

            .store--hours {
                flex: 2 0 0;

                .store-hours {
                    margin-bottom: 0;

                    td:first-child {
                        font-weight: bold;
                    }

                    td:nth-child(2) {
                        padding-left: 16px;
                    }
                }
            }

            .store--contact {
                flex: 1 0 0;

                ul {
                    list-style: none;
                    padding: 0;
                    margin: 0;

                    li {
                        margin-top: 16px;
                    }

                    .store--contact--phone {

                        a {
                            position: relative;
                            padding-left: 28px;
                            text-decoration: none;

                            &::before {
                                content: "";
                                position: absolute;
                                left: 0;
                                top: 50%;
                                transform: translateY(-50%);
                                width: 20px;
                                height: 20px;
                                background-image: url("../images/icon-phone-dark.png");
                                background-size: contain;
                                background-repeat: no-repeat;
                            }
                        }
                    }

                    .store--contact--directions {

                        a {
                            position: relative;
                            padding-left: 28px;
                            text-decoration: none;

                            &::before {
                                content: "";
                                position: absolute;
                                left: 0;
                                top: 50%;
                                transform: translateY(-50%);
                                width: 20px;
                                height: 20px;
                                background-image: url("../images/icon-map-dark.png");
                                background-size: contain;
                                background-repeat: no-repeat;
                            }
                        }
                    }
                }
            }
        }

        .store--actions {
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            gap: 54px;
            margin-top: 54px;

            @media (max-width: 768px) {
                gap: 24px;
            }

            @media (max-width: 425px) {
                flex-direction: column;
                align-items: stretch;
                gap: 8px;
            }
        }
    }
}

#view--hours-and-directions {
    .hero {
        width: 100%;
        padding: 54px 0;
        font-family: "Got", var(--font-sans);
        font-weight: 200;
        letter-spacing: 1px;
        text-align: center;
        background-color: #f2f2f2;

        @media (max-width: 768px) {
            padding: 36px 15px;
        }

        h1 {
            margin: 0;
            text-transform: uppercase;

            @media (max-width: 768px) {
                font-size: 24px;
            }
        }
    }

    .hours-and-directions {
        .wrapper {
            max-width: 960px;
            margin: 0 auto;
            padding: 48px 15px;

            @media (max-width: 768px) {
                padding: 15px;
            }
        }

        .hours-and-directions--content {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: stretch;
            gap: 24px;

            @media (max-width: 768px) {
                flex-direction: column;
            }

            & > div {
                flex: 1 0 0;
            }

            .hours-and-directions--visit-us {
            }

            .hours-and-directions--hours {
                margin-top: 24px;
            }

            h2 {
                margin: 0;
            }

            address {
                margin-top: 24px;
            }

            address + a {
                margin-top: 24px;
            }

            img {
                width: 100%;
                height: 100%;
                display: block;
                margin: 0 auto;
                object-fit: cover;
            }

            .hours-and-directions--hours-table {
                margin: 16px 0;
                color: var(--color-text);

                td:first-child {
                    font-weight: bold;
                }

                td:nth-child(2) {
                    padding-left: 16px;
                }
            }
        }

        .hours-and-directions--map {
            margin-top: 48px;
        }
    }
}

#view--privacy-policy,
#view--terms-conditions {
    .hero {
        width: 100%;
        padding: 54px 0;
        font-family: "Got", var(--font-sans);
        font-weight: 200;
        letter-spacing: 1px;
        text-align: center;
        background-color: #f2f2f2;

        @media (max-width: 768px) {
            padding: 36px 15px;
        }

        h1 {
            margin: 0;
            text-transform: uppercase;

            @media (max-width: 768px) {
                font-size: 24px;
            }
        }
    }

    .legal-page,
    .legal-page--content {
        max-width: 960px;
        margin: 0 auto;
        padding: 48px 15px;

        @media (max-width: 768px) {
            padding: 36px 15px;
        }
    }
}
