body {
    width: 100% !important;
}

#greetings {
    height: auto;
    padding: 20px;
    background-image: url('/static/images/1663769553_1_phonoteka_org_p_koshachi_lapki_fon_pinterest_1.png');
}

#contentWithLogo {
    color: #666666;
    background-color: #FFFD00;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 100%;
    border-radius: 22px;
    padding: 20px;
    gap: 20px;
}

#aboutFoundation {
    height: auto;
    min-height: 40vh;
    padding: 20px;
    background: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url('/static/video/background-home-1.gif');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#aboutFoundationText {
    font-weight: bold;
    color: #ffffff;
    font-size: 22px;
}

#requisites {
    height: auto;
    min-height: 40vh;
    padding: 60px;
    background: linear-gradient(176deg, #000000 0%, #e09900 100%);
    flex-direction: column;
    gap: 20px
}

#requisitesText {
    font-weight: bold;
    color: #ffffff;
    font-size: 15px;
}

#requisitesImage {
    width: 100%;
    border: 4px solid #ffffff;
}

#requisitesQr {
    width: 300px;
    height: 300px;
}

#helpPage,
#docsPage {
    color: #ffffff;
    background: linear-gradient(360deg, #000000 0%, #e09900 100%);
    padding: 10px;
}

#helpPageText {
    height: 100%;
}

#docs {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
    gap: 15px;
}

.docImage,
#offertText {
    width: 100%;
}

.priceOfLifePage,
.devotedHeartPage {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: url('/static/images/vydryj0ndsu2.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 20px;
}

.devotedHeartPage {
    background: url('/static/images/fon_black.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#fpgImage {
    width: 100%;
}

#priceOfLifeNavigation,
#devotedHeartNavigation {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 20px;
    align-items: center;
}

#priceOfLifeNavigation a,
#devotedHeartNavigation a {
    width: 100%;
    padding: 10px 30px 10px 30px;
    background-color: #E09900;
    margin: 10px;
    color: #fff;
    border-radius: 22px;
    font-weight: bold;
    font-size: large;
    text-decoration: none;
    text-align: center;
}

#priceOfLifePoster,
#priceOfLifeAboutText {
    width: 100%;
}

#homeFoundItems .item {
    display: flex;
    margin-top: 50px;
    gap: 10px;
    border: 2px solid #ffffff;
    flex-direction: column;
}

#homeFoundItems .item>img {
    width: 100%
}

#homeFoundItems .item>div {
    align-self: center;
}

#instructionsImages {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

#instructionsImages img {
    width: 100%;
}

#reportImages {
    display: flex;
    flex-direction: column;
    gap: 25px
}

.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

#devotedHeartImages {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

#devotedHeartImages>.item {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#devotedHeartImages>.item>img {
    width: 100%;
}

#devotedHeartBanners {
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: center;
}

#devotedHeartBanners>img,
#devotedHeartPage>img {
    width: 100%;
}

#footer {
    background-color: #F6F7F8;
    width: 100%;
    height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#loginPage,
#profilePage,
#usersManagerPage,
#passwordChangePage,
#createUserPage {
    background-color: #F6F7F8;
    min-height: 40vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.actions-col {
    width: 1%;
    white-space: nowrap;
}

.preview-content {
    width: 200px;
}

.post_form {
    width: 100%;
    display: flex;
    flex-direction: column;
}

#postsPage {
    min-height: 100vh;
    padding: 32px 16px 48px;
    background: linear-gradient(180deg, #c96a1f 0%, #b85d16 100%);
    display: flex;
    flex-direction: column;
}

#postsPage .pageTitle {
    color: #fff8f0;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

#postsList {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.post-card {
    overflow: hidden;
    border-radius: 20px;
    background: #f7e6d0;
    box-shadow: 0 12px 30px rgba(62, 28, 8, 0.16);
    border: 1px solid rgba(255, 248, 240, 0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.post-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(62, 28, 8, 0.22);
}

.post-media {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.post-carousel {
    height: 360px;
    overflow: hidden;
    background: #edd6b8;
}

.post-carousel .carousel-inner,
.post-carousel .carousel-item {
    height: 100%;
}

.post-body {
    padding: 1.25rem 1.25rem 0.5rem;
    color: #5a3520;
}

.post-content {
    font-size: 1rem;
    line-height: 1.6;
    word-break: break-word;
    color: #5a3520;
}

.post-footer {
    background: transparent;
    border-top: 1px solid rgba(90, 53, 32, 0.12);
}

.btn-outline-secondary {
    border-color: #8b5630;
    color: #8b5630;
}

.btn-outline-secondary:hover {
    background: #8b5630;
    color: #fff8f0;
}

.btn-outline-danger {
    border-color: #c85a34;
    color: #c85a34;
}

.btn-outline-danger:hover {
    background: #c85a34;
    color: #fff8f0;
}

@media (min-width: 768px) {
    #postsList {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .post_form {
        width: 40%;
    }

    #contentWithLogo {
        flex-direction: row;
    }

    #greetings {
        padding: 100px;
        padding-left: 20%;
        padding-right: 20%;
    }

    #aboutFoundation {
        padding: 90px;
    }

    #aboutFoundationText {
        font-size: 30px;
    }

    #requisites {
        flex-direction: row;
        flex-wrap: wrap;
    }

    #requisitesText {
        font-size: 30px;
    }

    #requisitesImage {
        width: auto;
    }

    #helpPage {
        padding: 60px;
    }

    #docs {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 15px;
    }

    .docImage {
        width: 35vw;
    }

    .carousel {
        max-width: 35vw;
    }

    #priceOfLifeNavigation {
        flex-direction: row;
        justify-content: space-between;
    }

    #devotedHeartNavigation {
        flex-direction: row;
        justify-content: space-evenly;
    }

    .priceOfLifePage,
    .devotedHeartPage {
        padding: 20px 220px 20px 220px;
    }

    #priceOfLifeNavigation a,
    #devotedHeartNavigation a {
        width: auto;
    }

    #fpgImage {
        width: 450px;
        align-self: flex-start;
    }

    #homeFoundItems .item {
        border: none;
    }

    #homeFoundItems .item:nth-child(odd) {
        flex-direction: row;
    }

    #homeFoundItems .item:nth-child(even),
    .post:nth-child(even) {
        flex-direction: row-reverse;
    }

    #homeFoundItems .item>img {
        width: 50%;
        height: 450px;
    }

    #instructionsImages {
        flex-direction: row;
    }

    #instructionsImages img {
        width: 49%;
    }

    #reportImages {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }

    #devotedHeartImages {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    #devotedHeartBanners {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    #postsList {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .post-carousel {
        height: 320px;
    }
}