/* Fix scrolling - only HTML should be scrollable */
html {
overflow-x: hidden !important;
overflow-y: auto !important;
scroll-behavior: smooth;
}

body {
overflow: visible !important;
}

/* Унифицированные иконки слева от текста (панели/флаги) */


/* Флаги стран (World VDS) рядом с названием */
.flag-icon {
width: 24px;
height: 16px; /* соотношение 3:2 для флагов */
object-fit: cover; /* без искажений, заполнение */
display: inline-block;
vertical-align: middle;
margin-right: 8px;
border-radius: 2px; /* легкое скругление для флагов */
box-shadow: 0 0 0 1px rgba(0,0,0,.06); /* тонкий обвод для четкости */
}

/* Универсальный хелпер, если нужно обернуть текст и иконку */
.icon-inline {
display: inline-flex;
align-items: center;
gap: 8px;
}

/* На маленьких экранах оставляем тот же размер — читаемость выше */
@media (min-width: 1200px) {
/* при желании можно чуть увеличить на очень широких экранах */
/* .table td img.panel-logo { width: 26px; height: 26px; }
.flag-icon { width: 26px; height: 18px; } */
}

/* Fix home-area double scrollbar issue */
.home-area {
  min-height: 700px !important;
  height: auto !important;
  overflow: visible !important;
}

.home-area .d-table {
  height: auto !important;
  display: block !important;
  overflow: visible !important;
}

.home-area .d-table-cell {
  height: auto !important;
  display: block !important;
  overflow: visible !important;
}

/* Ensure preloader doesn't create scroll context */
.preloader {
  position: fixed !important;
  overflow: hidden !important;
}

.preloader .d-table {
  height: 100vh !important;
}

/* Mobile optimization for jobs table (up to 320px) */
@media (max-width: 320px) {
  #jobs .table {
    table-layout: fixed !important;
    width: 100% !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    margin-bottom: 1rem !important;
  }
  
  #jobs .table th,
  #jobs .table td {
    padding: 6px 4px !important;
    vertical-align: top !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    border-bottom: 1px solid #dee2e6 !important;
  }
  
  #jobs .table th:nth-child(1),
  #jobs .table td:nth-child(1) {
    width: 20% !important;
  }
  
  #jobs .table th:nth-child(2),
  #jobs .table td:nth-child(2) {
    width: 35% !important;
  }
  
  #jobs .table th:nth-child(3),
  #jobs .table td:nth-child(3) {
    width: 30% !important;
  }
  
  #jobs .table th:nth-child(4),
  #jobs .table td:nth-child(4) {
    width: 15% !important;
  }
  
  #jobs .table thead th {
    font-size: 11px !important;
    font-weight: bold !important;
    text-align: center !important;
    background-color: #f8f9fa !important;
  }
  
  /* Convert to card layout for better mobile UX */
  #jobs .table,
  #jobs .table thead,
  #jobs .table tbody,
  #jobs .table th,
  #jobs .table td,
  #jobs .table tr {
    display: block !important;
  }
  
  #jobs .table thead tr {
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
  }
  
  #jobs .table tr {
    border: 1px solid #dee2e6 !important;
    margin-bottom: 15px !important;
    padding: 10px !important;
    border-radius: 5px !important;
  }
  
  #jobs .table td {
    border: none !important;
    position: relative !important;
    padding-left: 40% !important;
    padding-right: 10px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  
  #jobs .table td:before {
    content: attr(data-label) !important;
    position: absolute !important;
    left: 10px !important;
    width: 35% !important;
    padding-right: 10px !important;
    white-space: nowrap !important;
    font-weight: bold !important;
    color: #495057 !important;
  }
}

/* Additional mobile optimization for screens 321px to 480px */
@media (min-width: 321px) and (max-width: 480px) {
  #jobs .table {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  
  #jobs .table th,
  #jobs .table td {
    padding: 8px 5px !important;
    vertical-align: top !important;
  }
}

/* Стили для блоков контактной информации */
.contact-info-item {
    background: #fff;
    padding: 30px 25px;
    border-radius: 8px;
    border-bottom: 3px solid #5e87eb;
    -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08), 0 8px 25px rgba(0, 0, 0, 0.06);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08), 0 8px 25px rgba(0, 0, 0, 0.06);
    margin-bottom: 30px;
    transition: all 0.3s ease;
}

.contact-info-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 12px 35px rgba(0, 0, 0, 0.08);
}

.contact-info-content h4 {
    font-weight: 600;
    font-size: 20px;
    color: #333;
    margin-bottom: 20px;
    text-transform: capitalize;
}

.contact-info-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.contact-info-content ul li {
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start;
    color: #555;
    font-size: 15px;
    line-height: 1.6;
}

.contact-info-content ul li:last-child {
    margin-bottom: 0;
}

.contact-info-content ul li i {
    color: #5e87eb;
    margin-right: 10px;
    margin-top: 2px;
    min-width: 18px;
    text-align: center;
}

.contact-info-content ul li a {
    color: #5e87eb;
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-info-content ul li a:hover {
    color: #3e57d0;
    text-decoration: underline;
}

GPT-5

:     ,    HTML    .    CSS-,   :   ,    .



/*      /
#panels-prices td:first-child {
position: relative !important;
padding-left: 36px !important; / 24px  + 12px  */
vertical-align: middle !important;
}
#panels-prices td:first-child img {
position: absolute !important;
left: 8px !important;
top: 50% !important;
transform: translateY(-50%) !important;
width: 24px !important;
height: 24px !important;
object-fit: contain !important;
margin: 0 !important;
}
