:root{--container:1440px;--gap:clamp(2px,2vw,24px);--pad:clamp(2px,2vw,24px);--radius:16px;}
.text-sm{font-weight:300;font-size:13px;color:#FFFFFF; background:#2a6ca5;padding:25px;}

.header-logo{width:355px;height:auto;margin-top:clamp(20dvh,6.9dvw,5dvh);margin-bottom:5dvh;}
.main-header{position:relative;width:100%;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.header-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1;pointer-events:none;}
.header-overlay{position:absolute;top:0;left:0;width:100%;background-color:rgba(0,0,0,0.4);z-index:2;pointer-events:none;}
.header-content{position:relative;z-index:3;color:#333;width:100%;max-width:1200px;padding:0 20px; min-height: 100dvh;}
.bg-2{background-color:#F5F5F5;border-radius:16px;padding-bottom:30px;}



.tv-wrapper{
  min-height:120px;
 
  border-radius:18px;
  position:relative;
  overflow:hidden;
}

.tv-load-btn{
  display:none;
  width:100%;
  min-height:56px;
  border:0;
  border-radius:16px;
  background:#fca32d;
  color:#111;
  font-weight:700;
  font-size:16px;
  cursor:pointer;
}

html.is-mobile-tourvisor .tv-load-btn{
  display:block;
}

.tv-loader{
  display:none;
  padding:20px;
  text-align:center;
}

.tv-progress-bar{
  height:6px;
  width:100%;
  max-width:240px;
  margin:0 auto 10px;
  border-radius:99px;

}

.tv-search-form,
.tv-free-button,
.tv-minisearch-form{
  opacity:0;
  transition:opacity .25s ease;
}

@media (min-width:769px){
  .tv-load-btn{
    display:none;
  }
}
@keyframes tv-loading{0%{transform:translateX(-100%);}100%{transform:translateX(300%);}}

.site-footer{margin-top:80px;background:#2F6FA7;color:#f4f6fb;border-top:1px solid rgba(255,255,255,.08);}

.site-footer a{
  color:#fff;
  text-decoration:none;
}

.site-footer a:hover{
  color:#ffffff;
  text-decoration:underline;
}

.site-footer .footer-phone,
.site-footer a[href^="tel"]{
  color:#ffffff;
  font-weight:700;
  font-size:clamp(22px, 3vw, 32px);
  line-height:1.2;
  text-decoration:none;
}

.site-footer .footer-phone:hover,
.site-footer a[href^="tel"]:hover{
  color:#ffffff;
  text-decoration:none;
}
.footer-inner{max-width:1200px;margin:auto;padding:0 20px;}

.footer-top-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-top-nav a{min-height:52px;display:flex;align-items:center;justify-content:center;padding:12px;color:#e7ebf5;text-decoration:none;font-weight:600;transition:.25s ease;}

.cookie-button {max-width: 200px;background-color: #f90;padding:15px 25px;color:#FFF;font-weight: 600;}


.footer-top-nav a{color:#fff;;font-weight:700;border-bottom: 2px solid #3F7AAD;}


.footer-main{padding:42px 0;display:grid;grid-template-columns:1.5fr 1fr;gap:32px;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-logo{display:inline-block;margin-bottom:14px;font-size:30px;font-weight:800;color:#fff;text-decoration:none;letter-spacing:-.03em;}
.footer-brand p{max-width:520px;margin:0;color:#e1ecf8;line-height:1.6;}
.footer-contacts{margin:0;font-style:normal;justify-content:space-between;align-items:flex-start;gap:22px;}
.footer-contacts-col{display:flex;flex-direction:column;gap:10px;}
.footer-contacts strong{color:#fff;margin-bottom:4px;}
.footer-contacts a,.footer-bottom a{color:#e7ebf5;text-decoration:none;}
.footer-contacts a:hover,.footer-bottom a:hover{color:#fff;}
.footer-contacts span{color:#e1ecf8;}
.footer-social{display:flex;gap:10px;flex-wrap:wrap;}
.footer-social a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;transition:.25s ease;}
.footer-social a:hover{background:rgba(255,255,255,.16);transform:translateY(-2px);}
.footer-social svg{width:20px;height:20px;fill:currentColor;}
.footer-bottom{padding:20px 0 26px;display:flex;justify-content:space-between;gap:16px;color:#d7e6f5;font-size:14px;}
@media(max-width:900px){.footer-top-nav{grid-template-columns:repeat(2,1fr);}.footer-main{grid-template-columns:1fr;}.footer-contacts{justify-content:flex-start;}}
@media(max-width:480px){.footer-inner{padding:0 16px;}.footer-top-nav{gap:8px;padding:22px 0;}.footer-top-nav a{min-height:48px;font-size:14px;border-radius:12px;}.footer-contacts{flex-direction:column;}.footer-social{justify-content:flex-start;}.footer-bottom{flex-direction:column;}}
.grid{display:grid;gap:var(--gap,0);width:100%;grid-template-columns:repeat(var(--cols,12),minmax(0,1fr)); }
.grid>*{min-width:0;grid-column:span var(--span,12);}
@media(max-width:991.98px){.grid{grid-template-columns:repeat(var(--cols-md,12),minmax(0,1fr));}.grid>*{grid-column:span var(--span-md,12);}}
@media(max-width:575.98px){.grid{grid-template-columns:repeat(var(--cols-sm,12),minmax(0,1fr));}.grid>*{grid-column:span var(--span-sm,var(--span-md,12));}}
h1,.h1{font-weight:900;font-size:clamp(24px,3.7dvw,35px);margin-bottom:15px;}
h2,.h2{font-weight:900;font-size:clamp(15px,3.7dvw,21px);margin:15px auto;}
h3,.h3{font-weight:900;font-size:clamp(17px,3.7dvw,25px);margin-bottom:15px;}
h4,.h4   {font-weight:900;font-size:clamp(12px,3.7dvw,14px);margin-bottom:15px;color:#FFFFFF;}

strong,.b{font-weight:700;}
.pr{text-wrap:pretty;text-align:justify;}
.w-100{width:100%;height:auto;}
.live-photo{cursor:pointer;transition:opacity 0.3s ease;border-radius:16px;max-width:100%;height:auto;width:100%;display:block;}
figcaption{padding:16px;display:block;unicode-bidi:isolate;}
.bg-1{text-align:center;background-color:#F5F5F5;border-radius:16px;margin-bottom: 20px;;}
.img{display:block;margin:10px auto;}
.center{text-align:center;}
.container{max-width:1440px;margin:50px auto;padding:0 5px;}
.indextext{margin:50px 50px;display:block;color:#333;font-weight:500;}
img.live-photo{width:100%;height:auto;display:block;}
.card{padding:20px;}
.tv-progress-bar p{font-size:12px;margin-top:10px;}
.tv-moduleid-9982232{opacity:0;transition:opacity 0.5s ease-in-out;}
.bluecxol{background-color: #1279C9;border-radius:16px;padding:40px 10px;}
.txt1{color:#FFF;margin-top:20px;font-smoothing: antialiased;}
.txt{color:#FFF;margin-top:-20px; font-smoothing: antialiased;}
.custom-numbered-grid{list-style-type:none;padding-left:0;counter-reset:card-num;list-style-position:inside;}
.custom-numbered-grid .card{counter-increment:card-num;display:flex;align-items:center;gap:12px;}
.custom-numbered-grid .card::before{content:counter(card-num);display:flex;justify-content:center;align-items:center;width:54px;height:54px;background-color:#1883D2;border-radius:50%;flex-shrink:0;font-size:28px;font-weight:bold;color:#fff;}
.icon-text-card{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:16px;padding:16px;color:#FFF;box-sizing:border-box; font-smoothing: antialiased;}
.icon-text-card::before{content:"";display:block;width:132px;height:132px;background-size:contain;background-repeat:no-repeat;background-position:center;flex-shrink:0;}
.my-icon-1::before{background-image:url('../img/best1.svg');background-color:transparent;}
.my-icon-2::before{background-image:url('../img/best2.svg');background-color:transparent;}
.x-slider{--gap:16px;--cols:1;--progress:0%;position:relative;width:100%;}
.x-slider__view{overflow:hidden;}
.x-slider__track{display:flex;gap:var(--gap);transition:transform .35s ease;will-change:transform;}
.x-slider__item{flex:0 0 calc((100% - (var(--gap) * (var(--cols) - 1))) / var(--cols));box-sizing:border-box;}
.x-slider__item{min-height:120px;border-radius:14px;padding:20px;}
.x-slider__btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:15px;height:60px;border:0;border:1px solid #D0D0D0;border-radius:6px;cursor:pointer;background:#E8E8E8;color:#5A5A5A;opacity:.9;}
.x-slider__btn.prev{left:0px;}
.x-slider__btn.next{right:0px;}
.x-slider__progress{margin-top:14px;height:4px;background:#e5e5e5;border-radius:99px;overflow:hidden;}
.x-slider__progress span{display:block;width:var(--progress);height:100%;background:#F79A22;border-radius:99px;transition:width .35s ease;}
@media(max-width:767px){.x-slider{--cols:1;}}
@media(min-width:768px) and (max-width:1023px){.x-slider{--cols:2;}}
@media(min-width:1024px){.x-slider{--cols:4;}}
.x-slider__view{overflow:hidden;cursor:grab;user-select:none;}
.x-slider.is-drag .x-slider__view{cursor:grabbing;}
details{padding:5px 0;}
summary{cursor:pointer;background:#E8EDF1;padding:20px 20px;font-size:19px;list-style:none;}
details>div{padding:20px;background:#F7F7F7;}
details:last-of-type{border-bottom:none;}
.card[class*="icon-"]{background-repeat:no-repeat;background-position:center;background-size:contain;padding:20px;min-height:120px;}
.card[class*="icon-"]{background-size:70px 70px;}
.icon-1{background-image:url('../img/ok.webp');}
.icon-2{background-image:url('../img/vk.webp');}
.icon-3{background-image:url('../img/tg.webp');}
.icon-4{background-image:url('../img/maxlogo.webp');}
.phone {width: 40px;margin-top: 10px; }

/* --- БАЗА --- */
* { box-sizing: border-box; margin: 0; padding: 0; }

.a { text-decoration: none; color: #FFFFFF; }
 
a {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}



/* Обычные списки работают стандартно */
ul {
  list-style: disc;
  padding-left: 20px;
}

/* Меню без маркеров */
header ul,
nav ul,
.menu,
.menu ul {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

header ul li,
nav ul li,
.menu li {
  padding-left: 0;
  position: static;
}

header ul li::before,
nav ul li::before,
.menu li::before {
  content: none;
}

/* Кастомный список с кружочками — только по классу */
.custom-list {
  list-style: none;
  padding-left: 0;
}

.custom-list li {
  position: relative;
  padding-left: 17px;
}

.custom-list li::before {
  content: "●";
  position: absolute;
  left: 0;
}


 .mli { list-style: none; }

 
.story-section {
  content-visibility: auto;
  contain-intrinsic-size: auto 1440px; 
}



 

/* --- ШАПКА --- */
.hdr {
    position: fixed; top: 0; left: 0; width: 100%; height: 60px;
    background:rgba(2, 122, 208, 0.85); box-shadow: 0 1px 5px rgba(0,0,0,0.1);color:#d7e6f5;
    display: flex; justify-content: space-between; align-items: center;
    padding: 0 5%; z-index: 100;
}
.logo { font-size: 22px; font-weight: bold; color: #0056b3; }
.tel { font-weight: bold; }
.tel:hover, .n-list a:hover { color: #d7e6f5; }

/* Служебные кнопки (скрыты на ПК) */
.m-btn, .m-tel, .m-close { display: none; }

/* --- ДЕСКТОПНОЕ МЕНЮ --- */
@media (min-width: 1100px) {
    .n-list { display: flex; gap: 25px; }
    .n-list a { cursor: pointer; font-weight: 500; display: block; padding: 20px 0; }
    
    /* Подменю */
    .parent { position: relative; }
    .sub {
        position: absolute; top: 100%; left: 0; background: rgba(2, 122, 208, 1);;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1); min-width: 200px;
        opacity: 0; visibility: hidden; transition: 0.2s;
    }
    .sub a { padding: 10px 20px; }
    .sub a:hover { background: rgba(45, 151, 226, 0.85);; }
    
    /* Открытие подменю */
    .parent:hover .sub, .parent:focus-within .sub { opacity: 1; visibility: visible; }
}

/* --- МОБИЛЬНОЕ МЕНЮ (до 992px) --- */
@media (max-width: 1100px) {
    .hdr { padding: 0 15px; }
    .logo { position: absolute; left: 50%; transform: translateX(-50%); }
    .m-btn, .m-tel { display: block; font-size: 24px; color: #FFF; }



    .tel { display: none; }

    /* Выезжающая панель */
    .nav {
        position: fixed; top: 0; left: -100%; width: 260px; height: 100vh;
        background: #ececec; color:#333;box-shadow: 2px 0 10px rgba(0,0,0,0.2);
        transition: left 0.3s ease; overflow-y: auto; z-index: 101;
    }
    .nav.is-open { left: 0; }

    .nav:target { left: 0; } /* Активация по клику на гамбургер */

    .m-close { display: block; text-align: right; padding: 15px 20px; font-size: 30px; color: #999; }
    .n-list a { color:#474747; display: block; padding: 15px 20px; border-bottom: 1px solid #eee; font-weight: 500; cursor: pointer; }
    .n-list a:hover { color:#333; }
    /* Мобильное подменю */
    .sub { display: none; background: #f9f9f9; }
    .sub a { padding-left: 40px; border-top: 1px solid #eee; border-bottom: none; font-size: 14px; }
    
    /* Открытие подменю по тапу */
    .parent:focus-within .sub { display: block; }
}





@media (max-width: 767px) {
  .icon-text-card {
    grid-template-columns: 1fr; /* Одна колонка вместо двух */
    text-align: center;         /* Центрируем текст (уберите, если нужно по левому краю) */
  }
  .icon-text-card::before {
    margin: 0 auto;             /* Центрируем псевдо-элемент с иконкой */
  }
}


