/* ===========================
   SENEMIN PAGE
=========================== */

body.page-template-page-charity {
    background: #ffffff;
}

/* При скролле (header_fixed) — перебиваем обратно на тёмный */
.page-template-page-charity .header .menu a {
    color: #393939;
}

.header__next a.active,
.header a.active {
	color: #B6312A !important;
    border: 1px solid #B6312A !important;
}


/* Общий контейнер */
.senemin-page {
    font-family: 'Montserrat', sans-serif;
	margin-top: 100px;
}

.senemin-page section {
    width: 90%;
    margin: 120px auto;
}

/* ================= HERO ================= */
.senemin-page .hero {
    display: flex;
    min-height: 700px;
    overflow: hidden;
	background: #ffffff;
}

.senemin-page .left-block {
    width: 55%;
    background: white;
    color: #c52d1f;
    padding: 140px 8%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.senemin-page .content h1 {
	margin-top: 25%;
    font-size: 128px;
    font-weight: 800;
    margin-bottom: 20px;
}

.senemin-page .content h2 {
    font-size: 28px;
    margin-bottom: 20px;
}

.senemin-page .content p {
    font-size: 28px;
    margin-top: 20px;
}

.senemin-page .line {
    width: 160px;
    height: 4px;
    background: #c52d1f;
    margin: 25px 0;
    border-radius: 3px;
}

.senemin-page .right-block {
    width: 45%;
    position: relative;
    overflow: hidden;
}

.senemin-page .right-block img {
    width: 100%;
    height: 100%;
    object-fit: cover;

    border-top-left-radius: 300px;
    border-bottom-left-radius: 300px;
}



/* ================= MISSION ================= */
.senemin-page .mission {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.senemin-page .mission-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
	left: -3%;
    object-fit: cover;
    filter: grayscale(100%);
    z-index: 1;
}

.senemin-page .mission-overlay {
	border-radius: 50px;
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 2;
}

.senemin-page .mission-content {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: flex-start;
    gap: 40px;
    padding: 140px 8%;
    color: white;
    max-width: 1200px;
}

.senemin-page .mission-line {
    width: 4px;
    height: 180px;
    background: white;
}

.senemin-page .mission-content h2 {
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 20px;
}

.senemin-page .mission-content p {
    font-size: 20px;
    line-height: 1.6;
    max-width: 520px;
}


/* ================= VALUES ================= */

.senemin-page .values {
    display: flex;
    min-height: 650px;
}

.senemin-page .values-left,
.senemin-page .values-right {
    width: 50%;
    padding: 120px 8%;
}

.senemin-page .values-left {
    background: white;
    color: #333;
}

.senemin-page .values-right {
	border-radius: 50px;
    background: #c52d1f;
    color: white;
}

.senemin-page .values-left h2,
.senemin-page .values-right h2 {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 40px;
}

.senemin-page .value-item {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}

.senemin-page .circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: white;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 18px;
    margin-right: 20px;
    flex-shrink: 0;
}

.senemin-page .value-item p {
    font-size: 18px;
    line-height: 1.5;
    max-width: 450px;
}

.senemin-page .values-right ul {
    padding-left: 20px;
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 40px;
}

.senemin-page .white-line {
    width: 120px;
    height: 4px;
    background: white;
    margin: 40px 0;
    border-radius: 3px;
}

.senemin-page .slogan {
    font-size: 18px;
}

/* ================= AUDIENCE ================= */

.senemin-page .audience {
    display: flex;
    min-height: 650px;
}

.senemin-page .audience-left {
    width: 40%;
    background: white;
    color: #333;
    padding: 120px 8%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.senemin-page .audience-left h2 {
    font-size: 42px;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 40px;
}

.senemin-page .audience-text p {
    font-size: 18px;
    margin-top: 25px;
    font-weight: 600;
}

.senemin-page .audience-text ul {
    padding-left: 20px;
    font-size: 18px;
    line-height: 1.7;
    margin-top: 10px;
}

.senemin-page .audience-left .white-line {
    width: 120px;
    height: 4px;
    background: white;
    margin-top: 40px;
    border-radius: 3px;
}

.senemin-page .audience-right {
    width: 60%;
    position: relative;
}

.senemin-page .audience-right img {
	border-radius: 50px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* ================= PROGRAMS ================= */
.senemin-page .programs {
    display: grid;
    grid-template-columns: 40% 60%;
    min-height: 700px;
}

.senemin-page .programs-left {
    background: white;
    color: #333;
    padding: 120px 8%;
    display: flex;
    align-items: center;
}

.senemin-page .programs-left h2 {
    font-size: 42px;
    font-weight: 800;
    line-height: 1.1;
}

.senemin-page .programs-right {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.senemin-page .program {
    padding: 80px 60px;
    display: flex;
    flex-direction: column;
}

.senemin-page .program h3 {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 20px;
    min-height: 60px;
}

.senemin-page .program ul {
    font-size: 18px;
    line-height: 1.6;
    padding-left: 20px;
}

.senemin-page .light {
    background: #efefef;
}

.senemin-page .dark {
    background: #8c8c8c;
    color: white;
}


/* ================= MODEL ================= */
.senemin-page .model {
    position: relative;
    min-height: 800px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.senemin-page .model::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        white 0%,
        white 45%,
        #8a8a8a 45%,
        #8a8a8a 100%
    );
    z-index: 0;
}

.senemin-page .model-top {
    position: relative;
    z-index: 2;
    padding: 120px 0 60px;
    display: flex;
    justify-content: center;
}

.senemin-page .model-top h2 {
    color: white;
    font-size: 42px;
    font-weight: 800;
}

.senemin-page .model-bottom {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 40px;
    padding: 0 8% 100px;
}

.senemin-page .model-card {
    width: 32%;
    color: white;
    display: flex;
    flex-direction: column;
}

.senemin-page .model-card ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}


.senemin-page .model-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    margin-bottom: 25px;
    border-radius: 12px;
}

.senemin-page .model-card h3 {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 15px;
}

.senemin-page .model-card p,
.senemin-page .model-card ul {
    font-size: 18px;
    line-height: 1.6;
}

.senemin-page .progress {
    width: 100%;
    height: 6px;
    background: #ddd;
    border-radius: 5px;
    margin-top: 20px;
}

.senemin-page .progress-red {
    height: 100%;
    background: #c52d1f;
    border-radius: 5px;
}


/* ================= TRANSPARENCY ================= */
.senemin-page .transparency {
    width: 90%;
    min-height: 90vh;
    margin: 40px auto;
    position: relative;
    overflow: hidden;
}

.senemin-page .transparency::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        #c52d1f 0%,
        #c52d1f 45%,
        #e6e6e6 45%,
        #e6e6e6 50%,
        #8a8a8a 50%,
        #8a8a8a 100%
    );
    z-index: 0;
}

.senemin-page .transparency-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
}

.senemin-page .trans-left {
    width: 45%;
    display: flex;
    align-items: center;
    padding-left: 8%;
}

.senemin-page .trans-left h2 {
    color: white;
    font-size: 3vw;
    font-weight: 800;
    line-height: 1.1;
}

.senemin-page .trans-right {
    width: 55%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 60px;
    padding-left: 8%;
	margin-top: 8%;
}

.senemin-page .trans-item {
    display: flex;
    align-items: center;
    gap: 30px;
}

.senemin-page .trans-item img {
    width: 130px;
    height: 130px;
    object-fit: cover;
    border-radius: 50%;
    border: 6px solid white;
    filter: grayscale(100%);
}

.senemin-page .trans-item p {
	padding-bottom: 2rem;
    font-size: 1.5vw;
    color: #333;
}

/* REVIEWS */
.reviews {
  background: #c91414;
  padding: clamp(40px, 6vw, 80px) 5%;
}

.reviews-title {
  text-align: center;
  color: #fff;
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 700;
  margin-bottom: clamp(30px, 5vw, 60px);
}

/* Контейнер */
.reviews-grid {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  aspect-ratio: 16 / 9; /* держит пропорции блока */
}

/* Карточки */
.review {
  position: absolute;
  background: #fff;
  padding: 1.5%;
  width: 20%; /* базовая ширина */
}

.review img {
  width: 100%;
  height: auto;
  display: block;
}

/* Позиции в % */
.review-1 {
  left: 0%;
  top: 0%;
  width: 22%;
}

.review-2 {
  left: 28%;
  top: 25%;
  width: 26%;
}

.review-3 {
  right: 0%;
  top: 0%;
  width: 22%;
}

.review-4 {
  right: 15%;
  bottom: 0%;
  width: 26%;
}

/* ================= FINAL ================= */

.senemin-page .final {
    width: 90%;
    min-height: 90vh;
    margin: 40px auto;
    background: #ffffff;
    display: flex;
    align-items: center;
}

.senemin-page .final-content {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
}

.senemin-page .final-left {
    width: 55%;
    color: #333;
}

.senemin-page .final-left p {
    font-size: 1.6vw;
    margin-bottom: 20px;
    line-height: 1.5;
}

.senemin-page .final-left .cta {
    text-decoration: underline;
    font-weight: 700;
    margin: 40px 0;
}

.senemin-page .contacts p {
    font-size: 1.3vw;
    margin-bottom: 15px;
}

.senemin-page .final-right {
    width: 40%;
    display: flex;
    justify-content: center;
}

.senemin-page .final-right img {
    width: 70%;
}

.final {
  background: #efefef;
  padding: clamp(40px, 6vw, 80px) 5%;
}

.final-content {
  display: flex;
  align-items: center;
  justify-content: space-between;

  max-width: 1200px;   /* ограничение ширины */
  margin: 0 auto;      /* центрирование */
  gap: 80px;           /* расстояние между колонками */
}

/* ЛЕВО */
.final-left {
  flex: 1;
  color: #b52a1c;
}

.final-text p {
  font-size: clamp(16px, 1.4vw, 22px);
  margin-bottom: 8px;
  font-weight: 500;
}

/* CTA */
.cta {
  margin: 30px 0;
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 700;
  text-decoration: underline;
}

/* Контакты */
.final-contacts {
  margin-top: 40px;
}

.contacts-title {
  font-size: 20px;
  margin-bottom: 15px;
}

.final-contacts p {
  margin-bottom: 20px;
  font-size: clamp(15px, 1.3vw, 20px);
}

/* ПРАВО */
.final-right {
  flex: 0 0 35%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.final-right img {
  width: 100%;
  max-width: 300px;
  height: auto;
}


@media (max-width: 1024px) {

    .senemin-page section {
        width: 95%;
        margin: 80px auto;
    }

    /* HERO */
    .senemin-page .hero {
        flex-direction: column;
    }

    .senemin-page .left-block,
    .senemin-page .right-block {
        width: 100%;
    }

    .senemin-page .content h1 {
        font-size: 72px;
        margin-top: 0;
    }

    /* VALUES */
    .senemin-page .values {
        flex-direction: column;
    }

    .senemin-page .values-left,
    .senemin-page .values-right {
        width: 100%;
        padding: 80px 8%;
    }

    /* AUDIENCE */
    .senemin-page .audience {
        flex-direction: column;
    }

    .senemin-page .audience-left,
    .senemin-page .audience-right {
        width: 100%;
    }

    /* PROGRAMS */
    .senemin-page .programs {
        grid-template-columns: 1fr;
    }

    .senemin-page .programs-right {
        grid-template-columns: 1fr;
    }

    /* MODEL */
    .senemin-page .model-bottom {
        flex-direction: column;
    }

    .senemin-page .model-card {
        width: 100%;
    }

    /* TRANSPARENCY */
    .senemin-page .transparency-content {
        flex-direction: column;
    }

    .senemin-page .trans-left,
    .senemin-page .trans-right {
        width: 100%;
    }

    /* FINAL */
    .senemin-page .final-content {
        flex-direction: column;
        gap: 60px;
    }

    .senemin-page .final-left,
    .senemin-page .final-right {
        width: 100%;
    }
}


@media (max-width: 768px) {

    .senemin-page .content h1 {
        font-size: 48px;
    }

    .senemin-page .content h2,
    .senemin-page .content p {
        font-size: 20px;
    }

    .senemin-page .mission-content {
        flex-direction: column;
        padding: 80px 8%;
    }

    .senemin-page .mission-line {
        height: 80px;
    }

    .senemin-page .mission-content h2 {
        font-size: 32px;
    }

    .senemin-page .mission-content p {
        font-size: 16px;
    }

    .senemin-page .values-left h2,
    .senemin-page .values-right h2,
    .senemin-page .audience-left h2,
    .senemin-page .programs-left h2 {
        font-size: 28px;
    }

    .senemin-page .program {
        padding: 40px 30px;
    }

    .senemin-page .trans-left h2 {
        font-size: 28px;
    }

    .senemin-page .trans-item {
        flex-direction: column;
        text-align: center;
    }

    .senemin-page .trans-item p {
        font-size: 16px;
    }

    .senemin-page .final-left p,
    .senemin-page .contacts p {
        font-size: 16px;
    }
}


@media (max-width: 480px) {

    .senemin-page .content h1 {
        font-size: 36px;
    }

    .senemin-page .circle {
        width: 60px;
        height: 60px;
        font-size: 14px;
    }

    .senemin-page .value-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .senemin-page .value-item p {
        font-size: 14px;
    }

    .senemin-page .model-top h2 {
        font-size: 24px;
        text-align: center;
    }

    .senemin-page .model-card h3 {
        font-size: 18px;
    }

    .senemin-page .model-card p,
    .senemin-page .model-card ul {
        font-size: 14px;
    }
}
