/* crystal.tax — общие блоки продающих страниц услуг (эталон NSN), 27.09.2026.
   Подключается чанком [[$ctServiceAssets]] в content страницы. */
details.ct-case{border:1px solid #dfe3ea;border-left:4px solid #0095D9;background:#fff;height:100%}
details.ct-case>summary{list-style:none;position:relative;cursor:pointer;padding:14px 34px 14px 16px;font-weight:700;color:#1f2a37}
details.ct-case>summary::-webkit-details-marker{display:none}
details.ct-case>summary::after{content:"+";position:absolute;right:14px;top:12px;color:#0095D9;font-weight:700;font-size:1.2rem}
details.ct-case[open]>summary::after{content:"\2212"}
details.ct-case>p{margin:0;padding:0 16px 14px;font-size:.95rem}
.ct-case-ex{margin:0 16px 12px!important;padding:10px 12px!important;background:#f5f6fa;font-size:.92rem!important;line-height:1.45}
a.ct-case-go{display:inline-block;margin:0 16px 16px;padding:9px 14px;border:2px solid #0095D9;color:#0b5f8a;font-weight:700;font-size:.92rem;line-height:1.3;text-decoration:none!important;transition:background .2s,color .2s}
a.ct-case-go:hover,a.ct-case-go:focus-visible{background:#0095D9;color:#fff}
details.ct-ref{border-top:1px solid #dfe3ea;margin:0}
details.ct-ref:last-of-type{border-bottom:1px solid #dfe3ea}
details.ct-ref+:not(details.ct-ref){margin-top:28px}
details.ct-ref>summary{list-style:none;cursor:pointer;position:relative;padding:16px 40px 16px 0}
details.ct-ref>summary::-webkit-details-marker{display:none}
details.ct-ref>summary>h2{margin:0;font-size:1.35rem;line-height:1.3}
details.ct-ref>summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#0095D9;font-weight:700;font-size:1.6rem}
details.ct-ref[open]>summary::after{content:"\2212"}
details.ct-ref>.ct-ref-body{padding:0 0 18px}
table.ct-cmp{width:100%;border-collapse:collapse;font-size:.95rem}
table.ct-cmp th{text-align:left;padding:10px 12px;border-bottom:2px solid #0095D9}
table.ct-cmp td{padding:10px 12px;border-bottom:1px solid #dfe3ea;vertical-align:top}
@media (max-width:576px){
  table.ct-cmp thead{display:none}
  table.ct-cmp,table.ct-cmp tbody,table.ct-cmp tr,table.ct-cmp td{display:block;width:100%}
  table.ct-cmp tr{border:1px solid #dfe3ea;border-left:3px solid #0095D9;margin:0 0 10px;padding:6px 0;background:#fff}
  table.ct-cmp td{border:0!important;padding:3px 12px!important}
}
.ct-toc{display:none}
@media (min-width:768px){
  .ct-toc{display:block;margin:14px 0 0;padding:14px 18px 12px;background:#f5f6fa;border-top:3px solid #0095D9}
  .ct-toc-title{margin:0 0 6px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5b6573}
  .ct-toc ul{list-style:none;margin:0;padding:0}
  .ct-toc li{margin:0}
  .ct-toc a{display:block;padding:4px 0 4px 12px;border-left:2px solid transparent;color:#1f2a37;font-size:.93rem;line-height:1.35;text-decoration:none}
  .ct-toc a:hover,.ct-toc a:focus-visible{color:#0b5f8a;border-left-color:#62A9D3}
  .ct-toc a[aria-current]{color:#0b5f8a;font-weight:700;border-left-color:#0095D9}
}

/* 3) Флаг страны в шапке (метка .ct-hero-flag в content), 27.09.2026 crystal-tpl-bottom.
   Полотно = 44 полосы одного SVG со сдвигом background-position; волна — transform/opacity, фаза по номеру полосы. */
.ct-flag{position:relative;display:block;width:88px;height:66px;margin:0 0 14px;order:-1;pointer-events:none}
.ct-flag-pole{display:none}
.ct-flag-cloth{position:absolute;left:0;top:0;display:flex;width:100%;height:100%}
.ct-flag-cloth>i{position:relative;display:block;flex:0 0 2.5px;height:100%;margin-right:-.5px;background-repeat:no-repeat;background-size:88px 100%;background-position:calc(var(--i) * -2px) 0;
  --a:calc(.5px + var(--i) * .08px);animation:ct-wave 3.4s ease-in-out infinite;animation-delay:calc(var(--i) * -.065s);will-change:transform}
.ct-flag-cloth>i::before,.ct-flag-cloth>i::after{content:"";position:absolute;inset:0;opacity:0;animation:inherit;animation-name:ct-shade}
.ct-flag-cloth>i::before{background:#fff;animation-name:ct-light}
.ct-flag-cloth>i::after{background:#0a1a2a}
@keyframes ct-wave{0%,100%{transform:translateY(calc(var(--a) * -1))}50%{transform:translateY(var(--a))}}
@keyframes ct-shade{0%,50%,100%{opacity:0}25%{opacity:.22}}
@keyframes ct-light{0%,50%,100%{opacity:0}75%{opacity:.14}}
@media (min-width:992px){
  .ct-has-flag{overflow:hidden}
  .ct-has-flag .breadcrumbs-custom-container{position:relative;padding-right:250px}
  .ct-flag{position:absolute;right:48px;top:50%;width:176px;height:132px;margin:0;transform:translateY(-50%)}
  .ct-flag-pole{display:block;position:absolute;left:-5px;top:-12px;width:4px;height:600px;border-radius:2px;background:linear-gradient(90deg,#7d8a99,#e9eef4 45%,#8e9aa8)}
  .ct-flag-pole::before{content:"";position:absolute;left:-3px;top:-8px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#b9c3cf 60%,#7d8a99)}
  .ct-flag-cloth>i{flex-basis:4.6px;margin-right:-.6px;background-size:176px 100%;background-position:calc(var(--i) * -4px) 0;--a:calc(.8px + var(--i) * .17px)}
}
@media (prefers-reduced-motion:reduce){.ct-flag-cloth>i,.ct-flag-cloth>i::before,.ct-flag-cloth>i::after{animation:none!important}}
/* 27.09 04:30: на продающих страницах мобильная копия кнопок сайдбара над контентом лишняя — в hero уже «Обсудить проект», внизу панель «Заявка» */
@media (max-width:767.98px){.row.modal-form-desktop.d-md-none{display:none!important}}
/* 4) ролик об услуге: кнопка в нижней панели (телефон), «плей» на фото в сайдбаре, полноэкранный плеер */
.ct-bar__item--video{background:transparent;border:0;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ct-bar__face{position:relative;display:block;width:46px;height:46px;margin:0 auto}
.ct-bar__img{position:absolute;left:0;top:0;display:block;width:46px;height:46px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #0095D9}
.ct-bar__img--next{opacity:0;transition:opacity .4s ease}
.ct-bar__play{position:absolute;right:-6px;bottom:-4px;width:20px;height:20px;border-radius:50%;background:#0095D9;box-shadow:0 0 0 2px #fff}
.ct-bar__play::before{content:"";position:absolute;left:7.5px;top:5.5px;border-style:solid;border-width:4.5px 0 4.5px 7.5px;border-color:transparent transparent transparent #fff}
.profile-thin-aside.ct-has-video{position:relative}
.ct-photo-play{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border:0;border-radius:50%;background:rgba(0,94,138,.88);box-shadow:0 4px 16px rgba(0,0,0,.35),0 0 0 3px #fff;cursor:pointer;z-index:3;transition:transform .2s ease,background .2s ease}
.ct-photo-play span{position:absolute;left:22px;top:17px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent #fff}
.ct-photo-play:hover,.ct-photo-play:focus-visible{background:#0095D9;transform:scale(1.08)}
.ct-photo-play:focus-visible{outline:3px solid #62A9D3;outline-offset:3px}
.ct-vid{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;background:rgba(1,20,33,.94);padding:12px}
.ct-vid video{max-width:100%;max-height:100%;width:auto;height:auto;background:#000;border-radius:6px}
.ct-vid--16x9 video{width:min(1200px,100%)}
.ct-vid__x{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;z-index:2;width:52px;height:52px;border:0;border-radius:50%;background:#fff;color:#0b2a3c;font-size:36px;font-weight:300;line-height:52px;text-align:center;padding:0;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.45)}
.ct-vid__x:focus-visible{outline:3px solid #62A9D3;outline-offset:3px}
