.root {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
}

.container {
    width: 100%;
    max-width: var(--content-max-width);
    padding: 64px 120px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "gallery info"
        "gallery plans";
    column-gap: 64px;
    row-gap: 32px;
}

.container.noPlans {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "gallery info";
    column-gap: 120px;
}

.info {
    grid-area: info;
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 28px;
}

.infoHeader {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 20px;
}

.infoDescription {
    color: var(--color-text-secondary)
}

.gallery {
    grid-area: gallery;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.quoteWrapper {
    width: 100%;
    max-width: 50ch;
    margin: 0 auto;
}

.plansSection {
    grid-area: plans;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-top: 12px;
}

.plans {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 12px;
}

.planLabel {
    color: var(--color-text-secondary);
}

.ratingContainer {
    margin: 0 auto;
}

.actions {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.mobileOnly {
    display: none;
}

.desktopOnly {
    display: block;
}

@media (width <= 1260px) {
    .container {
        padding: 64px 64px;
        column-gap: 40px;
    }
}

@media (width <= 1024px) {
    .container,
    .container.noPlans {
        padding: 24px 20px 64px;
        column-gap: 24px;
    }
}

@media (width <= 768px) {
    .container,
    .container.noPlans {
        padding: 24px 20px 64px;
        grid-template-columns: 1fr;
        column-gap: 24px;
        grid-template-areas:
            "gallery"
            "info"
            "plans";
    }

    .desktopOnly {
        display: none;
    }

    .mobileOnly {
        display: block;
    }
}
