:root {
    /*-- Reviews rating --*/
	--star_width: 22px;
	--star_bg: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" %3E%3Cpath style="fill:%23C4D0B7" d="M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z"/%3E%3C/svg%3E');
	--star_bg_fill: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" %3E%3Cpath style="fill:%233f6c45" d="M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z"/%3E%3C/svg%3E');
}
/* Grid  */
.d-flex-column {
  display: flex;
  flex-direction: column;
}
.d-flex-between {
    display: flex; 
    justify-content: space-between;
    gap: 10px;
}
.gap-20 {gap: 20px;}
.gap-30 {gap: 30px;}
.flex-wrap { flex-wrap: wrap; }
.flex-no-wrap { flex-wrap: nowrap; }
.align-items-center {align-items: center;}
.flex-to-bottom { margin-top: auto;}
.column-1-4 { flex: 0 0 25%; }
.column-1-3 { flex: 0 0 33.33%; }
.column-1-2 { flex: 0 0 50%; }
.column-2-3 { flex: 0 0 67.67%; }
.column-3-4 { flex: 0 0 75%; }

.pc-courses-grid {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 20px;
}

/* common styles */
.unstyled {list-style-type: none;padding: 0; margin: 0;}
.d-inline {display: inline;}

/* Courses */

.pc-course-card {
    background-color: var(--olvia-biege);
    box-shadow: var(--olvia-long-shadow);
    /* box-shadow: 0.063em 0.75em 1.563em rgba(132, 212, 171, 0.4); */
    border: 2px solid var( --main-accent-color);
    border-radius: 10px;
    overflow: hidden;
    padding: 15px;
    animation: fadeIn .3s ease forwards; 
    opacity: 1;
    position: relative;
}

@keyframes fadeIn {
  from {
    opacity: 0; /* Начальная точка: полная прозрачность */
  }
  to {
    opacity: 1; /* Конечная точка: полная видимость */
  }
}
.pc-course-card.is-hidden {
 opacity: 0;
 pointer-events: none;
 transition: opacity 0.35s ease,
    transform 0.35s ease;
}
.pc-course-card.is-removed {
 display: none;
}
.pc-course-card a{
    text-decoration: none;
    color: currentColor;
}
.pc-course-card__categories {
    margin-bottom: 15px;
}
.pc-course-card__categories button {
 margin-bottom: 15px;
}
.pc-course-card__badge {
    display: inline-block;
    border: 1px solid var(--main-accent-color);
    background-color: var(--olvia-biege);
    border-radius: 10px;
    padding: 4px 6px;  
    font-size: 0.7em;
    font-weight: bold;
    text-align: center;
}
.badge-months-mobile {display: none;}
.pc-course-card__buttons {  flex-grow: 1;margin-top: auto; }
.course-card__main {flex-grow: 1;}
.pc-course-card__icon {flex: 0 0 120px; margin-left: 10px; position: relative; z-index: 3;}
.pc-course-card__icon img {border-radius: 50%;box-shadow: var(--grey-box-shadow);}
.pc-course-card__content {transition: all .3s ease-out;}
.pc-course-card__deco {
    width: 280px;
    height: calc(150% + 50px);
    transform: translate(21px, 3%) rotate(28deg);
    background-color: var(--step-accent-color);
    position: absolute;
    z-index: -1;
    right: -100px;
    transition: all ease-in-out .35s;
}
 [class*="color-begin"].pc-course-card__deco{
    background-color: var(--step-accent-color);
 }
 [class*="color-universal"].pc-course-card__deco{
    background-color: var(--light-accent-color);
 }
 [class*="color-psycho"].pc-course-card__deco{
    background-color: var(--deep-accent-color);
 }
.pc-course-card:hover .pc-course-card__deco{
  width: calc(100% + 100px);
    border-radius: unset;
    height: calc(100% + 50px);
    transform: translate(-10px, -20px);
}
.pc-course-card:has([class*="color-psycho"].pc-course-card__deco):hover .pc-course-card__content,
.pc-course-card:has([class*="color-begin"].pc-course-card__deco):hover .pc-course-card__content,
.pc-course-card:has([class*="color-begin"].pc-course-card__deco):hover h4,
.pc-course-card:has([class*="color-psycho"].pc-course-card__deco):hover h4{
    color: var(--main-bg-color);
}
.pc-course-filter {
    margin: 0 10px 10px 0;
    background-color: var(--light-accent-color);
    color: var(--main-header-color);
    border: 2px solid var(--main-header-color);
    font-weight: bold;
}
.pc-course-filter.is-active, .pc-course-filter:hover {
    background-color: var(--main-accent-color);
    color: var(--main-bg-color);
}
button.pc-course-cards__toggle,
button.pc-course-cards__toggle:focus, button.pc-course-cards__toggle:active {
    background-color: transparent;
    color: var(--main-text-color);
    font-weight: bold;
    display: flex;
    margin: 20px auto;
    padding: 10px 30px;
    align-items: center;
    gap: 10px;
    text-transform: uppercase;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%545454' stroke='%545454' d='M0.256 8.606c0-0.269 0.106-0.544 0.313-0.75 0.412-0.412 1.087-0.412 1.5 0l14.119 14.119 13.913-13.912c0.413-0.412 1.087-0.412 1.5 0s0.413 1.088 0 1.5l-14.663 14.669c-0.413 0.413-1.088 0.413-1.5 0l-14.869-14.869c-0.213-0.213-0.313-0.481-0.313-0.756z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right;
    background-size: 20px;
    transition: 0.3s linear all
}
button.pc-course-cards__toggle:hover {
    background-color: transparent;
    color: var(--main-accent-color);
}
button.pc-course-cards__toggle.is-open  {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23466f4b' stroke='%23466f4b' d='M0.256 23.481c0 0.269 0.106 0.544 0.313 0.75 0.412 0.413 1.087 0.413 1.5 0l14.119-14.119 13.913 13.912c0.413 0.413 1.087 0.413 1.5 0s0.413-1.087 0-1.5l-14.663-14.669c-0.413-0.412-1.088-0.412-1.5 0l-14.869 14.869c-0.213 0.212-0.313 0.481-0.313 0.756z'/%3E%3C/svg%3E")
}
/* Teacher Card, Item */
.pc-teacher-shortlistcourse-item:not(:last-of-type)::after {content: ","; margin-left: -3px;}
.pc-teacher-card, .pc-teacher-item  {
    background-color: #ffffff2b;
    box-shadow: var(--olvia-long-shadow);
    border-radius: 10px;
    border: 1px solid var(--main-accent-color);
    overflow: hidden;
    height: 100%;
}
.pc-teacher-item {
    margin-bottom: 30px;
    padding: 20px;
    border: 1px solid var( --small-line);
    border-radius: 20px;
}
.pc-teacher-item ul, .pc-teacher-item ol {
    padding: 0;
    margin: 10px;
}
.pc-teacher-card-content {
    padding: 15px;
}
.pc-teacher-card-content h3{
    font-size: 1.1em;
    margin-bottom: 10px;
}
.pc-teacher-shortlistcourse-item a {
    color: inherit;
    text-decoration: none;
}
/* Sliders */
.pc-teacher-list__mobile {
    display: none;
}
.pc-teacher-slider .swiper-wrapper, 
.pc-teacher-list__mobile .swiper-wrapper {
 align-items: stretch;
}

.pc-teacher-list__mobile .swiper-slide,
.pc-teacher-slider .swiper-slide {
 height: auto;
 display: flex;
 margin-bottom: 20px;
}

.pc-teacher-slider {
 width: 100%;
 max-width: 100%;
 min-width: 0;
}
.pc-teacher-list__mobile {
    padding: 20px 10px 50px;
    margin-bottom: 40px;
}
.pc-teacher-slider .swiper {
 width: 1300px;
 max-width: 100%;
 min-width: 0;
 padding: 20px 10px 50px;
 margin-bottom: 40px;
}

.pc-teacher-slider .swiper-slide {
 min-width: 0;
 box-sizing: border-box;
}
.pc-teacher-card-image {
    overflow: hidden;
}
.pc-teacher-card-image img{
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.pc-teacher-horizontal-card {height: 100%;}
.pc-teacher-horizontal-card-image img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pc-teacher__more {
    display: block;  margin: 1rem 0;
    text-decoration: none; font-weight: bold;
}
.pc-teacher__more::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background: none;
    border-width: 0 2px 2px 0;
    border-style: solid;
    border-color: currentColor;
    transform-origin: bottom left;
    margin: 0 4px 0 0;
    transform: rotate(315deg);
    transition: .3s;
}
.pc-teacher__more:hover { color: var(--main-text-color); }
.pc-teacher__more:hover::before { transform: translate(4px) rotate(315deg);}
.swiper-pagination-bullet-active {
    background: var(--main-accent-color);
}
.pc-teacher-slider-prev, .pc-teacher-slider-next {
    width: 41px;
    height: 41px;
    border-radius: 50%;
    background-color: var(--rgba-white-color);
    border: .5px solid var(--rgba-accent-color);
    color: var(--rgba-accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 30%;
    left: 2px;
    z-index: 20;
    /* cursor: pointer; */
    transition: all .3s ease-in-out;
}
.pc-teacher-slider-next { left: auto; right: 2px;}
/* Rating */
.pc-rating__group {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: calc(var(--star_width) * 5);
    height: var(--star_width);
    background: var(--star_bg) repeat-x/var(--star_width) auto transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.rating__star {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: absolute;
	top: 0;
	left: 0;
	height: var(--star_width);
	margin: 0;
	font-size: inherit;
	background-size: var(--star_width) auto;
	background-repeat: repeat-x;
	background-color: transparent;
	cursor: pointer;
	opacity: 1;
	border: none !important;
	border-radius: 0;
	transition: 0.2s;
}

.pc-rating__group:focus,.rating__star:focus {outline: none !important; 	box-shadow: none; }

.star,.star-gray,.rating__star:checked,.rating__star:hover {
	display: inline-block;
	background-image: var(--star_bg_fill);
	width: var(--star_width);
	height: var(--star_width);
	background-size: var(--star_width);
}

.star-gray,.rating__star:hover ~ .rating__star {background-image: var(--star_bg); }

.rating__star:nth-child(1) {
	width: var(--star_width);
	z-index: 5;
}

.rating__star:nth-child(2) {
	width: calc(var(--star_width)* 2);
	z-index: 4;
}

.rating__star:nth-child(3) {
	width: calc(var(--star_width)* 3);
	z-index: 3;
}

.rating__star:nth-child(4) {
	width: calc(var(--star_width)* 4);
	z-index: 2;
}
.rating__star:nth-child(5) {
	width: calc(var(--star_width)* 5);
	z-index: 1;
}
#pc-review-content {height: 167px;}
/* Review modal */
.pc-review-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, 0.45);
}

.pc-review-modal[hidden] {  display: none; }

.pc-review-modal__content {
    position: relative;
    width: min(500px, 100%);
    padding: 30px 35px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    text-align: center;
}

.pc-review-modal__content p {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
}
.pc-review-card {
    max-width: 620px;
    width: 100%;
    border-radius: 17px;
    border: 1px solid var(--light-accent-color);
    box-shadow: var(--olvia-long-shadow);
    margin: 20px auto;
    padding: 20px;
    background: url(../img/olive-bottom-2.webp) no-repeat -20px 107%;
}
.pc-review-initials {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    margin-right: 12px;
    border-radius: 50%;
    background: var(--main-accent-color);
    color: var(--main-bg-color);
}
.pc-review-card-content {
    margin-top: 20px;
}
.pc-review-card__quotes {
    font-size: 42pt;
    color: #C4D0B7;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    user-select: none;
    flex: 0 0 50px;
    width: 50px;
}
/* Media */
@media (max-width: 780px) {
    .pc-teacher-list__desktop {  display: none; }
    .pc-teacher-list__mobile {  display: block;  }
}

@media (max-width: 576px) {
  .d-flex-between { flex-direction: column;  }
  .pc-courses-grid { grid-template-columns: 1fr; }
  .pc-course-card__categories {display: none;}
  .badge-months-mobile {display: inline-block; float: right; color: var(--main-text-color); font-weight: normal;}
  .pc-course-card:has([class*="color-psycho"].pc-course-card__deco):hover h4 .badge-months-mobile {
    color: var(--main-text-color);
}
}