/* Hard rules for generated article layout */
.tomii-article-section {
    margin: 0 0 24px;
}

.tomii-generated-page {
    max-width: 1180px;
    margin: 0 auto;
}

.tomii-generated-page .tomii-layout-row {
    display: grid !important;
    gap: 24px;
    align-items: start;
    margin: 0 0 28px;
    padding: 20px;
    border: 1px solid #e6e8eb;
    border-radius: 16px;
    background: #fff;
}

.tomii-generated-page.tomii-template_a .tomii-layout-row {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) !important;
}

.tomii-generated-page.tomii-template_b .tomii-layout-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr) !important;
}

.tomii-generated-page.tomii-template_c .tomii-layout-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.tomii-generated-page .tomii-layout-row-no-image {
    display: block !important;
}

.tomii-generated-page .tomii-layout-text,
.tomii-generated-page .tomii-layout-media {
    min-width: 0;
    width: 100%;
}

.tomii-generated-page .tomii-layout-media figure {
    margin: 0;
}

.tomii-generated-page .tomii-layout-image {
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
    display: block;
}

.tomii-generated-page .tomii-layout-row-reverse .tomii-layout-media {
    order: -1;
}

.tomii-generated-page .tomii-layout-text p,
.tomii-generated-page .tomii-layout-text li,
.tomii-generated-page .tomii-layout-text h2,
.tomii-generated-page .tomii-layout-text h3,
.tomii-generated-page .tomii-layout-text h4 {
    overflow-wrap: anywhere;
    word-break: normal;
}

.tomii-gallery-section {
    max-width: 1180px;
    margin: 56px auto 0;
    padding: 28px 20px;
    border: 1px solid #e6e8eb;
    border-radius: 16px;
    background: #fff;
}

.tomii-gallery-section h2 {
    text-align: center;
    margin: 0 0 22px;
}

@media (max-width: 900px), (hover: none) and (pointer: coarse) {
    .tomii-generated-page .tomii-layout-row,
    .tomii-generated-page.tomii-template_a .tomii-layout-row,
    .tomii-generated-page.tomii-template_b .tomii-layout-row,
    .tomii-generated-page.tomii-template_c .tomii-layout-row {
        grid-template-columns: 1fr !important;
        gap: 16px;
        padding: 16px;
    }

    .tomii-generated-page .tomii-layout-row-reverse .tomii-layout-media {
        order: 0;
    }

    .tomii-gallery-section {
        padding: 20px 14px !important;
    }

    .tomii-gallery-section h2 {
        font-size: 30px;
        line-height: 1.2;
    }
}
