/* Iris Lunaris: standalone content uses the existing theme container widths.
 * Direct-child selection deliberately excludes grids, sidebar columns,
 * footer, booking button and the separate #home header/slider region.
 * Keep "Rahmen: Standard" so TYPO3 outputs the frame and layout classes.
 */
.main > .frame:is(.frame-type-text, .frame-type-textpic, .frame-type-textmedia, .frame-type-image):not(.frame-layout-901) {
    box-sizing: border-box;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

@media (min-width: 576px) {
    .main > .frame:is(.frame-type-text, .frame-type-textpic, .frame-type-textmedia, .frame-type-image):not(.frame-layout-901) {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .main > .frame:is(.frame-type-text, .frame-type-textpic, .frame-type-textmedia, .frame-type-image):not(.frame-layout-901) {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .main > .frame:is(.frame-type-text, .frame-type-textpic, .frame-type-textmedia, .frame-type-image):not(.frame-layout-901) {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .main > .frame:is(.frame-type-text, .frame-type-textpic, .frame-type-textmedia, .frame-type-image):not(.frame-layout-901) {
        max-width: 1200px;
    }
}

/* Explicit full width applies only to standalone content, never a grid child. */
.main > .frame.frame-layout-901 {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.main > .frame-type-image.frame-layout-901 .gallery-row {
    margin-left: 0;
    margin-right: 0;
}

.main > .frame-type-image.frame-layout-901 .gallery-item {
    padding-left: 0;
    padding-right: 0;
}

.main > .frame-type-image.frame-layout-901 picture,
.main > .frame-type-image.frame-layout-901 picture img {
    display: block;
    width: 100%;
}

.main > .frame-type-image.frame-layout-901 picture img {
    height: auto;
}
