/* VelShot: общие стили сайта (шапка, подвал, главная, формы, страницы). */
:root:root{
	/* Фон — чисто чёрный #000000 */
	--vs-bg:#000000;--vs-bg-2:#141414;--vs-bg-3:#1f1f1f;--vs-line:#2a2a2a;--vs-text:#f2f2f2;--vs-muted:#a8a8a8;--vs-accent:#ff7a00;--vs-accent-2:#ff9533;--vs-radius:14px;
	--global-palette1:#ff7a00;--global-palette2:#ff9533;--global-palette3:#ffffff;--global-palette4:#f2f2f2;--global-palette5:#d0d0d0;--global-palette6:#8c8c8c;--global-palette7:#2a2a2a;--global-palette8:#000000;--global-palette9:#000000;--global-palette9rgb:0,0,0;
	--global-palette-highlight:#ff7a00;--global-palette-highlight-alt:#ff9533;--global-palette-btn-bg:#ff7a00;--global-palette-btn-bg-hover:#ff9533;--global-palette-btn:#fff;--global-palette-btn-hover:#fff;
}
body{background:var(--vs-bg);color:var(--vs-text)}
.vs-wrap{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:0 16px}
.vs-icon{width:1em;height:1em;flex:0 0 auto;vertical-align:middle}

/* Шапка */
.vs-header{background:var(--vs-bg)!important;position:relative;z-index:50}
/* Шапка закреплена при прокрутке на всех страницах; при прокрутке — тень. Отступ для якорей (#vs-form) — высота шапки. */
.vs-header.vs-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:box-shadow .2s}
/* Место под шапку (полной высоты) — чтобы сжатие шапки при прокрутке не сдвигало страницу. Точную высоту ставит скрипт. */
#wrapper{padding-top:var(--vs-header-full,192px)}
@media (min-width:768px){#wrapper{padding-top:var(--vs-header-full,136px)}}
.vs-scrolled .vs-header{box-shadow:0 6px 18px rgba(0,0,0,.35)}
html{scroll-padding-top:calc(var(--vs-header-h,0px) + 12px)}
.admin-bar .vs-header.vs-header{top:32px}
@media (max-width:782px){.admin-bar .vs-header.vs-header{top:46px}}
@media (max-width:600px){.admin-bar .vs-header.vs-header{top:0}}
/* Телефон: при прокрутке шапка компактнее — без слогана и баннера-объявления */
/* Телефон: слоган и узкий баннер плавно сворачиваются вместе с прокруткой (высоту задаёт скрипт) */
@media (max-width:767px){.vs-header .vs-slogan.is-folding,.vs-header .vs-announce--mobile.is-folding{overflow:hidden}}
.vs-header__top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.vs-logo{display:inline-flex;align-items:center;text-decoration:none;flex:0 0 auto}
.vs-logo__img{display:block;height:34px;width:auto;border-radius:6px}
.vs-logo__text{font-size:22px;font-weight:800;color:var(--vs-accent)}
/* Значок после слогана (декоративный) */
.vs-slogan__icon{display:inline-block;width:auto;height:1.45em;margin:-.2em 0 0 .4em;vertical-align:middle}
/* Слоган: на телефоне — мелкой строкой под логотипом на всю ширину, на компьютере — рядом с логотипом */
.vs-header__top{flex-wrap:wrap;row-gap:8px;padding-top:12px;padding-bottom:10px}
.vs-slogan{order:10;flex:0 0 100%;margin:0;color:var(--vs-muted);font-size:12px;line-height:1.3;text-align:left;letter-spacing:.02em}
.vs-hours{display:flex;align-items:center;gap:8px;margin:0;color:var(--vs-muted);line-height:1.25}
.vs-hours .vs-icon{font-size:26px;color:var(--vs-accent)}
.vs-hours__text{display:flex;flex-direction:column;font-size:12px;text-align:left;white-space:nowrap}
.vs-hours__days{font-weight:700;color:var(--vs-text)}
.vs-nav{background:var(--vs-bg);position:relative}
.vs-nav__list{display:flex;align-items:center;justify-content:space-between;gap:4px;margin:0 auto;list-style:none;min-height:46px}
.vs-nav__list>li{margin:0}
.vs-nav__desktop{display:none}
.vs-nav__link,.vs-nav__home{display:inline-flex;align-items:center;gap:4px;padding:10px 6px;border:0;background:none;color:var(--vs-text);font:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}
.vs-nav__home .vs-icon{font-size:22px}
/* Баннер-объявление: телефон — картинка во всю ширину под меню; компьютер — справа в строке меню */
.vs-announce{display:block;line-height:0}
.vs-announce img{display:block;max-width:100%;height:auto}
/* Телефон: полоса всегда 7,5 : 1 (1170 × 156) — такая картинка встаёт целиком, другие обрезаются по центру */
.vs-announce--mobile img{width:100%;aspect-ratio:15 / 2;object-fit:cover}
.vs-nav__announce{display:none}
.vs-nav__price{margin-left:-4px;/* убирает промежуток flex (gap) — «Услуги/zł» слитно; шрифт тот же, что у «Услуги» */color:var(--vs-accent);font:inherit;line-height:inherit}
@media (max-width:767px){.vs-nav__list{gap:2px}.vs-nav__link,.vs-nav__home{padding-left:4px;padding-right:4px}}
/* Меню листается вбок, если пункты не помещаются (на телефоне: сначала Домик–Kontakt, дальше Blog и O mnie).
   Домик закреплён слева — остальные пункты уезжают под него. */
.vs-nav__list{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.vs-nav__list::-webkit-scrollbar{display:none}
.vs-nav__list>li{flex:0 0 auto}
.vs-nav__list>li.vs-nav__homeitem{position:sticky;left:0;z-index:2;padding-right:8px;background:var(--vs-bg);box-shadow:-16px 0 0 0 var(--vs-bg)/* закрывает и поле слева от домика */}
.vs-nav__link:hover,.vs-nav__home:hover,.vs-nav__link[aria-expanded="true"],.vs-nav__link[aria-current="page"]{color:var(--vs-accent)}
.entry-content ol.vs-included{counter-reset:vs-incl}
.entry-content ol.vs-included li{counter-increment:vs-incl}
.entry-content ol.vs-included li::before{content:counter(vs-incl)!important;background-image:none!important;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}
.vs-service-about h2.wp-block-heading{margin-bottom:16px}
/* Новый раздел после списка («Условия», тексты услуг) — заметный отступ перед заголовком */
.entry-content .vs-service-about ol.wp-block-list+h2.wp-block-heading,.entry-content .vs-service-about ul.wp-block-list+h2.wp-block-heading{margin-top:40px}
.vs-service-about h3.wp-block-heading{margin:24px 0 10px;font-size:18px;line-height:1.35;color:#fff;text-align:left}
.vs-service-about ul.wp-block-list,.vs-service-about ol.wp-block-list{margin:0 0 12px;padding-left:22px;color:var(--vs-text)}
.vs-service-about ol.wp-block-list li::marker{color:var(--vs-accent);font-weight:700}
.vs-services-seo.vs-services-seo{margin-top:12px}
.vs-service-about ul.wp-block-list li,.vs-service-about ol.wp-block-list li{margin:0 0 6px;line-height:1.6}
.vs-service-about a{color:var(--vs-accent)}
.vs-service-price{margin:0 0 24px;font-size:17px;line-height:1.5;color:var(--vs-text)}
.vs-service-price__label{display:block;margin-bottom:4px;font-weight:700;color:#fff}
.vs-service-price__row{display:block}
.vs-service-price__days{color:var(--vs-muted)}
.vs-service-price strong{color:var(--vs-accent-2);font-weight:700}
.entry-content h2.vs-included__title{margin:0 0 14px;font-size:20px;color:#fff;text-align:left}
.entry-content ul.vs-included,.entry-content ol.vs-included{margin:0 0 32px;padding:0;list-style:none}
.entry-content ul.vs-included li,.entry-content ol.vs-included li{position:relative;margin:0 0 10px;padding-left:30px;line-height:1.5;color:var(--vs-text)}
.entry-content ul.vs-included li::before,.entry-content ol.vs-included li::before{content:"";position:absolute;left:0;top:.2em;width:18px;height:18px;border-radius:50%;background:var(--vs-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.vs-service-order.vs-service-order,.vs-service-about.vs-service-about,.vs-service-more.vs-service-more{padding-left:0;padding-right:0}
.vs-service-about.vs-service-about>p,.vs-service-about.vs-service-about .wp-block-group__inner-container>p{text-align:left;max-width:none;color:var(--vs-text);line-height:1.65}
@media (min-width:768px){.vs-service-price{font-size:18px}.entry-content h2.vs-included__title,.entry-content h2.vs-service-h2{font-size:22px}.vs-service-about h3.wp-block-heading{font-size:20px}}
/* Страница «Контакты»: сверху ряд — график, телефон, соцсети, e-mail; ниже форма слева и карта справа */
.vs-contacts{margin:8px 0 24px}
.vs-contacts__bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 28px}
.vs-contacts__item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:14px 10px;border:1px solid var(--vs-line);border-radius:var(--vs-radius);background:var(--vs-bg-2);text-align:center;box-sizing:border-box}
/* Подписи всех карточек — на одной линии сверху; значение по центру места под подписью (отступы сверху и снизу уравновешены) */
.vs-contacts__item>:not(.vs-contacts__label){margin-top:auto;margin-bottom:auto}
.vs-contacts__label{font-size:12px;line-height:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--vs-muted)}
.vs-contacts .vs-contacts__value--hours{display:flex;flex-direction:column;align-items:center}
.vs-contacts__phone{display:flex;flex-direction:column;align-items:center;gap:2px}
.vs-contacts .vs-contacts__value{font-size:16px;font-weight:700;line-height:1.25;color:#fff;text-decoration:none;word-break:break-word}
.vs-contacts a.vs-contacts__value:hover{color:var(--vs-accent)}
.vs-contacts__item--email .vs-contacts__value{color:#fff}
/* Телефон: e-mail чуть ниже линии номера (а не по центру карточки, которую удлиняет пояснение под номером) */
@media (max-width:767px){.vs-contacts__item--email>.vs-contacts__value{margin-top:8px}}
.vs-contacts .vs-social{justify-content:center;gap:8px}
.vs-contacts .vs-social__link{width:40px;height:40px;font-size:20px}
/* Иконки соцсетей подстраиваются под ширину карточки (4 иконки в узкой карточке на телефоне не вылезают за рамку). */
.vs-contacts__item--social{container-type:inline-size}
.vs-contacts__item--social .vs-social{width:100%;gap:6px;flex-wrap:wrap}
.vs-contacts__item--social .vs-social__link{width:min(40px,calc((100cqw - 18px) / 4));height:auto;aspect-ratio:1;font-size:min(20px,calc((100cqw - 18px) / 8))}
/* Колонки не растягиваются от длинного названия услуги в списке — поля остаются в ширину экрана */
.vs-contacts__main>*,.vs-contacts__bar>*,.vs-contacts .vs-form,.vs-contacts .vs-form__field{min-width:0}
.vs-contacts__main{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.vs-contacts__map{display:flex;flex-direction:column;gap:16px}
.vs-contacts__map img{display:block;width:100%;max-width:560px;height:auto;margin:0 auto;border-radius:var(--vs-radius)}
@media (min-width:768px){.vs-contacts__bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:36px}.vs-contacts .vs-contacts__value{font-size:18px}.vs-contacts__main{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:40px}.vs-contacts__map{display:flex;flex-direction:column;gap:16px}.vs-contacts__map img{margin-right:0;max-width:none}}
/* SEO-блок внизу главной: поля по бокам (секция на всю ширину) и удобная длина строки */
.vs-home-about.vs-home-about{padding-left:16px;padding-right:16px}
.vs-home-about>*,.vs-home-about .wp-block-group__inner-container>*{max-width:900px;margin-left:auto;margin-right:auto}
.vs-home-about h2.wp-block-heading{max-width:none}
/* QR-коды мессенджеров над формой на «Контактах» */
.vs-qrs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 32px}
.vs-qrs--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.vs-qr{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.vs-qr__title{font-size:14px;font-weight:700;color:#fff}
.vs-qr__code{display:block;box-sizing:border-box;width:100%;max-width:170px;aspect-ratio:1;border:1px solid var(--vs-line);border-radius:12px;background:var(--vs-bg);overflow:hidden;transition:transform .15s,border-color .15s}
/* Подсветка — только при наведении мышью и с клавиатуры: на телефоне после нажатия и возврата на страницу рамка не «залипает». */
.vs-qr__code:focus{outline:none}
.vs-qr__code:focus-visible{border-color:var(--vs-accent)}
@media (hover:hover){.vs-qr__code:hover{border-color:var(--vs-accent);transform:translateY(-2px)}}
.vs-qr__code img{display:block;width:100%;height:100%}
.vs-contacts .vs-contacts__title{margin:0 0 16px;font-size:24px;line-height:1.3;color:#fff;text-align:left}
@media (min-width:768px){.vs-qrs{gap:20px}.vs-qrs--4{grid-template-columns:repeat(4,minmax(0,1fr))}.vs-contacts .vs-contacts__title{font-size:28px}}
/* Текст только для поисковиков и экранных дикторов (H1 главной) */
.vs-sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* FAQ: разделы и раскрывающиеся вопросы */
.entry-content p.vs-faq__intro{margin:0 0 8px;color:var(--vs-muted);line-height:1.6}
.entry-content h2.vs-faq__title{margin:32px 0 14px;font-size:20px;line-height:1.3;color:#fff;text-align:left}
.entry-content .vs-faq__item{margin:0 0 10px;border:1px solid var(--vs-line);border-radius:12px;background:var(--vs-bg-2);overflow:hidden}
.vs-faq__item summary{position:relative;padding:14px 48px 14px 16px;font-weight:600;line-height:1.45;color:#fff;cursor:pointer;list-style:none}
.vs-faq__item summary::-webkit-details-marker{display:none}
.vs-faq__item summary::after{content:"";position:absolute;right:20px;top:50%;width:8px;height:8px;border-right:2px solid var(--vs-accent);border-bottom:2px solid var(--vs-accent);transform:translateY(-75%) rotate(45deg);transition:transform .2s}
.vs-faq__item[open] summary::after{transform:translateY(-25%) rotate(-135deg)}
.vs-faq__item summary:hover,.vs-faq__item[open] summary{color:var(--vs-accent)}
.entry-content .vs-faq__item>p{margin:0;padding:0 16px 16px;line-height:1.6;color:var(--vs-text)}
.vs-faq a{color:var(--vs-accent)}
.entry-content p.vs-faq__outro{margin:28px 0 0;color:var(--vs-text)}
@media (min-width:768px){.entry-content h2.vs-faq__title{font-size:22px}.vs-faq__item summary{padding:16px 52px 16px 20px}.entry-content .vs-faq__item>p{padding:0 20px 18px}}
/* Блок заказа после карточек на странице «Услуги»: отступ от карточек, края формы — по краям карточек */
.vs-services-order.vs-services-order{margin-top:36px;padding-left:0;padding-right:0}
@media (max-width:767px){.vs-services-order.vs-services-order{margin-top:28px}}
/* Плитки услуг на странице «Услуги»: одна в ряд на телефоне, 3 на компьютере */
ul.vs-tiles.vs-tiles,ul.vs-services.vs-services{margin:0;padding:0;list-style:none}
.vs-tiles{display:grid;grid-template-columns:1fr;gap:10px}
.vs-tiles li,.vs-services li{margin:0}
.vs-tile{display:flex;align-items:flex-start;/* название и цена — по верхнему краю во всех карточках ряда */justify-content:space-between;gap:12px;height:100%;box-sizing:border-box;padding:16px 18px;border:1px solid var(--vs-line);border-radius:var(--vs-radius);background:var(--vs-bg-2);color:var(--vs-text);text-decoration:none;transition:border-color .15s,transform .15s}
.vs-tile:hover,.vs-tile:focus{border-color:var(--vs-accent);transform:translateY(-2px);color:var(--vs-text)}
.vs-tile__name{font-size:15px;font-weight:600;line-height:1.35}
.vs-tile__body{display:flex;flex-direction:column;gap:4px}
.vs-tile__price{font-size:13px;font-weight:600;line-height:1.35;color:var(--vs-accent-2)}
.vs-tile .vs-icon{flex:0 0 auto;align-self:center;color:var(--vs-accent);font-size:18px}
@media (min-width:768px){.vs-tiles{grid-template-columns:repeat(3,1fr);gap:20px}.vs-tile{padding:22px 22px;min-height:110px}.vs-tile__name{font-size:17px}}

/* Выпадающие списки */
.vs-dropdown__toggle{display:inline-flex;align-items:center;gap:4px;padding:8px 6px;border:0;background:none;color:var(--vs-text);font:inherit;font-weight:600;cursor:pointer}
/* Kadence красит все button:hover в цвет кнопки — у наших кнопок меню и каруселей фон не меняется */
.vs-dropdown__toggle:hover,.vs-dropdown__toggle:focus,.vs-dropdown__toggle:active{background:none;box-shadow:none;color:var(--vs-accent)}
.vs-carousel__nav:hover,.vs-carousel__nav:focus{background:rgba(10,10,10,.8);color:var(--vs-accent);box-shadow:none}
.vs-carousel__dot:hover,.vs-carousel__dot:focus{background:var(--vs-muted);box-shadow:none}
.vs-carousel__dot[aria-current="true"]:hover{background:var(--vs-accent)}
.vs-totop:hover,.vs-totop:focus{background:var(--vs-accent-2);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.vs-dropdown__toggle .vs-icon--chevron{font-size:14px;transition:transform .15s}
.vs-dropdown__toggle[aria-expanded="true"] .vs-icon--chevron{transform:rotate(180deg)}
.vs-dropdown{position:relative}
.vs-nav .vs-nav__services{position:static}
.vs-dropdown__menu{display:none;position:absolute;top:100%;left:8px;right:8px;z-index:60;margin:0;padding:8px;list-style:none;background:var(--vs-bg-3);border:1px solid var(--vs-line);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.35)}
.vs-dropdown__toggle[aria-expanded="true"]+.vs-dropdown__menu{display:block}
.vs-dropdown__menu li{margin:0}
.vs-dropdown__menu a{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:8px;color:var(--vs-text);text-decoration:none;font-size:15px}
.vs-dropdown__menu a:hover,.vs-dropdown__menu a:focus,.vs-dropdown__menu a[aria-current]{background:rgba(255,122,0,.14);color:var(--vs-accent)}
.vs-dropdown__all a{color:var(--vs-accent);font-weight:700}

/* Подвал */
.vs-footer{position:relative;margin-top:0;padding:28px 0 20px;background:var(--vs-bg)}
.vs-footer__top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.vs-social{display:flex;gap:10px}
.vs-social__link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--vs-bg-3);color:var(--vs-text);font-size:21px;transition:background .15s,color .15s}
.vs-social__link:hover,.vs-social__link:focus{background:var(--vs-accent);color:#fff}
.vs-header__social{display:none}
.vs-footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:22px}
.vs-footer__links a{color:var(--vs-muted);font-size:14px;text-decoration:none}
.vs-footer__links a:hover{color:var(--vs-accent)}
.vs-footer__copy{margin:18px 0 0;text-align:center;color:var(--vs-muted);font-size:13px}

/* Кнопка «наверх» — слева */
.vs-totop{position:fixed;left:16px;bottom:20px;z-index:90;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:var(--vs-accent);color:#fff;font-size:22px;box-shadow:0 8px 24px rgba(0,0,0,.35);cursor:pointer}
.vs-totop[hidden]{display:none}

/* Секции главной */
.vs-section{position:relative;box-sizing:border-box;max-width:none;margin:0;padding:36px 16px;background:var(--vs-bg)}
.vs-section>*{max-width:1168px;margin-left:auto;margin-right:auto}
.vs-section>h2,.vs-section h2.wp-block-heading{margin:0 0 20px;text-align:center;font-size:24px;color:#fff}
/* Иерархия заголовков: H1 страницы > H2 разделов > H2 внутри текста > H3 */
.entry-hero h1.entry-title,.entry-header h1.entry-title{font-weight:800}
.vs-section.vs-service-about h2.wp-block-heading,.vs-legal h2.wp-block-heading{font-size:22px;line-height:1.3}
.single-post .entry-header h1.entry-title{font-size:26px;line-height:1.25}
@media (min-width:768px){
	.entry-hero h1.entry-title{font-size:40px;line-height:1.2}
	.single-post .entry-header h1.entry-title{font-size:36px}
	.vs-section.vs-service-about h2.wp-block-heading,.vs-legal h2.wp-block-heading{font-size:26px}
}
.vs-section>p,.vs-section>.wp-block-group__inner-container>p{max-width:760px;margin-left:auto;margin-right:auto;text-align:center;color:var(--vs-muted)}
.vs-home-about>p,.vs-home-about>.wp-block-group__inner-container>p{text-align:left;color:var(--vs-text)}
.vs-empty{text-align:center;color:var(--vs-muted)}

/* Разделительные линии: на телефоне во всю ширину экрана, на компьютере — в ширину сайта, как баннер */
.vs-header::after,.vs-nav::before,.vs-section::before,.vs-footer::before{content:"";position:absolute;left:0;right:0;height:1px;margin:0 auto;background:var(--vs-line);pointer-events:none}
.vs-header::after{bottom:0}
.vs-nav::before,.vs-section::before,.vs-footer::before{top:0}
@media (min-width:768px){.vs-header::after,.vs-nav::before,.vs-section::before,.vs-footer::before{width:calc(100% - 32px);max-width:1168px}}

/* Главная: баннер вплотную к меню и к блоку формы — без линий сверху и снизу */
.home .vs-header::after,.home .vs-banners+.vs-section::before,.home .vs-home-h1+.vs-section::before{display:none}
/* H1 главной под баннером */
.vs-home-h1{box-sizing:border-box;max-width:1200px;margin:0 auto;padding:26px 16px 0;text-align:center}
.vs-home-h1 h1{margin:0;font-size:27px;line-height:1.25;font-weight:800;color:#fff;text-wrap:balance}
.vs-home-h1__sub{max-width:780px;margin:12px auto 0;font-size:15px;line-height:1.55;color:var(--vs-muted);text-wrap:balance}
.vs-home-h1+.vs-section{padding-top:22px}
@media (min-width:768px){.vs-home-h1{padding-top:34px}.vs-home-h1 h1{font-size:40px}.vs-home-h1__sub{font-size:17px;margin-top:14px}.vs-home-h1+.vs-section{padding-top:28px}}

/* Заголовок и содержимое страниц темы Kadence: без пустых мест сверху и снизу, тот же фон, что и у сайта */
.entry-hero .entry-hero-container-inner{background:var(--vs-bg)}
.entry-hero.page-hero-section .entry-header{min-height:0!important;padding:32px 0 20px}
body .content-area{margin-top:0;margin-bottom:0}
body .entry-content-wrap{padding-top:8px;padding-bottom:48px}
@media (max-width:767px){
	.entry-hero.page-hero-section .entry-header{padding:20px 0 12px}
	.entry-hero h1.entry-title{font-size:28px;line-height:1.25}
	body .entry-content-wrap{padding-top:4px;padding-bottom:32px}
	/* Внутренние страницы на телефоне: те же боковые отступы 16 px, что у шапки и главной —
	   формы и карточки везде одной ширины (Kadence давал 32 px из своих отступов «коробки») */
	/* Главная (fullwidth) не затрагивается: баннер на всю ширину экрана, у секций свои отступы */
	body:not(.content-width-fullwidth) .content-container.site-container,body:not(.content-width-fullwidth) .hero-container.site-container{padding-left:16px!important;padding-right:16px!important}
	.entry.content-bg{margin-left:0!important;margin-right:0!important}
	.entry-content-wrap{padding-left:0!important;padding-right:0!important}
}
.vs-button{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;background:var(--vs-accent);color:#fff;font-weight:700;text-decoration:none}
.vs-button:hover{background:var(--vs-accent-2);color:#fff}
/* Тема красит ссылку в фокусе/посещённую в свой цвет — у кнопки текст всегда тёмный (например, после открытия PDF в новой вкладке) */
a.vs-button.vs-button:visited,a.vs-button.vs-button:focus,a.vs-button.vs-button:active{background:var(--vs-accent);color:#fff;box-shadow:none;text-decoration:none}
a.vs-button.vs-button:hover{background:var(--vs-accent-2);color:#fff}
.vs-button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.vs-center{text-align:center;margin-top:20px}
/* Кнопка под карточками («Wszystkie wpisy»): тема обнуляет верхний отступ абзацев — задаём его явно */
.single-content .vs-center,.vs-center{margin-top:24px}
@media (min-width:768px){.single-content .vs-center,.vs-center{margin-top:32px}}

/* Преимущества: 3 картинки в ряд */
.vs-advantages .wp-block-columns{gap:12px}
.vs-advantages .wp-block-column{text-align:center}
/* Kadence добавляет картинкам и колонкам большие нижние отступы — убираем, чтобы не было пустот */
.vs-advantages figure.wp-block-image.wp-block-image{margin:0 0 10px}
.vs-advantages .wp-block-columns.wp-block-columns{margin-bottom:0}
.vs-section .wp-block-group__inner-container>:last-child,.vs-section>:last-child{margin-bottom:0}
.vs-advantages .wp-block-image img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--vs-radius)}
.vs-advantages h3{margin:0 0 6px;font-size:15px;color:#fff;overflow-wrap:normal;word-break:normal;hyphens:manual}
.vs-advantages .wp-block-column p{margin:0;font-size:13px;color:var(--vs-muted)}

/* Карусель */
.vs-carousel{position:relative;overflow:hidden;--per-view:1}
.vs-carousel__track{display:flex;transition:transform .5s ease;will-change:transform;touch-action:pan-y}
.vs-carousel__slide{flex:0 0 calc(100% / var(--per-view));box-sizing:border-box;min-width:0}
.vs-carousel__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:rgba(10,10,10,.55);color:#fff;font-size:20px;cursor:pointer}
.vs-carousel__nav--prev{left:10px}.vs-carousel__nav--next{right:10px}
.vs-carousel__dots{display:flex;justify-content:center;gap:8px;padding:12px 0 0}
.vs-carousel__dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--vs-line);cursor:pointer}
.vs-carousel__dot[aria-current="true"]{background:var(--vs-accent);width:22px;border-radius:5px}
.vs-carousel--single .vs-carousel__nav,.vs-carousel--single .vs-carousel__dots{display:none}
.vs-carousel__nav:focus-visible,.vs-carousel__dot:focus-visible,.vs-totop:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* Баннеры */
/* Баннер в ширину сайта (как шапка), с постоянными пропорциями:
   телефон — на всю ширину экрана, 2:1 (390 × 195 на iPhone 13); планшет и компьютер — в ширину сайта, 1168:400 */
.vs-banners{position:relative;box-sizing:border-box;width:100%;margin:0;overflow:hidden}
.vs-banner{position:relative;display:block;aspect-ratio:2/1;overflow:hidden;color:#fff;text-decoration:none}
.vs-banner picture{display:block;width:100%;height:100%}
.vs-banner img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none}
.vs-banner--placeholder{display:flex;align-items:center;justify-content:center;text-align:center;padding:0 16px;font-size:20px;font-weight:700}
.vs-banner--placeholder span{display:block;font-size:13px;font-weight:400;opacity:.8;margin-top:6px}

/* Карточки услуг */
.vs-services{display:grid;grid-template-columns:1fr;gap:10px;margin:0;padding:0;list-style:none}
.vs-services li{margin:0}
.vs-service{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--vs-line);border-radius:var(--vs-radius);background:var(--vs-bg-2);color:var(--vs-text);text-decoration:none;transition:border-color .15s,transform .15s}
.vs-service:hover{border-color:var(--vs-accent);transform:translateY(-2px);color:var(--vs-text)}
.vs-service__num{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;height:36px;border-radius:50%;background:rgba(255,122,0,.15);color:var(--vs-accent);font-weight:800}
.vs-service__name{flex:1;font-weight:600}
.vs-service .vs-icon--arrow{color:var(--vs-accent);font-size:20px}

/* Отзывы */
.vs-reviews{--per-view:1}
.vs-review{box-sizing:border-box;display:flex;flex-direction:column;height:100%;margin:0 6px;padding:22px;border-radius:var(--vs-radius);background:var(--vs-bg-2);border:1px solid var(--vs-line)}
.vs-review__text{margin:0 0 14px;font-size:15px;line-height:1.6;color:var(--vs-text)}
.vs-review__text::before{content:"“";display:block;font-size:44px;line-height:.6;color:var(--vs-accent);margin-bottom:6px}
/* Имя и дата прижаты к низу карточки — в одной линии у всех отзывов, какой бы длины ни был текст */
.vs-review figcaption{margin-top:auto}
.vs-review__author{margin:0;font-weight:700;color:#fff}
.vs-review__date{margin:2px 0 0;font-size:13px;color:var(--vs-muted)}
/* Хлебные крошки под шапкой, над заголовком страницы; на телефоне в одну строку, длинное название — с многоточием */
.vs-crumbs{position:relative;z-index:1}
.vs-crumbs__list{display:flex;flex-wrap:nowrap;align-items:center;margin:0 auto;padding-top:14px;padding-bottom:0;list-style:none;font-size:13px;line-height:1.4;color:var(--vs-muted);white-space:nowrap;overflow:hidden}
.vs-crumbs__list li{margin:0;min-width:0}
.vs-crumbs__list li:last-child{overflow:hidden;text-overflow:ellipsis}
.vs-crumbs__list li+li::before{content:"›";margin:0 8px;color:var(--vs-muted);opacity:.6}
.vs-crumbs__list a{color:var(--vs-muted);text-decoration:none}
.vs-crumbs__list a:hover,.vs-crumbs__list a:focus{color:var(--vs-accent)}
.vs-crumbs__list [aria-current]{color:var(--vs-text)}
.vs-crumbs__list li:not(:last-child){display:flex;align-items:center}
.vs-crumbs__home{display:inline-flex;align-items:center}
.vs-crumbs__home .vs-icon{display:block;font-size:16px}/* по центру строки, а не на линии текста */
@media (min-width:768px){.vs-crumbs__list{padding-top:18px;font-size:14px}}
/* Картинки в тексте статей */
.single-content .vs-post-img{margin:30px 0 26px}
/* Картинки статей нарисованы в формате 3,2:1 (2336x730). Главная: Kadence выводит её шире текста (2:3) и «за» статьёй —
   делаем по ширине текста, с отступом от крошек. На телефоне — 2,4:1 с обрезкой по бокам (всё важное в центре). */
body.single-post .post-thumbnail.article-post-thumbnail.article-post-thumbnail{margin:20px auto 0;width:auto;max-width:none;padding-bottom:41.67%}
@media (min-width:768px){body.single-post .post-thumbnail.article-post-thumbnail.article-post-thumbnail{margin-top:28px;padding-bottom:31.25%}}
.vs-post-img img{display:block;width:100%;height:auto;aspect-ratio:12/5;object-fit:cover;border-radius:var(--vs-radius);border:1px solid var(--vs-line)}
@media (min-width:768px){.vs-post-img img{aspect-ratio:16/5}}
.single-post .post-thumbnail img,.single-post .article-post-thumbnail img{border-radius:var(--vs-radius)}
/* Под статьёй — форма заявки вместо комментариев */
.single-post .comments-area{display:none}
.single-post .vs-post-form{margin-top:40px;padding-left:0;padding-right:0;padding-bottom:8px}
.single-post .vs-post-form>h2{text-align:center}
/* Блог и рубрики: без пустой «шапки» темы высотой 200 px над списком статей */
.post-archive-hero-section .entry-header{min-height:0;padding:22px 0 26px}
@media (min-width:768px){.post-archive-hero-section .entry-header{padding:34px 0 36px}}
/* Статья блога: воздух между крошками, рубрикой, заголовком и строкой «автор · дата» */
.single-post .entry-header{padding-top:22px}
.single-post .entry-header .entry-taxonomies{margin-bottom:14px}
.single-post .entry-header .entry-title{margin-bottom:16px}
@media (min-width:768px){.single-post .entry-header{padding-top:34px}.single-post .entry-header .entry-taxonomies{margin-bottom:18px}.single-post .entry-header .entry-title{margin-bottom:20px}}
/* Страница оператора: фото по центру */
.vs-operator-photo{max-width:420px;margin:0 auto 28px}
.vs-operator-photo img{display:block;width:100%;height:auto;border-radius:var(--vs-radius)}
.vs-reviews .vs-carousel__nav{top:auto;bottom:-6px;transform:none}

/* Последние записи */
.vs-posts{display:grid;grid-template-columns:1fr;gap:14px}
.vs-post{display:block;overflow:hidden;border:1px solid var(--vs-line);border-radius:var(--vs-radius);background:var(--vs-bg-2);color:var(--vs-text);text-decoration:none}
.vs-post:hover{border-color:var(--vs-accent);color:var(--vs-text)}
.vs-post__img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--vs-bg-3)}
.vs-post__body{padding:14px 16px 18px}
.vs-post__date{margin:0 0 6px;font-size:13px;color:var(--vs-muted)}
.vs-post__title{margin:0 0 8px;font-size:17px;color:#fff}
.vs-post__excerpt{margin:0;font-size:14px;color:var(--vs-muted)}

/* Формы */
.vs-form{max-width:760px;margin:0 auto}
.vs-form__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.vs-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
/* Поля формы всегда в ширину колонки: длинное название услуги не растягивает форму (текст обрезается многоточием) */
.vs-form__grid>*,.vs-form__address>*,.vs-form .vs-select,.vs-form .vs-book{min-width:0}
.vs-form__field{margin:0 0 14px}
/* Одинаковый шаг между полями (Kadence даёт абзацам 32 px, последнему — 0): название ближе к своему полю (6 px), чем к предыдущему (22 px) */
.vs-form .vs-form__field,.vs-form .vs-form__field:last-child{margin:0 0 22px!important}
.vs-form .vs-form__address{margin:0!important}
.vs-form__field--wide{grid-column:1/-1}
/* Адрес: город, улица, номер дома — на компьютере в один ряд */
.vs-form__address{display:grid;grid-template-columns:minmax(0,1fr);gap:0 16px}
@media (min-width:768px){.vs-form__address{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr)}
	/* Поля адреса всегда в одну линию, даже если подпись переносится на две строки (узкая колонка на «Контактах») */
	.vs-form__address>.vs-form__field{display:flex;flex-direction:column}
	.vs-form__address>.vs-form__field>input{margin-top:auto}}
.vs-form__field label{display:block;margin-bottom:6px;font-weight:600;font-size:14px;color:var(--vs-text)}
.vs-form input[type=text],.vs-form input[type=email],.vs-form input[type=tel],.vs-form input[type=date],.vs-form input[type=number],.vs-form select,.vs-form textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--vs-line);border-radius:10px;background:#0a0a0a;color:#fff;font-size:16px;color-scheme:dark}
/* Фокус и открытый список: только жёлтая рамка, без свечения и теней (свои и темы Kadence) */
.vs-form.vs-form input:focus,.vs-form.vs-form select:focus,.vs-form.vs-form textarea:focus{outline:none;border-color:var(--vs-accent);box-shadow:none}
/* Все однострочные поля одной высоты; iOS Safari иначе сжимает пустое поле даты */
.vs-form input[type=text],.vs-form input[type=email],.vs-form input[type=tel],.vs-form input[type=date],.vs-form input[type=number],.vs-form select{display:block;height:52px;min-height:52px;margin:0;-webkit-appearance:none;appearance:none;line-height:normal}
.vs-form__hints{margin:0 0 20px}
.vs-form p.vs-form__hint{margin:0 0 8px;padding:10px 12px;border-left:3px solid var(--vs-accent);border-radius:6px;background:rgba(255,122,0,.08);font-size:13px;line-height:1.45;color:var(--vs-muted)}
.vs-form__req{color:#ff8a80}
.vs-form__opt{font-weight:400;font-size:12px;color:var(--vs-muted)}
.vs-form__check{margin:0 0 12px;font-size:14px;line-height:1.5;color:var(--vs-text)}
.vs-form .vs-form__grid + .vs-form__check{margin-top:10px}/* отступ от поля «Комментарий» до первой галочки */
.vs-form__check label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
/* Галочка: белый квадрат, при выборе — только тёмная галочка, без цветной заливки */
.vs-form__check input[type=checkbox]{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;padding:0;border:0;border-radius:4px;background:#fff center/14px no-repeat;-webkit-appearance:none;appearance:none;cursor:pointer}
.vs-form__check input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 12.5l5 5 10-11' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.vs-form__check input[type=checkbox]:focus-visible{outline:3px solid var(--vs-accent);outline-offset:2px}
.vs-form__check a{color:var(--vs-accent)}
.vs-form__submit{display:inline-block;width:100%;max-width:320px;padding:14px 24px;border:0;border-radius:10px;background:var(--vs-accent);color:#fff;font-size:16px;font-weight:700;cursor:pointer}
.vs-form__submit:hover,.vs-form__submit:focus,.vs-form__submit:active{background:var(--vs-accent-2);box-shadow:none;outline:none}
.vs-form__submit[disabled]{opacity:.6;cursor:wait}
.vs-form__actions{margin:6px 0 0;text-align:center}
.vs-form .vs-form__cancel{max-width:560px;margin:14px auto 0;font-size:13px;line-height:1.5;text-align:center;color:var(--vs-muted)}
.vs-form__cancel a{color:var(--vs-accent)}
.vs-form__notice{margin:0 0 14px;padding:12px 16px;border-radius:8px;font-size:15px}
.vs-form__notice--ok{background:rgba(76,175,80,.16);color:#a5e0a8}
.vs-form__notice-icon{display:inline-block;width:auto;height:1.6em;margin:-.2em 0 0 .4em;vertical-align:middle}
.vs-form__notice--error{background:rgba(244,67,54,.16);color:#ffb4ab}

@media (max-width:640px){
	.vs-section{padding-top:28px;padding-bottom:28px}
	.vs-form__grid{grid-template-columns:minmax(0,1fr)}
	.vs-form__submit{max-width:none}
	.vs-advantages .wp-block-columns.wp-block-columns{gap:8px}
	.vs-advantages h3{font-size:13px;line-height:1.25;margin-left:-3px;margin-right:-3px}
	.vs-advantages .wp-block-column p{font-size:12px}
}
@media (min-width:360px){.vs-nav__link{font-size:14.5px}}
@media (min-width:768px){
	.vs-banner{aspect-ratio:1168/400}
	/* Внутренние страницы: содержимое в ширину сайта — 1168 px по краям логотипа и «EN», как линии шапки и баннер.
	   Линии блоков здесь во всю ширину содержимого. Главная (fullwidth) не затрагивается. */
	.content-width-normal .content-container.site-container,.content-width-narrow .content-container.site-container,.content-width-normal .hero-container.site-container,.content-width-narrow .hero-container.site-container{max-width:1200px!important;padding-left:16px!important;padding-right:16px!important}
	.content-width-normal .entry-content-wrap,.content-width-narrow .entry-content-wrap{padding-left:0!important;padding-right:0!important}
	.content-width-normal .vs-section::before,.content-width-narrow .vs-section::before{width:100%;max-width:none}
	.vs-banners{width:calc(100% - 32px);max-width:1168px;margin:0 auto}
	/* Текст меню ровно посередине между линией сверху и баннером снизу */
	.vs-nav__list{min-height:64px}
	.vs-nav__desktop{display:block}
	.vs-announce--mobile{display:none}
	.vs-nav__list>li.vs-nav__announce{display:block;margin-left:auto;max-width:340px}
	.vs-announce--desktop img{width:auto;height:48px;max-width:340px;object-fit:contain}
	/* График работы справа, рядом с выбором языка */
	.vs-header__top{justify-content:flex-start;flex-wrap:nowrap;padding-top:0;padding-bottom:0}
	/* Слоган в одну строку на любом языке; на узких экранах чуть мельче, при нехватке места — многоточие */
	.vs-slogan{order:0;flex:0 1 auto;min-width:0;margin:0 0 0 16px;padding-left:16px;border-left:1px solid var(--vs-line);font-size:14px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
	/* Соцсети справа, перед графиком работы */
	.vs-header__social{display:flex;flex:0 0 auto;gap:8px;margin-left:auto;margin-right:22px}
	.vs-header__social .vs-social__link{width:34px;height:34px;font-size:17px}
	.vs-hours{margin-left:auto;margin-right:22px}
	.vs-header__social+.vs-hours{margin-left:0}
	.vs-lang{display:none}
	.vs-langs{display:flex}
	.vs-hours .vs-icon{font-size:18px}
	.vs-hours__text{flex-direction:row;gap:6px;font-size:14px}
	.vs-hours__days{font-weight:600}
	.vs-header__top{min-height:72px}
	.vs-logo__img{height:44px}
	.vs-nav__list{justify-content:flex-start;gap:14px}
	.vs-nav .vs-nav__services{position:relative}
	.vs-nav .vs-dropdown__menu{left:0;right:auto;min-width:300px}
	.vs-services{grid-template-columns:repeat(2,1fr)}
	.vs-posts{grid-template-columns:repeat(3,1fr)}
	.vs-reviews{--per-view:2}
	/* Заголовок блока ровно посередине между линией сверху и содержимым */
	.vs-section{padding:34px 16px 56px}
	.vs-section>h2,.vs-section h2.wp-block-heading{font-size:30px;margin-bottom:33px}
	.vs-advantages .wp-block-columns{gap:28px}
	.vs-advantages h3{font-size:19px}
	.vs-advantages h3 br{display:none}
	.vs-advantages .wp-block-column p{font-size:15px}
	.vs-totop{left:auto;right:24px;bottom:28px} /* на компьютере — справа: там обычно рука с мышью и полоса прокрутки */
}
/* Планшет: рядом с логотипом слогану не хватает места — он идёт второй строкой, как на телефоне */
@media (min-width:768px) and (max-width:1023px){
	.vs-header__top{flex-wrap:wrap;row-gap:8px;padding-top:12px;padding-bottom:10px}
	.vs-slogan{order:10;flex:0 0 100%;margin:0;padding:0;border:0;font-size:14px}
}
/* Узкий ноутбук: слоган в одной строке с соцсетями не помещается — соцсети в шапке только от 1200 px (и на планшете) */
@media (min-width:1024px) and (max-width:1199px){.vs-header__social{display:none}}
@media (min-width:1024px){
	.vs-slogan{font-size:16px}
	.vs-services{grid-template-columns:repeat(3,1fr)}
	.vs-reviews{--per-view:3}
}
@media (prefers-reduced-motion:reduce){.vs-carousel__track{transition:none}}

/* ---------- VelShot: дополнения ---------- */

/* Значок-фотоаппарат после слогана (декоративный) */
.vs-slogan__icon{display:inline-flex;margin-left:.4em;color:var(--vs-accent);font-size:1.3em;vertical-align:-.25em}
.vs-nav__home[aria-current="page"]{color:var(--vs-accent)}

/* Телефон в форме: код страны +48 зафиксирован слева, вводятся только 9 цифр */
.vs-phone{position:relative;display:flex;align-items:stretch}
.vs-phone__code{display:flex;align-items:center;flex:0 0 auto;box-sizing:border-box;height:52px;padding:0 12px 0 14px;border:1px solid var(--vs-line);border-right:0;border-radius:10px 0 0 10px;background:var(--vs-bg-3);color:#fff;font-size:16px;font-weight:700;user-select:none}
.vs-form .vs-phone input[type=tel]{flex:1 1 auto;min-width:0;border-radius:0 10px 10px 0}
.vs-form .vs-phone:focus-within .vs-phone__code{border-color:var(--vs-accent)}
.vs-form .vs-form__cancel{margin-top:12px}
/* Форма заявки из двух полей — чуть уже, чтобы поля не растягивались на всю ширину монитора */
.vs-form--lead{max-width:640px}

/* Карточки услуг на главной: цена под названием */
.vs-service__name{display:flex;flex-direction:column;gap:2px}
.vs-service__price{font-size:13px;font-weight:600;color:var(--vs-accent-2)}
@media (min-width:1024px){.vs-services{grid-template-columns:repeat(4,1fr)}}
/* Плитки «Usługi i ceny»: 4 услуги — 2 в ряд на планшете, 4 на компьютере */
@media (min-width:768px){.vs-tiles--4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.vs-tiles--4{grid-template-columns:repeat(4,1fr)}}
.entry-content .vs-service-about h2.wp-block-heading[id]{scroll-margin-top:calc(var(--vs-header-h,0px) + 12px)}
.entry-content p.vs-service-price{margin:0 0 4px}

/* Заглушки: соцсети без ссылки, телефон, QR, отзывы, данные фирмы */
.vs-social__link--placeholder{opacity:.45;cursor:default}
.vs-social__link--placeholder:hover{background:var(--vs-bg-3);color:var(--vs-text)}
.vs-contacts .vs-contacts__value--placeholder{color:var(--vs-muted)}
.vs-qr__code--placeholder{cursor:default}
@media (hover:hover){.vs-qr__code--placeholder:hover{border-color:var(--vs-line);transform:none}}
.vs-review--placeholder{opacity:.75;border-style:dashed}
.vs-company--empty{color:#ffb4ab}

/* Лента фото на главной: компьютер — 5 в ряд, телефон — 2 */
.vs-gallery{position:relative;width:calc(100% - 32px);max-width:1168px;margin:28px auto 8px}
.vs-gallery__track{display:flex;align-items:flex-start;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.vs-gallery__track::-webkit-scrollbar{display:none}
.vs-gallery__track:focus-visible{outline:3px solid #fff;outline-offset:4px;border-radius:14px}
.vs-gallery .vs-gallery__item{flex:0 0 calc((100% - 12px) / 2);aspect-ratio:1/1;margin:0;overflow:hidden;border-radius:14px;background:#111111;scroll-snap-align:start}
.vs-gallery__item img{display:block;width:100%;height:100%;object-fit:cover}
.vs-gallery__item[role="button"]{cursor:zoom-in}
.vs-gallery__item:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.vs-gallery__btn{position:absolute;top:50%;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-top:-20px;padding:0;border:0;border-radius:50%;background:var(--vs-accent);color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.35);cursor:pointer;transition:opacity .2s}
.vs-gallery__btn:hover,.vs-gallery__btn:focus{background:var(--vs-accent-2);color:#fff}
.vs-gallery__btn--prev{left:6px}
.vs-gallery__btn--next{right:6px}
.vs-gallery--static .vs-gallery__btn{display:none}
.vs-gallery__btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
/* Заглушка фото: тот же квадрат, пунктирная рамка и подпись */
.vs-gallery__item--placeholder{display:flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px dashed var(--vs-line);background:var(--vs-bg-2)!important;color:var(--vs-muted);font-size:14px;font-weight:600;text-align:center}
@media (min-width:768px){
	.vs-gallery .vs-gallery__item{flex-basis:calc((100% - 48px) / 5)}
	.vs-gallery__btn{width:44px;height:44px;margin-top:-22px}
	.vs-gallery__btn--prev{left:-22px}
	.vs-gallery__btn--next{right:-22px}
}

/* Портфолио: квадраты, телефон — 2 в ряд, компьютер — 4 */
.vs-portfolio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 12px}
.vs-portfolio .vs-gallery__item{margin:0;aspect-ratio:1/1;overflow:hidden;border-radius:var(--vs-radius);background:#111111}
@media (min-width:768px){.vs-portfolio{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}

/* Полноэкранный просмотр фото */
.vs-lightbox{position:fixed;inset:0;z-index:99980;display:flex;align-items:center;justify-content:center;padding:56px 64px;background:rgba(5,5,5,.95)}
.vs-lightbox[hidden]{display:none}
.vs-lightbox__img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.6);user-select:none}
.vs-lightbox__close{position:absolute;top:12px;right:14px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.vs-lightbox__nav{position:absolute;top:50%;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-top:-24px;padding:0;border:0;border-radius:50%;background:var(--vs-accent);color:#fff;cursor:pointer}
.vs-lightbox__nav--prev{left:10px}
.vs-lightbox__nav--next{right:10px}
.vs-lightbox__count{position:absolute;bottom:14px;left:0;right:0;margin:0;color:#d0d0d0;font-size:14px;text-align:center}
.vs-lightbox button:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media (max-width:767px){.vs-lightbox{padding:56px 8px 48px}.vs-lightbox__nav{width:40px;height:40px;margin-top:-20px;opacity:.9}}
body.vs-lightbox-open{overflow:hidden}

/* Плавающие кнопки мессенджеров */
.vs-chat{position:fixed;right:16px;bottom:20px;z-index:88;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}
.vs-chat>*{pointer-events:auto}
.vs-chat__btns{display:flex;gap:10px}
.vs-chat__btn{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--vs-accent);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.35);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.vs-chat__btn svg{width:28px;height:28px}
.vs-chat__btn:hover,.vs-chat__btn:focus{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.45);color:#fff}
.vs-chat__btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.vs-chat__text{position:relative;max-width:230px;margin:0;padding:10px 30px 10px 14px;border-radius:14px 14px 4px 14px;background:#fff;color:#000000;font-size:13px;font-weight:600;line-height:1.35;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.vs-chat__text[hidden]{display:none}
.vs-chat__close{position:absolute;top:4px;right:6px;width:22px;height:22px;padding:0;border:0;background:none;color:#777777;font-size:18px;line-height:1;cursor:pointer}
.vs-chat__close:hover,.vs-chat__close:focus{background:none;color:#000000;box-shadow:none}
@media (min-width:768px){
	.vs-chat{right:24px;bottom:28px}
	.vs-chat__btn{width:56px;height:56px}
	.vs-chat__text{max-width:260px;font-size:14px}
	.vs-has-chat .vs-totop{right:156px;bottom:33px} /* «наверх» — в одном ряду слева от кнопок мессенджеров */
}

/* Баннер cookies */
.vs-cookie{position:fixed;left:0;right:0;bottom:0;z-index:99990;padding:12px 16px calc(12px + env(safe-area-inset-bottom));pointer-events:none}
.vs-cookie[hidden]{display:none}
.vs-cookie__box{box-sizing:border-box;max-width:760px;margin:0 auto;padding:16px 18px;border:1px solid var(--vs-line);border-radius:14px;background:var(--vs-bg-2);box-shadow:0 12px 40px rgba(0,0,0,.45);color:var(--vs-text);pointer-events:auto}
.vs-cookie__text{margin:0 0 12px;font-size:14px;line-height:1.5}
.vs-cookie__text a{color:var(--vs-accent)}
.vs-cookie__prefs{display:grid;gap:10px;margin:0 0 14px}
.vs-cookie__cat{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;cursor:pointer}
.vs-cookie__cat input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:var(--vs-accent)}
.vs-cookie__actions{display:flex;flex-wrap:wrap;gap:8px}
.vs-cookie__btn{flex:1 1 auto;min-height:42px;padding:10px 16px;border:1px solid var(--vs-accent);border-radius:10px;background:var(--vs-accent);color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.vs-cookie__btn:hover,.vs-cookie__btn:focus{background:var(--vs-accent-2);border-color:var(--vs-accent-2);color:#fff}
.vs-cookie__btn--link{flex:0 0 auto;border-color:transparent;background:transparent;color:var(--vs-text);text-decoration:underline}
.vs-cookie__btn--link:hover,.vs-cookie__btn--link:focus{background:transparent;border-color:transparent;color:var(--vs-accent)}
.vs-cookie__btn[hidden],.vs-cookie__prefs[hidden]{display:none}
.vs-cookie[data-mode="info"] .vs-cookie__box{display:flex;align-items:center;gap:16px}
.vs-cookie[data-mode="info"] .vs-cookie__text{margin:0;flex:1 1 auto}
.vs-cookie[data-mode="info"] .vs-cookie__btn{min-width:80px}

/* Карта на «Kontakt» нарисована в жёлтом — подкрашиваем в оранжевый тон сайта */
.vs-contacts__map img{filter:hue-rotate(-20deg) saturate(1.45)}

/* ---------- Гамма «антрацит + белый + оранжевый» ---------- */

/* Кнопки-«таблетки» с белым текстом на оранжевом */
.vs-button,.vs-form__submit,.vs-cookie__btn--main{border-radius:999px}
.vs-button,.vs-form__submit{font-weight:600;letter-spacing:.01em;box-shadow:0 6px 18px rgba(255,122,0,.25)}

/* Светлые секции на главной (услуги, отзывы, блог) — как блок «Популярные блюда»:
   светло-серый фон, белые карточки с мягкой тенью, тёмный текст. */
.vs-section.vs-home-services,.vs-section.vs-home-reviews,.vs-section.vs-home-posts{--vs-bg:#f7f7f7;--vs-bg-2:#ffffff;--vs-bg-3:#ffffff;--vs-line:#e8e8e8;--vs-text:#000000;--vs-muted:#6b6b6b;background:#f7f7f7;color:#000000}
.vs-section.vs-home-services::before,.vs-section.vs-home-reviews::before,.vs-section.vs-home-posts::before,.vs-section.vs-home-services+.vs-section::before,.vs-section.vs-home-reviews+.vs-section::before,.vs-section.vs-home-posts+.vs-section::before{display:none}
.vs-home-services h2.wp-block-heading,.vs-home-reviews h2.wp-block-heading,.vs-home-posts h2.wp-block-heading,.vs-home-services>h2,.vs-home-reviews>h2,.vs-home-posts>h2{color:#000000}
.vs-home-services .vs-service,.vs-home-reviews .vs-review,.vs-home-posts .vs-post{border-color:transparent;box-shadow:0 6px 22px rgba(0,0,0,.07)}
.vs-home-services .vs-service:hover,.vs-home-posts .vs-post:hover{border-color:var(--vs-accent)}
.vs-home-services .vs-service__num{background:#ff7a00;color:#fff}
.vs-home-reviews .vs-review__author,.vs-home-posts .vs-post__title{color:#000000}
.vs-home-posts .vs-post__img{background:#ececec}
.vs-home-reviews .vs-review--placeholder{border-color:#d8d8d8}/* На белом светло-оранжевый плохо читается — цена и даты темнее */
.vs-home-services .vs-service__price{color:#d96500}
.vs-home-services .vs-icon--arrow,.vs-home-reviews .vs-review__text::before{color:#ff7a00}
/* «Usługi i ceny»: отступ между плитками и линией следующего блока */
ul.vs-tiles.vs-tiles{margin-bottom:32px}
@media (min-width:768px){ul.vs-tiles.vs-tiles{margin-bottom:44px}}
