* {
         margin: 0;
         padding: 0;
         box-sizing: border-box;
         }
         :root {
         --vs-primary: #0066cc;
         --vs-primary-dark: #004999;
         --vs-secondary: #00a651;
         --vs-text: #333333;
         --vs-text-light: #666666;
         --vs-bg: #ffffff;
         --vs-bg-gray: #f5f5f5;
         --vs-border: #e0e0e0;
         --vs-accent: #ff6b00;
         --vs-shadow: rgba(0, 0, 0, 0.1);
         --vs-max-width: 1200px;
         }
         body {
         font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
         line-height: 1.6;
         color: var(--vs-text);
         background: var(--vs-bg);
         }
         img {
         max-width: 100%;
         height: auto;
         display: block;
         }
         a {
         color: var(--vs-primary);
         text-decoration: none;
         transition: color 0.3s;
         }
         a:hover {
         color: var(--vs-primary-dark);
         }
         /* Container */
         .vs-container {
         max-width: var(--vs-max-width);
         margin: 0 auto;
         padding: 0 20px;
         }
         /* Header */
         .vs-header {
         background: var(--vs-bg);
         border-bottom: 1px solid var(--vs-border);
         padding: 15px 0;
         }
         .vs-breadcrumbs {
         list-style: none;
         display: flex;
         flex-wrap: wrap;
         font-size: 14px;
         color: var(--vs-text-light);
         margin-bottom: 10px;
         }
         .vs-breadcrumbs li {
         display: flex;
         align-items: center;
         }
         .vs-breadcrumbs li:not(:last-child)::after {
         content: '→';
         margin: 0 8px;
         color: var(--vs-text-light);
         }
         .vs-breadcrumbs a {
         color: var(--vs-text-light);
         }
         .vs-breadcrumbs a:hover {
         color: var(--vs-primary);
         }
         .vs-h1 {
         font-size: 2.5rem;
         font-weight: 700;
         color: var(--vs-text);
         margin: 15px 0;
         line-height: 1.2;
         }
         /* Table of Contents */
         .vs-toc {
         background: var(--vs-bg-gray);
         border-radius: 8px;
         padding: 20px;
         margin: 30px 0;
         }
         .vs-toc__title {
         font-size: 2rem;
         font-weight: 600;
         margin-bottom: 15px;
         color: var(--vs-text);
         }
         .vs-toc__list {
         list-style: none;
         display: grid;
         grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
         gap: 10px;
         }
         .vs-toc__link {
         display: block;
         padding: 8px 12px;
         background: var(--vs-bg);
         border-radius: 4px;
         font-size: 14px;
         transition: all 0.3s;
         }
         .vs-toc__link:hover {
         background: var(--vs-primary);
         color: var(--vs-bg);
         transform: translateX(5px);
         }
         /* Hero Section */
         .vs-hero {
         background: linear-gradient(135deg, var(--vs-primary) 0%, var(--vs-primary-dark) 100%);
         color: var(--vs-bg);
         padding: 50px 0;
         margin-bottom: 40px;
         }
         .vs-hero__content {
         max-width: 800px;
         }
         .vs-hero__title {
         font-weight: 700;
         margin-bottom: 20px;
         line-height: 1.3;
		 color:#fff!important;
		 text-transform: inherit!important;
		text-align: left!important;
         }
         .vs-hero__list {
         list-style: none;
         margin: 25px 0;
         }
         .vs-hero__list li {
         padding: 10px 0 10px 30px;
         position: relative;   
         }
         .vs-hero__list li::before {
         content: '✓';
         position: absolute;
         left: 0;
         color: var(--vs-secondary);
         font-weight: bold;
         font-size: 1.3rem;
         }
         .vs-hero__cta {
         display: flex;
         flex-wrap: wrap;
         gap: 15px;
         margin-top: 30px;
         align-items: center;
         }
         .vs-btn {
         display: inline-block;
         padding: 14px 30px;
         border-radius: 6px;
         font-weight: 600;
         font-size: 16px;
         text-align: center;
         transition: all 0.3s;
         border: 2px solid transparent;
         cursor: pointer;
         }
         .vs-btn--primary {
         background: var(--vs-accent);
         color: var(--vs-bg);
         border-color: var(--vs-accent);
         }
         .vs-btn--primary:hover {
         background: #e55d00;
         border-color: #e55d00;
         transform: translateY(-2px);
         box-shadow: 0 4px 12px rgba(255, 107, 0, 0.3);
         }
         .vs-btn--secondary {
         background: transparent;
         color: var(--vs-bg);
         border-color: var(--vs-bg);
         }
         .vs-btn--secondary:hover {
         background: var(--vs-bg);
         color: var(--vs-primary);
         }
         .vs-hero__phone {
         color: var(--vs-bg);
         font-size: 1.3rem;
         font-weight: 600;
         display: flex;
         align-items: center;
         gap: 8px;
         }
         .vs-hero__phone:hover {
         color: var(--vs-secondary);
         }
         /* Main Content */
         .vs-main {
         padding: 40px 0;
         }
         .vs-section {
         margin-bottom: 50px;
         }
         .vs-h2 {
         /*font-size: 2rem;*/
         font-weight: 700;
         color: var(--vs-text);
         margin-bottom: 25px;
         padding-bottom: 15px;
         border-bottom: 3px solid var(--vs-primary);
         }
         .vs-h3 {
         font-weight: 600;
         color: var(--vs-text);
         margin: 25px 0 15px;
         }
         .vs-text {
         line-height: 1.7;
         color: var(--vs-text);
         margin-bottom: 15px;
         }
         /* Visa Types Grid */
         .vs-visa-grid {
         display: grid;
         grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
         gap: 25px;
         margin-top: 30px;
         }
         .vs-visa-card {
         background: var(--vs-bg);
         border: 2px solid var(--vs-border);
         border-radius: 8px;
         padding: 25px;
         transition: all 0.3s;
         }
         .vs-visa-card:hover {
         border-color: var(--vs-primary);
         box-shadow: 0 4px 16px var(--vs-shadow);
         transform: translateY(-4px);
         }
         .vs-visa-card__title {
         
         font-weight: 600;
         color: var(--vs-primary);
         margin-bottom: 15px;
         }
         .vs-visa-card__list {
         list-style: none;
         font-size: 14px;
         color: var(--vs-text-light);
         }
         .vs-visa-card__list li {
         padding: 6px 0;
         padding-left: 20px;
         position: relative;
         }
         .vs-visa-card__list li::before {
         content: '•';
         position: absolute;
         left: 0;
         color: var(--vs-primary);
         font-weight: bold;
         }
         /* Table */
         .vs-table-wrapper {
         overflow-x: auto;
         margin: 25px 0;
         }
         .vs-table {
         width: 100%;
         border-collapse: collapse;
         background: var(--vs-bg);
         font-size: 15px;
         }
         .vs-table thead {
         background: var(--vs-primary);
         color: var(--vs-bg);
         }
         .vs-table th {
         padding: 15px;
         text-align: left;
         font-weight: 600;
         }
         .vs-table td {
         padding: 15px;
         border-bottom: 1px solid var(--vs-border);
         }
         .vs-table tbody tr:hover {
         background: var(--vs-bg-gray);
         }
         /* Checklist */
         .vs-checklist {
         list-style: none;
         margin: 20px 0;
         background: var(--vs-bg-gray);
         border-radius: 8px;
         padding: 25px;
         }
         .vs-checklist li {
         padding: 10px 0 10px 35px;
         position: relative;
         }
         .vs-checklist li::before {
         content: '☑';
         position: absolute;
         left: 0;
         color: var(--vs-secondary);
         font-size: 1.3rem;
         }
         /* Steps */
         .vs-steps {
         margin: 30px 0;
         }
         .vs-step {
         display: flex;
         gap: 20px;
         margin-bottom: 30px;
         padding: 25px;
         background: var(--vs-bg-gray);
         border-radius: 8px;
         border-left: 4px solid var(--vs-primary);
         }
         .vs-step__number {
         flex-shrink: 0;
         width: 50px;
         height: 50px;
         background: var(--vs-primary);
         color: var(--vs-bg);
         border-radius: 50%;
         display: flex;
         align-items: center;
         justify-content: center;
         font-size: 1.5rem;
         font-weight: 700;
         }
         .vs-step__content h3 {
         margin-top: 0;
         margin-bottom: 10px;
         color: var(--vs-primary);
         }
         .vs-step__content p {
         color: var(--vs-text-light);
         margin: 0;
         }
         /* Alert Box */
         .vs-alert {
         background: #fff3cd;
         border-left: 4px solid #ffc107;
         padding: 20px;
         margin: 25px 0;
         border-radius: 6px;
         }
         .vs-alert__title {
         font-weight: 600;
         color: #856404;
         margin-bottom: 10px;
         }
         .vs-alert__text {
         color: #856404;
         margin: 0;
         }
         /* Info Box */
         .vs-info {
         background: #d1ecf1;
         border-left: 4px solid #17a2b8;
         padding: 20px;
         margin: 25px 0;
         border-radius: 6px;
         }
         .vs-info__title {
         font-weight: 600;
         color: #0c5460;
         margin-bottom: 10px;
         }
         .vs-info__text {
         color: #0c5460;
         margin: 0;
         }
         /* Stats */
         .vs-stats {
         display: grid;
         grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
         gap: 20px;
         margin: 30px 0;
         }
         .vs-stat {
         text-align: center;
         padding: 25px;
         background: var(--vs-bg-gray);
         border-radius: 8px;
         }
         .vs-stat__number {
         font-size: 2.5rem;
         font-weight: 700;
         color: var(--vs-primary);
         margin-bottom: 10px;
         }
         .vs-stat__label {
         color: var(--vs-text-light);
         }
         /* Reviews */
         .vs-reviews {
         display: grid;
         grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
         gap: 25px;
         margin: 30px 0;
         }
         .vs-review {
         background: var(--vs-bg);
         border: 1px solid var(--vs-border);
         border-radius: 8px;
         padding: 25px;
         }
         .vs-review__stars {
         color: #ffc107;
         font-size: 1.2rem;
         margin-bottom: 10px;
         }
         .vs-review__text {
         color: var(--vs-text-light);
         font-size: 15px;
         margin-bottom: 15px;
         font-style: italic;
         }
         .vs-review__author {
         font-weight: 600;
         color: var(--vs-text);
         font-size: 14px;
         }
         /* Country Grid Placeholder */
         .vs-country-grid {
         display: grid;
         grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
         gap: 20px;
         margin: 30px 0;
         min-height: 200px;
         border: 2px dashed var(--vs-border);
         border-radius: 8px;
         padding: 20px;
         position: relative;
         }
         .vs-country-grid::after {
         position: absolute;
         top: 50%;
         left: 50%;
         transform: translate(-50%, -50%);
         color: var(--vs-text-light);
         font-size: 14px;
         text-align: center;
         }
         /* FAQ */
         .vs-faq {
         margin: 30px 0;
         }
         .vs-faq__item {
         background: var(--vs-bg);
         border: 1px solid var(--vs-border);
         border-radius: 8px;
         margin-bottom: 15px;
         overflow: hidden;
         }
         .vs-faq__question {
         font-weight: 600;
         padding: 20px;
         cursor: pointer;
         background: var(--vs-bg-gray);
         position: relative;
         padding-right: 50px;
         }
         .vs-faq__question::after {
         content: '+';
         position: absolute;
         right: 20px;
         top: 50%;
         transform: translateY(-50%);
         font-size: 1.5rem;
         color: var(--vs-primary);
         }
         .vs-faq__answer {
         padding: 0 20px 20px 20px;
         color: var(--vs-text-light);
         line-height: 1.7;
         }
         /* Form */
         .vs-form {
         background: var(--vs-bg-gray);
         border-radius: 8px;
         padding: 35px;
         margin: 30px 0;
         max-width: 700px;
         }
         .vs-form__group {
         margin-bottom: 20px;
         }
         .vs-form__label {
         display: block;
         font-weight: 600;
         margin-bottom: 8px;
         color: var(--vs-text);
         }
         .vs-form__label--required::after {
         content: '*';
         color: #dc3545;
         margin-left: 4px;
         }
         .vs-form__input,
         .vs-form__select,
         .vs-form__textarea {
         width: 100%;
         padding: 12px 15px;
         border: 1px solid var(--vs-border);
         border-radius: 6px;
         font-size: 15px;
         font-family: inherit;
         transition: border-color 0.3s;
         }
         .vs-form__input:focus,
         .vs-form__select:focus,
         .vs-form__textarea:focus {
         outline: none;
         border-color: var(--vs-primary);
         }
         .vs-form__textarea {
         min-height: 100px;
         resize: vertical;
         }
         .vs-form__checkbox-wrapper {
         display: flex;
         align-items: flex-start;
         gap: 10px;
         }
         .vs-form__checkbox {
         margin-top: 4px;
         }
         .vs-form__checkbox-label {
         font-size: 14px;
         color: var(--vs-text-light);
         }
         .vs-form__submit {
         width: 100%;
         margin-top: 10px;
         }
         .vs-form__note {
         text-align: center;
         font-size: 13px;
         color: var(--vs-text-light);
         margin-top: 15px;
         }
         /* Contact */
         .vs-contact {
         display: grid;
         grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
         gap: 30px;
         margin: 30px 0;
         }
         .vs-contact__item {
         padding: 25px;
         background: var(--vs-bg-gray);
         border-radius: 8px;
         }
         .vs-contact__title {
         font-weight: 600;
         margin-bottom: 10px;
         color: var(--vs-text);
         }
         .vs-contact__info {
         color: var(--vs-text-light);
         line-height: 1.8;
         }
         .vs-contact__link {
         display: block;
         margin: 5px 0;
         }
         /* Footer */
         .vs-footer {
         background: var(--vs-text);
         color: var(--vs-bg-gray);
         padding: 40px 0 20px;
         margin-top: 60px;
         }
         .vs-footer__content {
         display: grid;
         grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
         gap: 30px;
         margin-bottom: 30px;
         }
         .vs-footer__section h3 {
         color: var(--vs-bg);
         margin-bottom: 15px;
         font-size: 1.1rem;
         }
         .vs-footer__list {
         list-style: none;
         }
         .vs-footer__list li {
         margin: 8px 0;
         }
         .vs-footer__list a {
         color: var(--vs-bg-gray);
         }
         .vs-footer__list a:hover {
         color: var(--vs-bg);
         }
         .vs-footer__cta {
         text-align: center;
         padding: 30px;
         background: var(--vs-primary);
         border-radius: 8px;
         margin-bottom: 30px;
         }
         .vs-footer__cta h3 {
         color: var(--vs-bg);
         margin-bottom: 15px;
         }
         .vs-footer__bottom {
         text-align: center;
         padding-top: 20px;
         border-top: 1px solid rgba(255, 255, 255, 0.1);
         font-size: 14px;
         color: var(--vs-bg-gray);
         }
         /* Responsive */
         @media (max-width: 768px) {
         .vs-h1 {
         font-size: 1.8rem;
         }
         .vs-h2 {
         font-size: 1.5rem;
         }
         .vs-hero__list li {
         font-size: 1rem;
         }
         .vs-hero__cta {
         flex-direction: column;
         align-items: stretch;
         }
         .vs-btn {
         width: 100%;
         }
         .vs-toc__list {
         grid-template-columns: 1fr;
         }
         .vs-visa-grid {
         grid-template-columns: 1fr;
         }
         .vs-table {
         font-size: 13px;
         }
         .vs-table th,
         .vs-table td {
         padding: 10px 8px;
         }
         .vs-step {
         flex-direction: column;
         }
         .vs-reviews {
         grid-template-columns: 1fr;
         }
         .vs-stats {
         grid-template-columns: 1fr 1fr;
         }
         .vs-contact {
         grid-template-columns: 1fr;
         }
         }
         @media (max-width: 480px) {
         .vs-container {
         padding: 0 15px;
         }
         .vs-hero {
         padding: 30px 0;
         }
         .vs-form {
         padding: 25px 20px;
         }
         .vs-stat__number {
         font-size: 2rem;
         }
         }
.vs-country-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:16px;
}

.vs-country-card{
  display:block;
  background:#fff;
  border:1px solid var(--vs-border,#e5e7eb);
  border-radius:10px;
  overflow:hidden;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
}
.vs-country-card:hover{ transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,.06); }

.vs-country-card__media{
  aspect-ratio:3/2;               /* компактнее, чем 16/9 */
  display:flex; align-items:center; justify-content:center;
  background:#f7f7f7;
}
.vs-country-card__media img{ max-width:100%; max-height:100%; object-fit:contain; }

.vs-country-card__body{ padding:10px 12px; }
.vs-country-card__title{ font-weight:700; color:var(--vs-text,#111); font-size:15px; line-height:1.25; }


/* ===== Компактная сетка стран Шенгена ===== */
#vs-schengen-countries{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(170px,1fr)) !important; /* было 220–250 */
  gap:12px !important;
  margin:16px 0 !important;
  padding:0 !important;
  border:0 !important;
}

/* Карточка */
#vs-schengen-countries .vs-country-card{
  display:block;
  border:1px solid var(--vs-border,#e5e7eb);
  border-radius:10px;
  overflow:hidden;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
}
#vs-schengen-countries .vs-country-card:hover{
  transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,.06);
}

/* Медиа-блок: делаем ниже и фиксируем высоту */
#vs-schengen-countries .vs-country-card__media{
  height:80px !important;            /* фикс вместо aspect-ratio */
  aspect-ratio:auto !important;      /* снять влияние прежних правил */
  display:flex; align-items:center; justify-content:center;
  background:#f7f7f7;
}
#vs-schengen-countries .vs-country-card__media img{
  max-width:100%; max-height:100%; object-fit:contain;
}

/* Текст */
#vs-schengen-countries .vs-country-card__body{ padding:8px 10px !important; }
#vs-schengen-countries .vs-country-card__title{
  font-weight:700; color:var(--vs-text,#111);
  font-size:14px !important; line-height:1.25;
}

/* На очень широких экранах — ещё больше колонок */
@media (min-width: 1280px){
  #vs-schengen-countries{
    grid-template-columns:repeat(auto-fill, minmax(150px,1fr)) !important;
  }
}

/* FAQ: свёрнуто по умолчанию */
/* Закрыто по умолчанию */
.vs-faq__answer{
  max-height: 0;
  overflow: hidden;
  padding: 0 20px;                 /* без нижнего отступа */
  transition: max-height .25s ease, padding .2s ease;
}

/* Открыто */
.vs-faq__item.is-open .vs-faq__answer{
  max-height: 1000px;
  padding: 12px 20px 20px;         /* вернули отступы, когда открыт */
}

/* чтобы первый абзац не прилипал сверху */
.vs-faq__answer p:first-child{ margin-top: 0; }

.vs-faq__question{
  cursor:pointer;
  position:relative;
  padding-right:48px;
}
.vs-faq__question::after{
  content:'+';
  position:absolute; right:20px; top:50%;
  transform:translateY(-50%);
  font-size:22px; line-height:1;
  color:var(--vs-primary);
  transition:transform .2s;
}
.vs-faq__item.is-open .vs-faq__answer{ max-height:1000px; } /* достаточно большое число */
.vs-faq__item.is-open .vs-faq__question::after{ content:'−'; transform:translateY(-50%) rotate(180deg); }

.vs-service-hero .vs-hero__content {
  max-width: 900px;
}
.vs-service-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 32px;
  align-items: start;
}
.vs-service-content {
  min-width: 0;
}
.vs-service-content h2 {
  margin: 34px 0 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--vs-primary);
  color: var(--vs-text);
}
.vs-service-content h2:first-child {
  margin-top: 0;
}
.vs-service-content h3,
.vs-service-content h4 {
  margin: 24px 0 12px;
  color: var(--vs-primary-dark);
}
.vs-service-content p,
.vs-service-content li {
  font-size: 17px;
  line-height: 1.75;
}
.vs-service-content p {
  margin: 0 0 16px;
}
.vs-service-content ul,
.vs-service-content ol {
  margin: 0 0 20px 24px;
}
.vs-service-content blockquote {
  margin: 24px 0;
  padding: 18px 20px;
  border-left: 4px solid var(--vs-primary);
  border-radius: 6px;
  background: var(--vs-bg-gray);
  color: var(--vs-text);
}
.vs-service-content table {
  width: 100%;
  margin: 24px 0;
  border-collapse: collapse;
  background: var(--vs-bg);
}
.vs-service-content th,
.vs-service-content td {
  padding: 12px 14px;
  border: 1px solid var(--vs-border);
  vertical-align: top;
}
.vs-service-content th {
  background: var(--vs-bg-gray);
  font-weight: 700;
}
.vs-service-aside {
  position: sticky;
  top: 20px;
}
.vs-service-card {
  margin-bottom: 18px;
  padding: 22px;
  border-radius: 8px;
  background: var(--vs-bg-gray);
  border: 1px solid var(--vs-border);
}
.vs-service-card h2 {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.3;
}
.vs-service-card p,
.vs-service-card li {
  color: var(--vs-text-light);
}
.vs-service-card ul {
  margin-left: 18px;
}
.vs-service-card--light {
  background: #eef8ff;
}
.vs-service-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.vs-service-links a {
  display: block;
  padding: 14px 16px;
  border: 1px solid var(--vs-border);
  border-radius: 8px;
  background: var(--vs-bg);
  font-weight: 700;
}
.vs-service-links a:hover {
  background: var(--vs-primary);
  border-color: var(--vs-primary);
  color: var(--vs-bg);
}
@media (max-width: 900px) {
  .vs-service-layout {
    grid-template-columns: 1fr;
  }
  .vs-service-aside {
    position: static;
  }
}


.vs-rating{display:flex;align-items:center;gap:10px}
.vs-rating__stars{display:inline-flex;gap:6px;line-height:1}
.vs-star{position:relative;display:inline-block;width:24px;height:24px}
.vs-star__bg,
.vs-star__fg{
  position:absolute;left:0;top:0;height:100%;overflow:hidden;
  font-size:24px;line-height:24px;font-weight:700;
}
.vs-star__bg{color:#e5e7eb;}       /* пустая часть звезды */
.vs-star__fg{color:#f5a524;width:0} /* заполняемая часть */
.vs-rating__meta{display:flex;align-items:center;gap:6px}
.vs-rating__value{font-weight:700}
.vs-rating__count{color:#666}
