/* ==========================================================================
   MyipTV — стили сайта (вместо Elementor Pro)

   1. Формы Contact Form 7
   2. Попапы
   3. Тарифы (бывший виджет Pro «Price Table»)
   4. Карточки каналов (бывший виджет Pro «Call to Action»)
   5. Отзывы (бывший виджет Pro «Testimonial Carousel»)
   6. Кастомный CSS элементов, перенесённый из поля Pro «Custom CSS»
      (ниже, по страницам; «selector» заменён на класс элемента)

   Правите CSS элемента — ищите его ID (#d385b67 и т. п.) в этом файле.
   ========================================================================== */


/* 1. Формы Contact Form 7 ------------------------------------------------- */

.mp-cf { position: relative; margin: 0; }
.mp-cf .wpcf7-form-control-wrap { display: block; margin-bottom: 10px; }
.mp-cf input[type="text"],
.mp-cf input[type="tel"],
.mp-cf select {
	display: block;
	width: 100%;
	margin: 0;
	font: inherit;
	line-height: 1.4;
	background: #fff;
}
.mp-cf input[type="submit"] {
	display: block;
	width: 100%;
	margin: 0;
	border: 0;
	font-family: inherit;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .3s, color .3s;
}
/* Spinner overlays the button instead of adding height under it. */
.mp-cf .wpcf7-spinner { position: absolute; right: 12px; bottom: 22px; margin: 0; }
.mp-cf.init .wpcf7-response-output { display: none; }
.mp-cf .wpcf7-not-valid-tip { font-size: 13px; margin-top: 4px; }
.mp-cf .wpcf7-response-output { margin: 10px 0 0 !important; padding: 8px 12px !important; font-size: 14px; border-radius: 8px; }

/* Главная, первый экран — «Забронировать цену» (бывший #77280ec) */
.mp-cf--hero input[type="tel"] {
	padding: 15px 10%;
	color: #000;
	font-size: 1.7vw;
	text-align: left;
	border: 2px solid #E05834;
	border-radius: 10px;
	box-shadow: 0 0 10px darkgrey, inset 0 0 10px darkgrey;
}
.mp-cf--hero input[type="submit"] {
	padding: 12px 24px;
	color: #fff;
	background: #E05834;
	font-size: 1.1vw;
	letter-spacing: 1px;
	border-radius: 15px;
}
.mp-cf--hero input[type="submit"]:hover { color: #000; background: #ECF301; }

/* Главная, низ страницы — «Перезвоните мне» (бывший #526d4051) */
.mp-cf--bottom input[type="text"],
.mp-cf--bottom input[type="tel"],
.mp-cf--bottom select {
	padding: 10px 12px;
	color: #00002b;
	font-size: 15px;
	text-align: left;
	border: 1px solid #efe417;
	border-radius: 20px;
}
.mp-cf--bottom input[type="submit"] {
	padding: 10px;
	color: #00002b;
	background: #efe417;
	font-size: 15px;
	border-radius: 20px;
}
.mp-cf--bottom input[type="submit"]:hover { background: #e27500; }

/* Попапы: «Презентация», «MyipTV Lite», «Заказать звонок», «Аренда» */
.mp-cf--popup input[type="text"],
.mp-cf--popup input[type="tel"],
.mp-cf--popup select {
	padding: 10px 14px;
	color: #0c0c0c;
	font-family: Montserrat, sans-serif;
	font-size: 1.4em;
	text-align: center;
	border: 0;
	border-radius: 6px;
}
.mp-cf--popup select { font-size: 1.1em; }
.mp-cf--popup input[type="submit"] {
	padding: 12px 24px;
	color: #fff;
	background: var(--e-global-color-accent, #E05834);
	font-size: 17px;
	font-weight: 900;
	border-radius: 25px;
}
.mp-cf--popup input[type="submit"]:hover { background: #e27500; }
.mp-cf--rent input[type="text"],
.mp-cf--rent input[type="tel"] { text-align: left; }
.mp-cf--rent input[type="submit"] { color: #00002b; background: #efe417; }

@media (max-width: 1024px) {
	.mp-cf--hero input[type="tel"] { font-size: 2.5vw; }
	.mp-cf--hero input[type="submit"] { font-size: 2vw; }
}
@media (max-width: 767px) {
	.mp-cf--hero input[type="tel"] { font-size: 4vw; box-shadow: 0 0 5px darkgrey, inset 0 0 5px darkgrey; }
	.mp-cf--hero input[type="submit"] { font-size: 3.5vw; }
	.mp-cf--popup input[type="submit"] { font-size: 5vw; }
	.mp-cf--rent input[type="submit"] { font-size: 4vw; }
}


/* 2. Попапы ---------------------------------------------------------------- */

.mp-popup {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	animation: mp-fade .3s ease;
}
.mp-popup[hidden] { display: none; }
.mp-popup__overlay { position: absolute; inset: 0; background: rgba(12, 12, 12, .85); }
.mp-popup__box {
	position: relative;
	width: var(--mp-pop-w, 750px);
	max-width: 100%;
	min-height: var(--mp-pop-h, auto);
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: #fff var(--mp-pop-bg) center / cover no-repeat;
}
.mp-popup__box > .elementor { width: 100%; }
.mp-popup__close {
	position: absolute;
	top: 6px;
	right: 10px;
	z-index: 2;
	padding: 0 6px;
	color: #fff;
	background: none;
	border: 0;
	font-size: 34px;
	line-height: 1;
	cursor: pointer;
}
.mp-popup__close:hover,
.mp-popup__close:focus { color: #fff; background: none; opacity: .75; }
html.mp-popup-open { overflow: hidden; }
@keyframes mp-fade { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 767px) {
	.mp-popup__box { background-image: var(--mp-pop-bg-m); background-position: center left; }
	#popup-1820 .mp-popup__box,
	#popup-1850 .mp-popup__box { min-height: 570px; background-position: bottom right; }
}
@media (prefers-reduced-motion: reduce) { .mp-popup { animation: none; } }


/* Пересобранные блоки — тем же шрифтом, что и виджеты Pro (глобальный Rubik). */
.mp-price,
.mp-cta,
.mp-reviews { font-family: Rubik, sans-serif; }


/* 3. Тарифы ---------------------------------------------------------------- */

.mp-price {
	position: relative;
	overflow: hidden;
	text-align: center;
	background: #fff;
}
.mp-price__head {
	padding: 25px;
	color: var(--mp-head-color);
	background: var(--mp-head-bg);
	font-family: Poppins, sans-serif;
	font-size: var(--mp-head-size);
	font-weight: 600;
	line-height: 1.3;
}
.mp-price__list {
	margin: 0;
	padding: 30px 30px 0;
	list-style: none;
	color: #09183d;
	font-size: var(--mp-list-size);
	line-height: 1.6;
}
.mp-price--featured .mp-price__list { padding-top: 40px; }
.mp-price__list li { position: relative; padding: 14px 0; }
.mp-price__list li + li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 65%;
	border-top: 2px solid #e8e8e8;
	transform: translateX(-50%);
}
.mp-price__foot { padding: 30px 0 50px; }
.mp-price--featured .mp-price__foot { padding: 50px 0 60px; }
.mp-price__btn {
	display: inline-block;
	padding: 13px 30px;
	color: #00002b;
	background: #efe417;
	border: 3px solid #efe417;
	border-radius: 50px;
	font-size: var(--mp-btn-size);
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	transition: transform .3s, background-color .3s, color .3s, border-color .3s;
}
.mp-price__btn:hover,
.mp-price__btn:focus { color: #fff; background: #e27500; border-color: #e27500; transform: scale(1.1); }
.mp-price__ribbon {
	position: absolute;
	top: 0;
	right: 0;
	width: 150px;
	height: 150px;
	overflow: hidden;
	pointer-events: none;
}
.mp-price__ribbon span {
	position: absolute;
	top: 31px;
	right: -46px;
	width: 190px;
	padding: 5px 0;
	color: #0c0c0c;
	background: #f2da00;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	transform: rotate(45deg);
}
@media (max-width: 1024px) {
	.mp-price__list { padding: 30px 5px 0; }
	.mp-price__foot,
	.mp-price--featured .mp-price__foot { padding: 20px 20px 30px; }
	.mp-price__btn { font-size: 16px; }
}
@media (max-width: 767px) {
	.mp-price__btn { letter-spacing: 1px; }
}


/* 4. Карточки каналов ----------------------------------------------------- */

.mp-cta {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 280px;
	padding: 10%;
	overflow: hidden;
	color: #fff;
	text-align: center;
	background-position: center;
	background-size: cover;
	transition: background-size .5s;
}
.mp-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--mp-ov);
	transition: background-color .5s;
}
.mp-cta:hover::before,
.mp-cta:focus::before { background: var(--mp-ov-h); }
.mp-cta:hover,
.mp-cta:focus { color: #fff; }
.mp-cta__body { position: relative; display: flex; flex-direction: column; gap: 16px; }
.mp-cta__title { font-size: 22px; font-weight: 700; line-height: 1.2; text-transform: uppercase; }
.mp-cta__desc { font-size: 14px; font-weight: 500; line-height: 1.9; }
@media (max-width: 1024px) { .mp-cta { padding: 10px; } }
@media (max-width: 767px) { .mp-cta { min-height: 220px; padding: 20%; } }


/* 5. Отзывы --------------------------------------------------------------- */

.mp-reviews {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 40px) / 3);
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 10px;
}
.mp-review {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin: 0;
	padding: 3%;
	background: #fff;
	scroll-snap-align: start;
}
.mp-review blockquote { margin: 0 0 16px; padding: 0; border: 0; font-size: 15px; font-style: normal; line-height: 1.6; }
.mp-review figcaption { display: flex; align-items: center; gap: 12px; }
.mp-review img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; }
.mp-review figcaption b { display: block; font-size: 18px; }
@media (max-width: 1024px) { .mp-reviews { grid-auto-columns: calc((100% - 20px) / 2); } }
@media (max-width: 767px) { .mp-reviews { grid-auto-columns: 88%; } }


/* 6. Кастомный CSS элементов (перенесён из Elementor Pro) ------------------ */

/* ==========================================================
   Главная «Акция myiptv lite» (ID 2347)
   ========================================================== */

/* #d385b67 (heading) */
.elementor-2347 .elementor-element.elementor-element-d385b67 cut {
    text-decoration: line-through;
    text-decoration-color: white;
    font-size: 0.85em;
}

.elementor-2347 .elementor-element.elementor-element-d385b67 .small {
    display: block;
    font-size: 0.5em;
}
@media screen and (min-width:768px) {
    .elementor-2347 .elementor-element.elementor-element-d385b67 .only-mob {
        display: none;
    }
}

/* #a2afdca (column) */
.elementor-2347 .elementor-element.elementor-element-a2afdca .elementor-widget:not(:last-child) {
    margin-bottom: 0 !important;
}

/* #1d07f22 (section) */
.elementor-2347 .elementor-element.elementor-element-1d07f22 {
    position: absolute;
    bottom:0;
}

/* #f64cdee (html) */
.elementor-2347 .elementor-element.elementor-element-f64cdee {
    position: absolute;
    top:0;
    left:0;
}

/* #50a93d2 (html) */
.elementor-2347 .elementor-element.elementor-element-50a93d2 {
    position: absolute;
    bottom:0;
    left:0;
}

/* #3748ce2 (column) */
@media screen and (max-width:1024px) {
    .elementor-2347 .elementor-element.elementor-element-3748ce2 .pd-r-l {
        padding: 0 25px;
    }
}

@media screen and (max-width:767px) {
    .elementor-2347 .elementor-element.elementor-element-3748ce2 > div {
        background-image: none !important;
    }
    .elementor-2347 .elementor-element.elementor-element-3748ce2 .pd-r-l {
        padding: 0 10px;
    }
}

/* #e4c84f9 (heading) */
.elementor-2347 .elementor-element.elementor-element-e4c84f9 {
    background: var( --e-global-color-f90a68c );
    margin-bottom: 40px;
}

/* #46866f2 (image) */
.elementor-2347 .elementor-element.elementor-element-46866f2 {
    margin-right: 10px;
}

/* #49edce6 (image) */
.elementor-2347 .elementor-element.elementor-element-49edce6 {
    margin-right: 10px;
}

/* #05515e6 (heading) */
@media screen and (max-width:767px) {
    .elementor-2347 .elementor-element.elementor-element-05515e6 br {
        display: none;
    }
}

/* #b216b09 (button) */
@media screen and (max-width:767px) {
    .elementor-2347 .elementor-element.elementor-element-b216b09 a:hover {
        transform: scale(1);
    }
}

/* #f57d838 (column) */
@media screen and (max-width:1024px) {
    .elementor-2347 .elementor-element.elementor-element-f57d838 .pd-r-l {
        padding: 0 25px;
    }
}

@media screen and (max-width:767px) {
    .elementor-2347 .elementor-element.elementor-element-f57d838 > div {
        background-image: none !important;
    }
    .elementor-2347 .elementor-element.elementor-element-f57d838 .pd-r-l {
        padding: 0 10px;
    }
}

/* #b76c049 (heading) */
.elementor-2347 .elementor-element.elementor-element-b76c049 {
    background: var( --e-global-color-f90a68c );
    margin-bottom: 40px;
}

/* #429f3e1 (image) */
.elementor-2347 .elementor-element.elementor-element-429f3e1 {
    margin-right: 10px;
}

/* #d76c556 (image) */
.elementor-2347 .elementor-element.elementor-element-d76c556 {
    margin-right: 10px;
}

/* #1a1ef04 (heading) */
@media screen and (max-width:767px) {
    .elementor-2347 .elementor-element.elementor-element-1a1ef04 br {
        display: none;
    }
}

/* #57104c5 (button) */
@media screen and (max-width:767px) {
    .elementor-2347 .elementor-element.elementor-element-57104c5 a:hover {
        transform: scale(1);
    }
}

/* #ab3bb88 (heading) */
.elementor-2347 .elementor-element.elementor-element-ab3bb88 cut {
    text-decoration: line-through;
}

/* #f9e9db7 (heading) */
.elementor-2347 .elementor-element.elementor-element-f9e9db7 cut {
    text-decoration: line-through;
}

/* #54d1b694 (section) */
/* NB: правило ссылается на страницу 2149, поэтому и в Pro на этой странице не применялось. Оставлено как было. */
.elementor-2149 .elementor-element.elementor-element-54d1b694 > .elementor-background-overlay {
    mix-blend-mode: multiply;
}

/* #3094c226 (section) */
.elementor-2347 .elementor-element.elementor-element-3094c226 a img {
    border-radius: 50%;
}

/* ==========================================================
   Thank You (ID 544)
   ========================================================== */

/* #4ee5334 (section) */
.elementor-544 .elementor-element.elementor-element-4ee5334  {
    background-image: linear-gradient(258.38deg, rgba(255, 217, 158, 0.1) 6.53%, rgba(255, 230, 190, 0.18) 91.12%);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* #b2c2d29 (section) */
.elementor-544 .elementor-element.elementor-element-b2c2d29 {
    background-image: url('/wp-content/uploads/2022/08/Background-2022-min.png') , linear-gradient(258.38deg, rgba(255, 217, 158, 0.1) 6.53%, rgba(255, 230, 190, 0.18) 91.12%);
    background-size: 60% , cover;
    background-position: right bottom ,  center center;
    background-repeat: no-repeat;
    border-radius: 25px;
    border: 1px solid #C52E2E;
    filter: drop-shadow(0 0 10px #FBB03B20);
}

@media screen and (max-width:1024px) {
    .elementor-544 .elementor-element.elementor-element-b2c2d29 {
        background-position: bottom center ,  center center;
        background-size: 60% , cover;
    }
}

@media screen and (max-width:767px) {
    .elementor-544 .elementor-element.elementor-element-b2c2d29 {
        background-size: 100% , cover;
    }
}

/* #4d234d5 (column) */
.elementor-544 .elementor-element.elementor-element-4d234d5 > div.elementor-column-wrap {
    box-shadow: 2px 2px 55px rgba(0, 0, 0, 0.15);
    border-radius: 25px;
    box-shadow: 2px 2px 55px rgba(0, 0, 0, 0.08);
}

/* ==========================================================
   Payment (ID 2486)
   ========================================================== */

/* #3dce4f2 (html) */
.elementor-2486 .elementor-element.elementor-element-3dce4f2 .flex-box {
    display: flex;
    justify-content: center;
    margin-bottom: 1%;
}

.elementor-2486 .elementor-element.elementor-element-3dce4f2 .buttons-wrap {
    display: flex;
    width: 520px; 
    justify-content: center;
}

.elementor-2486 .elementor-element.elementor-element-3dce4f2 .buttons-wrap button {
    width: 100%;
    margin: 0 10px;
    padding: 0.3em 0;
    line-height: 1.2em;
    font-size: 18px;
    font-weight: 600;
    background-color: #EFE417;
    color: black;
    border: none;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
    border-radius: 0.2em;
    transition: 0.3s ease;
}
.elementor-2486 .elementor-element.elementor-element-3dce4f2 .buttons-wrap button:hover , .elementor-2486 .elementor-element.elementor-element-3dce4f2 .buttons-wrap button:active {
    background-color: #E05834;
    color: white;
}


.elementor-2486 .elementor-element.elementor-element-3dce4f2 form {
    border: none !important;
    padding: 0 !important;
}

.elementor-2486 .elementor-element.elementor-element-3dce4f2 .moneyBoxLine {
    padding: 0 10%;
    text-align: center;
}

.elementor-2486 .elementor-element.elementor-element-3dce4f2 input , .elementor-2486 .elementor-element.elementor-element-3dce4f2 select {
    font-size: 20px;
    width: 500px;
    border: 0px solid #EFE417;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
    margin: 10px;
    padding: 1em;
    border-radius: 0.5em;
    outline: none;
}

.elementor-2486 .elementor-element.elementor-element-3dce4f2 input[type="submit"] {
    background: #E05834;
    color: white;
    font-weight: 700;
    transition: 0.3s ease;
}
.elementor-2486 .elementor-element.elementor-element-3dce4f2 input[type="submit"]:hover {
    background: #EFE417;
    color: black;
}

.elementor-2486 .elementor-element.elementor-element-3dce4f2 .cert-text {
    padding-top: 10px;
}

.elementor-2486 .elementor-element.elementor-element-3dce4f2 .cert-text p {
    font-weight: 700;
    margin-bottom: 2em 0;
    line-height: 1.2em;
}

.cursor-def {
    cursor: default;
}

@media screen and (max-width:767px) {
    .elementor-2486 .elementor-element.elementor-element-3dce4f2 .buttons-wrap {
        width: 100%;
        flex-wrap:wrap;
    }
    .elementor-2486 .elementor-element.elementor-element-3dce4f2 .buttons-wrap button {
        padding: 10px 0;
        margin: 5px 0;
    }
    
    
    .elementor-2486 .elementor-element.elementor-element-3dce4f2 form {
        padding: 0 !important;
    }
    .elementor-2486 .elementor-element.elementor-element-3dce4f2 .moneyBoxLine {
        padding: 0;
        text-align: center;
    }
    .elementor-2486 .elementor-element.elementor-element-3dce4f2 input , .elementor-2486 .elementor-element.elementor-element-3dce4f2 select {
        font-size: 15px;
        width: 100%;
        margin: 5px 0;
    }
}

/* ==========================================================
   Хедер (ID 2488)
   ========================================================== */

/* #8e78eeb (section) */
.elementor-2488 .elementor-element.elementor-element-8e78eeb {
    position: absolute;
    width:100%;
}

/* #c145c19 (heading) */
.elementor-2488 .elementor-element.elementor-element-c145c19 {
    margin-bottom: 0 !important;
}

/* #4861a41 (heading) */
.elementor-2488 .elementor-element.elementor-element-4861a41 {
    margin-bottom: 0 !important;
}

/* ==========================================================
   Попап «MyipTV Lite» (ID 2425)
   ========================================================== */

/* #7577ed9c (column) */
@media screen and (min-width:768px) {
    .elementor-2425 .elementor-element.elementor-element-7577ed9c > div {
        background: none !important;
        box-shadow: none !important;
    }
}

/* #300f398f (heading) */
.elementor-2425 .elementor-element.elementor-element-300f398f del {
    font-size: 0.7em;
}
