
/* SHG v2.0 live SEO pages */
.shg-live-panel{background:#fff;border:1px solid #e5eaf2;border-radius:24px;padding:24px;box-shadow:0 18px 50px rgba(20,33,61,.10)}
.shg-live-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.shg-live-head h2{margin:0}.shg-live-note{color:#5f6c7b;margin:4px 0 0}.shg-live-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.shg-live-stat{background:#f8fbff;border:1px solid #e5eaf2;border-radius:18px;padding:16px}.shg-live-stat strong{display:block;font-size:28px;line-height:1.05;color:#14213d}.shg-live-stat span{display:block;margin-top:5px;color:#5f6c7b;font-weight:800;font-size:13px}.shg-filter-box{display:grid;grid-template-columns:1.2fr 1fr 1fr .9fr;gap:12px;margin:16px 0 20px}.shg-filter-box input,.shg-filter-box select{width:100%;border:1px solid #d7e3ff;border-radius:14px;padding:13px 14px;font:inherit;background:#fff;outline:none}.shg-filter-box input:focus,.shg-filter-box select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.14)}.shg-live-vacancies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.shg-live-card{background:#fff;border:1px solid #e5eaf2;border-radius:20px;padding:18px;text-decoration:none;color:#14213d;box-shadow:0 10px 26px rgba(20,33,61,.06);display:block}.shg-live-card:hover{border-color:#9db9ff;transform:translateY(-1px)}.shg-live-card-top{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap}.shg-live-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eafbf2;color:#14924a;border:1px solid #cdefd8;font-size:12px;font-weight:900}.shg-live-time{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;font-size:12px;font-weight:900}.shg-live-card h3{margin:0 0 8px;font-size:20px}.shg-live-card p{margin:7px 0;color:#5f6c7b;font-weight:700}.shg-live-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.shg-live-tags span{padding:5px 9px;border-radius:999px;background:#eef4ff;color:#1d4ed8;font-size:12px;font-weight:900}.shg-empty{padding:18px;border-radius:18px;background:#f8fbff;color:#5f6c7b;border:1px dashed #d7e3ff}.shg-related-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.shg-related-links a{display:inline-flex;padding:9px 12px;border-radius:999px;background:#eef4ff;color:#1d4ed8;font-weight:800;text-decoration:none;border:1px solid #d7e3ff}.shg-mini-search-result{display:grid;gap:12px;margin-top:16px}.shg-mini-result{display:block;background:#fff;border:1px solid #e5eaf2;border-radius:18px;padding:16px;text-decoration:none;color:#14213d}.shg-mini-result small{display:block;color:#5f6c7b;margin-top:4px}@media(max-width:920px){.shg-live-grid,.shg-live-vacancies{grid-template-columns:1fr}.shg-filter-box{grid-template-columns:1fr}}

/* SHG VIP live vacancy block */
.shg-vip-live-section{padding:34px 0 18px;background:linear-gradient(180deg,rgba(239,246,255,.0),rgba(219,234,254,.42))}
.shg-vip-live-panel{position:relative;overflow:hidden;border-radius:30px;padding:28px;background:radial-gradient(circle at top left,rgba(37,99,235,.20),transparent 34%),linear-gradient(135deg,#0f172a,#1e3a8a 52%,#2563eb);box-shadow:0 28px 80px rgba(20,33,61,.22);color:#fff;border:1px solid rgba(255,255,255,.20)}
.shg-vip-live-panel:before{content:"";position:absolute;inset:-80px auto auto -80px;width:190px;height:190px;background:rgba(255,255,255,.12);border-radius:999px;filter:blur(2px)}
.shg-vip-live-head{position:relative;z-index:1;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:20px}.shg-vip-live-head h2{margin:4px 0 6px;font-size:clamp(28px,4vw,46px);line-height:1.08}.shg-vip-live-head p{margin:0;color:rgba(255,255,255,.78);font-weight:700}.shg-vip-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.shg-vip-status{display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border-radius:999px;background:rgba(22,163,74,.18);border:1px solid rgba(134,239,172,.45);font-weight:900;font-size:13px;white-space:nowrap}.shg-vip-status span{width:10px;height:10px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.75);animation:shgVipPulse 1.6s infinite}@keyframes shgVipPulse{70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.shg-vip-live-card{position:relative;z-index:1;background:rgba(255,255,255,.96);color:#14213d;border-radius:26px;padding:24px;box-shadow:0 18px 55px rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.65);transition:opacity .25s ease,transform .25s ease}.shg-vip-live-card.is-switching{opacity:.25;transform:translateY(6px)}.shg-vip-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.shg-vip-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:#eef4ff;color:#1d4ed8;font-size:12px;font-weight:950}.shg-vip-time{display:inline-flex;padding:7px 11px;border-radius:999px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;font-size:12px;font-weight:950}.shg-vip-live-card h3{margin:0 0 12px;font-size:clamp(24px,3vw,36px);line-height:1.12}.shg-vip-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.shg-vip-meta div{background:#f8fbff;border:1px solid #e5eaf2;border-radius:16px;padding:12px 14px;font-weight:900;color:#14213d}.shg-vip-preview{margin:14px 0 0;color:#445166;font-weight:700;font-size:16px;white-space:pre-line}.shg-vip-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.shg-vip-actions .btn{border:0;cursor:pointer}.shg-vip-actions .shg-vip-read{background:#eef4ff;color:#1d4ed8}.shg-vip-actions .shg-vip-contact{background:#2563eb;color:#fff}.shg-vip-actions .shg-vip-disabled{background:#f1f5f9;color:#64748b;pointer-events:none}.shg-vip-live-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:16px}.shg-vip-nav{width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.14);color:#fff;font-size:22px;font-weight:900;cursor:pointer}.shg-vip-nav:hover{background:rgba(255,255,255,.24)}.shg-vip-dots{display:flex;gap:7px;align-items:center}.shg-vip-dots button{width:10px;height:10px;padding:0;border-radius:999px;border:0;background:rgba(255,255,255,.45);cursor:pointer}.shg-vip-dots button.is-active{width:28px;background:#fff}.shg-vip-timer{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);font-weight:900;font-size:13px}.shg-vip-skeleton{padding:28px;text-align:center;color:#5f6c7b;font-weight:900}.shg-vip-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.68);backdrop-filter:blur(8px)}.shg-vip-modal.is-open{display:flex}.shg-vip-modal-box{width:min(760px,100%);max-height:min(86vh,820px);overflow:auto;background:#fff;border-radius:24px;box-shadow:0 28px 90px rgba(0,0,0,.35);border:1px solid #e5eaf2;color:#14213d}.shg-vip-modal-head{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid #e5eaf2;z-index:1}.shg-vip-modal-head h3{margin:4px 0 0;font-size:24px;line-height:1.15}.shg-vip-close{width:42px;height:42px;border-radius:999px;border:1px solid #e5eaf2;background:#f8fbff;cursor:pointer;font-size:22px;font-weight:900;color:#14213d}.shg-vip-modal-body{padding:22px}.shg-vip-fulltext{white-space:pre-wrap;font-size:16px;line-height:1.65;color:#1f2937;font-weight:650}.shg-vip-contact-list{display:grid;gap:10px;margin-top:18px}.shg-vip-contact-list a{display:flex;justify-content:space-between;gap:10px;padding:13px 14px;border-radius:14px;background:#eef4ff;color:#1d4ed8;font-weight:900;border:1px solid #d7e3ff;text-decoration:none}.shg-vip-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.shg-vip-modal-actions .btn{border:0}.body-lock{overflow:hidden}@media(max-width:760px){.shg-vip-live-panel{padding:20px;border-radius:24px}.shg-vip-live-card{padding:18px;border-radius:20px}.shg-vip-meta{grid-template-columns:1fr}.shg-vip-actions .btn{width:100%;justify-content:center}.shg-vip-timer{width:100%;text-align:center}.shg-vip-modal{padding:10px}.shg-vip-modal-head{padding:16px}.shg-vip-modal-body{padding:16px}}

/* SHG VIP telegram side card */
.shg-vip-card-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:stretch}
.shg-vip-main{min-width:0}
.shg-vip-telegram-box{display:flex;flex-direction:column;justify-content:center;gap:8px;border-radius:22px;padding:18px;background:linear-gradient(180deg,#eff6ff,#ffffff);border:1px solid #dbeafe;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);color:#14213d}
.shg-vip-telegram-icon{width:46px;height:46px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#e0f2fe;font-size:24px;margin-bottom:2px}
.shg-vip-telegram-box h4{margin:0 0 4px;font-size:18px;line-height:1.2;color:#14213d}
.shg-vip-telegram-box p{margin:0;color:#445166;font-weight:800;font-size:14px;line-height:1.35}
.shg-vip-telegram-btn{margin-top:8px;background:#2563eb;color:#fff;border:0;text-align:center;justify-content:center;white-space:normal}
.shg-vip-telegram-btn:hover{background:#1d4ed8;color:#fff}
@media(max-width:920px){.shg-vip-card-grid{grid-template-columns:1fr}.shg-vip-telegram-box{padding:16px}}


/* SHG V4 SEO / Core Web Vitals polish */
img{max-width:100%;height:auto}
.content-visibility-auto{content-visibility:auto;contain-intrinsic-size:1px 700px}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
.back-to-top{will-change:transform}
.floating-cta{will-change:transform,width}
@media(max-width:860px){.floating-cta{bottom:96px!important}.back-to-top{bottom:18px!important}}

.shg-anchor{display:block;position:relative;top:-96px;visibility:hidden;}


/* SHG final safety fixes */
.shg-global-floating{position:fixed;right:18px;bottom:104px;z-index:9999;display:flex;flex-direction:column;gap:10px;align-items:flex-end;font-family:Inter,Arial,sans-serif}
.shg-global-floating a{width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-weight:900;box-shadow:0 16px 34px rgba(15,35,70,.24);border:1px solid rgba(255,255,255,.45);transition:transform .18s ease, box-shadow .18s ease}
.shg-global-floating a:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(15,35,70,.30)}
.shg-global-floating .shg-float-telegram{background:#2563eb;font-size:25px}
.shg-global-floating .shg-float-viber{background:#7360f2;font-size:24px}
.shg-global-floating .shg-float-label{position:absolute;right:66px;white-space:nowrap;background:#fff;color:#0f172a;border:1px solid #e5eaf2;border-radius:999px;padding:7px 11px;font-size:13px;box-shadow:0 10px 24px rgba(15,35,70,.18);opacity:0;pointer-events:none;transform:translateX(6px);transition:opacity .18s ease,transform .18s ease}
.shg-global-floating a:hover .shg-float-label,.shg-global-floating a:focus-visible .shg-float-label{opacity:1;transform:translateX(0)}
.shg-form-error{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.14)!important;background:#fff7f7!important}
.shg-field-error-msg{display:block;margin-top:5px;color:#b91c1c;font-size:13px;font-weight:800}
@media(max-width:860px){.shg-global-floating{right:14px;bottom:82px}.shg-global-floating a{width:50px;height:50px}.shg-global-floating .shg-float-label{display:none}}

/* VIP photo/video from Google Sheets column "Фото" */
.shg-vip-card-grid.is-with-media{grid-template-columns:minmax(0,1fr) minmax(260px,360px) 260px;align-items:stretch}
.shg-vip-media{min-height:260px;border-radius:22px;overflow:hidden;background:#eef4ff;border:1px solid #dbeafe;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.shg-vip-media img,.shg-vip-media video{width:100%;height:100%;min-height:260px;display:block;object-fit:contain}
@media(max-width:1180px){.shg-vip-card-grid.is-with-media{grid-template-columns:minmax(0,1fr) 260px}.shg-vip-card-grid.is-with-media .shg-vip-telegram-box{grid-column:1 / -1}}
@media(max-width:920px){.shg-vip-card-grid.is-with-media{grid-template-columns:1fr}.shg-vip-media{min-height:220px}.shg-vip-media img,.shg-vip-media video{min-height:220px}}

/* === VIP card readability/layout polish: text is distributed neatly when media exists === */
.shg-vip-live-card{
  padding:26px;
}
.shg-vip-card-grid{
  align-items:stretch;
}
.shg-vip-card-grid.is-with-media{
  grid-template-columns:minmax(480px,1fr) minmax(300px,360px) 260px;
  gap:22px;
}
.shg-vip-main{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.shg-vip-card-top{
  margin-bottom:16px;
}
.shg-vip-live-card h3{
  margin:0 0 16px;
  font-size:clamp(28px,2.45vw,40px);
  line-height:1.08;
  letter-spacing:-.025em;
  overflow-wrap:anywhere;
}
.shg-vip-meta{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 16px;
}
.shg-vip-meta div{
  min-height:74px;
  display:flex;
  align-items:flex-start;
  padding:14px 16px;
  font-size:18px;
  line-height:1.35;
  border-radius:18px;
}
.shg-vip-preview{
  margin:0;
  padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #e5eaf2;
  color:#30415f;
  font-size:16px;
  line-height:1.55;
  font-weight:800;
  max-height:190px;
  overflow:auto;
  scrollbar-width:thin;
}
.shg-vip-preview:empty{
  display:none;
}
.shg-live-tags{
  margin-top:14px;
}
.shg-vip-actions{
  margin-top:auto;
  padding-top:18px;
  display:grid;
  grid-template-columns:minmax(180px,.75fr) minmax(260px,1.25fr);
  gap:12px;
}
.shg-vip-actions .btn{
  min-height:56px;
  border-radius:14px;
  font-size:20px;
  font-weight:950;
  justify-content:center;
  text-align:center;
  padding:13px 18px;
}
.shg-vip-media{
  min-height:100%;
  height:100%;
  border-radius:22px;
  align-self:stretch;
  background:#eaf2ff;
}
.shg-vip-media img,
.shg-vip-media video{
  height:100%;
  min-height:360px;
  max-height:540px;
  object-fit:contain;
}
.shg-vip-telegram-box{
  min-height:100%;
}

@media(max-width:1260px){
  .shg-vip-card-grid.is-with-media{
    grid-template-columns:minmax(0,1fr) minmax(280px,340px);
  }
  .shg-vip-card-grid.is-with-media .shg-vip-telegram-box{
    grid-column:1 / -1;
    min-height:auto;
  }
}
@media(max-width:920px){
  .shg-vip-card-grid.is-with-media{
    grid-template-columns:1fr;
  }
  .shg-vip-meta{
    grid-template-columns:1fr;
  }
  .shg-vip-actions{
    grid-template-columns:1fr;
  }
  .shg-vip-media img,
  .shg-vip-media video{
    min-height:240px;
    max-height:none;
  }
}

/* === VIP final balanced layout: text + buttons aligned with photo === */
.shg-vip-live-card{
  padding:24px!important;
}
.shg-vip-card-grid.is-with-media{
  grid-template-columns:minmax(500px,1fr) minmax(300px,360px) 260px!important;
  gap:20px!important;
  align-items:stretch!important;
}
.shg-vip-main{
  height:100%!important;
  min-height:100%!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
}
.shg-vip-card-top{
  margin-bottom:14px!important;
}
.shg-vip-live-card h3{
  margin:0 0 14px!important;
  line-height:1.08!important;
  letter-spacing:-.02em!important;
}
.shg-vip-meta{
  margin:0 0 16px!important;
  gap:10px!important;
}
.shg-vip-meta div{
  min-height:76px!important;
  display:flex!important;
  align-items:flex-start!important;
  padding:14px 16px!important;
  line-height:1.35!important;
}
.shg-vip-preview{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  color:#30415f!important;
  font-size:16px!important;
  line-height:1.6!important;
  font-weight:800!important;
  white-space:pre-line!important;
  max-height:180px!important;
  overflow:auto!important;
  scrollbar-width:thin!important;
}
.shg-vip-preview:empty{
  display:none!important;
}
.shg-live-tags{
  margin-top:14px!important;
}
.shg-vip-actions{
  margin-top:auto!important;
  padding-top:18px!important;
  display:grid!important;
  grid-template-columns:minmax(200px,.8fr) minmax(320px,1.2fr)!important;
  gap:12px!important;
  align-items:end!important;
}
.shg-vip-actions .btn{
  width:100%!important;
  min-height:58px!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:14px 18px!important;
  font-size:20px!important;
  line-height:1.15!important;
  font-weight:950!important;
}
.shg-vip-media{
  height:100%!important;
  min-height:100%!important;
  align-self:stretch!important;
  border-radius:20px!important;
}
.shg-vip-media img,
.shg-vip-media video{
  height:100%!important;
  min-height:430px!important;
  max-height:540px!important;
  object-fit:contain!important;
}
.shg-vip-telegram-box{
  height:100%!important;
  min-height:100%!important;
  align-self:stretch!important;
  justify-content:flex-start!important;
  padding:22px 18px!important;
}
.shg-vip-telegram-icon{
  margin-top:auto!important;
}
.shg-vip-telegram-btn{
  margin-top:18px!important;
  min-height:86px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border-radius:12px!important;
  font-size:21px!important;
  line-height:1.25!important;
}

@media(max-width:1260px){
  .shg-vip-card-grid.is-with-media{
    grid-template-columns:minmax(0,1fr) minmax(280px,340px)!important;
  }
  .shg-vip-card-grid.is-with-media .shg-vip-telegram-box{
    grid-column:1 / -1!important;
    height:auto!important;
    min-height:auto!important;
  }
  .shg-vip-telegram-icon{margin-top:0!important;}
}
@media(max-width:920px){
  .shg-vip-card-grid.is-with-media{
    grid-template-columns:1fr!important;
  }
  .shg-vip-meta{
    grid-template-columns:1fr!important;
  }
  .shg-vip-actions{
    grid-template-columns:1fr!important;
  }
  .shg-vip-media img,
  .shg-vip-media video{
    min-height:260px!important;
    max-height:none!important;
  }
}

/* === SHG VIP premium card redesign: keeps existing API, popup, rotation and buttons === */
.shg-vip-live-panel{
  border-radius:32px!important;
  padding:28px!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(59,130,246,.34),transparent 34%),
    linear-gradient(135deg,#0f2460 0%,#17367d 46%,#2563eb 100%)!important;
}
.shg-vip-live-head{margin-bottom:22px!important;}
.shg-vip-live-card{
  padding:0!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#f8fafc!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 24px 70px rgba(15,23,42,.24)!important;
}
.shg-vip-card-grid.shg-vip-premium,
.shg-vip-card-grid.shg-vip-premium.is-with-media{
  display:grid!important;
  grid-template-columns:minmax(430px,1fr) minmax(300px,358px) 260px!important;
  gap:0!important;
  align-items:stretch!important;
  min-height:440px!important;
}
.shg-vip-premium .shg-vip-main{
  padding:26px 26px 24px!important;
  background:#f8fafc!important;
}
.shg-vip-premium .shg-vip-card-top{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:12px!important;
  margin-bottom:18px!important;
}
.shg-vip-premium .shg-vip-badge,
.shg-vip-premium .shg-vip-time{
  min-height:31px!important;
  align-items:center!important;
  font-size:13px!important;
  border-radius:999px!important;
}
.shg-vip-premium h3{
  margin:0 0 12px!important;
  color:#061a3d!important;
  font-size:clamp(30px,2.6vw,42px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}
.shg-vip-salary-line{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 18px!important;
  padding:11px 15px!important;
  border-radius:18px!important;
  background:#ecfdf5!important;
  border:1px solid #bbf7d0!important;
  color:#065f46!important;
  font-weight:950!important;
  font-size:22px!important;
  line-height:1.15!important;
}
.shg-vip-salary-line span{font-size:24px!important;}
.shg-vip-premium .shg-vip-meta{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0 0 16px!important;
}
.shg-vip-premium .shg-vip-meta div{
  min-height:74px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  padding:13px 15px!important;
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  box-shadow:0 10px 24px rgba(15,23,42,.04)!important;
  font-size:17px!important;
}
.shg-vip-premium .shg-vip-meta small{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.shg-vip-premium .shg-vip-meta b{
  color:#0f172a!important;
  font-size:18px!important;
  line-height:1.25!important;
}
.shg-vip-premium .shg-vip-preview{
  max-height:150px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  color:#334155!important;
  font-size:16px!important;
  line-height:1.55!important;
  font-weight:800!important;
}
.shg-vip-premium .shg-live-tags span{
  background:#eef4ff!important;
  border:1px solid #dbeafe!important;
  color:#1d4ed8!important;
  border-radius:999px!important;
  font-weight:950!important;
}
.shg-vip-premium .shg-vip-actions{
  display:grid!important;
  grid-template-columns:minmax(170px,.8fr) minmax(260px,1.2fr)!important;
  gap:12px!important;
  margin-top:auto!important;
  padding-top:20px!important;
}
.shg-vip-premium .shg-vip-actions .btn{
  min-height:60px!important;
  border-radius:16px!important;
  font-size:19px!important;
  box-shadow:none!important;
}
.shg-vip-premium .shg-vip-read{
  background:#eef4ff!important;
  color:#1d4ed8!important;
}
.shg-vip-premium .shg-vip-contact{
  background:#2563eb!important;
  color:#fff!important;
}
.shg-vip-premium .shg-vip-media{
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  min-height:440px!important;
  height:100%!important;
  background:#e2e8f0!important;
  position:relative!important;
}
.shg-vip-premium .shg-vip-media:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:38%;
  background:linear-gradient(180deg,rgba(15,23,42,0),rgba(15,23,42,.36));
  pointer-events:none;
}
.shg-vip-premium .shg-vip-media img,
.shg-vip-premium .shg-vip-media video{
  min-height:440px!important;
  max-height:none!important;
  height:100%!important;
  width:100%!important;
  object-fit:contain!important;
}
.shg-vip-premium .shg-vip-telegram-box{
  border:0!important;
  border-left:1px solid #dbeafe!important;
  border-radius:0!important;
  padding:28px 18px!important;
  background:linear-gradient(180deg,#eff6ff,#fff)!important;
  justify-content:center!important;
  align-items:flex-start!important;
}
.shg-vip-premium .shg-vip-telegram-icon{
  margin:0 0 6px!important;
}
.shg-vip-premium .shg-vip-telegram-btn{
  width:100%!important;
  min-height:86px!important;
  margin-top:16px!important;
  font-size:20px!important;
  border-radius:14px!important;
}
@media(max-width:1260px){
  .shg-vip-card-grid.shg-vip-premium.is-with-media{
    grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;
  }
  .shg-vip-premium .shg-vip-telegram-box{
    grid-column:1 / -1!important;
    border-left:0!important;
    border-top:1px solid #dbeafe!important;
    min-height:auto!important;
  }
}
@media(max-width:920px){
  .shg-vip-live-panel{padding:18px!important;border-radius:24px!important;}
  .shg-vip-card-grid.shg-vip-premium,
  .shg-vip-card-grid.shg-vip-premium.is-with-media{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .shg-vip-premium .shg-vip-main{padding:20px!important;}
  .shg-vip-premium .shg-vip-meta{grid-template-columns:1fr!important;}
  .shg-vip-premium .shg-vip-actions{grid-template-columns:1fr!important;}
  .shg-vip-premium .shg-vip-media,
  .shg-vip-premium .shg-vip-media img,
  .shg-vip-premium .shg-vip-media video{
    min-height:260px!important;
  }
  .shg-vip-premium h3{font-size:30px!important;}
}

.shg-vip-media{display:flex;align-items:center;justify-content:center;background:#f5f5f5;overflow:hidden}.shg-vip-media img,.shg-vip-media video{width:100%;height:100%;object-fit:contain;object-position:center;}


/* === SHG final mobile media fix: media visible, direct file fallbacks, 30 sec rotation supported === */
.shg-vip-media{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#eef2f7!important;
}
.shg-vip-media img,
.shg-vip-media video{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#eef2f7!important;
}
.shg-media-placeholder{
  width:100%;
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  color:#64748b;
  font-weight:900;
  text-align:center;
}
@media(max-width:920px){
  .shg-vip-live-section{padding-top:20px!important;}
  .shg-vip-live-panel{overflow:visible!important;}
  .shg-vip-card-grid.shg-vip-premium,
  .shg-vip-card-grid.shg-vip-premium.is-with-media{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
  }
  .shg-vip-premium .shg-vip-media{
    order:-1!important;
    width:100%!important;
    min-height:320px!important;
    height:auto!important;
    aspect-ratio:4/5!important;
    border-radius:26px 26px 0 0!important;
    background:#eef2f7!important;
  }
  .shg-vip-premium .shg-vip-media:after{display:none!important;}
  .shg-vip-premium .shg-vip-media img,
  .shg-vip-premium .shg-vip-media video{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .shg-vip-premium .shg-vip-main{order:1!important;}
  .shg-vip-premium .shg-vip-telegram-box{order:2!important;}
}
@media(max-width:520px){
  .shg-vip-live-panel{padding:12px!important;border-radius:22px!important;}
  .shg-vip-live-card{border-radius:26px!important;}
  .shg-vip-premium .shg-vip-media{
    min-height:300px!important;
    aspect-ratio:3/4!important;
  }
}

/* === SHG REAL FIX: one media source for PC/mobile + visible mobile media === */
.shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-media{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef2f7!important;
  overflow:hidden!important;
}
.shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-media img,
.shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-media video{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#eef2f7!important;
}
@media(max-width:920px){
  .shg-vip-card-grid.shg-vip-premium.is-with-media{
    display:flex!important;
    flex-direction:column!important;
  }
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-media{
    order:-1!important;
    width:100%!important;
    min-height:300px!important;
    height:auto!important;
    aspect-ratio:3/4!important;
    border-radius:26px 26px 0 0!important;
  }
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-main{order:1!important;}
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-telegram-box{order:2!important;}
}

/* === SHG mobile text-only VIP fix ===
   Mobile version intentionally hides the media block and shows only text/card info.
   Desktop keeps the current media layout. */
@media (max-width: 920px){
  .shg-vip-card-grid.shg-vip-premium,
  .shg-vip-card-grid.shg-vip-premium.is-with-media{
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .shg-vip-card-grid.shg-vip-premium .shg-vip-media,
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-media,
  .shg-vip-card-grid.shg-vip-premium .shg-vip-video-wrap{
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }
  .shg-vip-main{
    order: 1 !important;
  }
  .shg-vip-telegram-box{
    order: 2 !important;
  }
}

.shg-live-card.is-archive{background:#f8fafc;border-style:dashed;opacity:.92}.shg-live-card.is-archive .shg-live-badge{background:#fff7ed;color:#c2410c;border-color:#fed7aa}


/* Release 2.3: короткий опис вакансії в картках каталогу */
.shg-live-preview{margin:10px 0 4px;color:#334155;font-size:14px;line-height:1.45;font-weight:650;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;background:#f8fbff;border:1px solid #e8efff;border-radius:14px;padding:10px 12px;}
.shg-live-card:hover .shg-live-preview{background:#f3f7ff;border-color:#d7e3ff;}
@media(max-width:680px){.shg-live-preview{font-size:13px;-webkit-line-clamp:4;padding:9px 10px;}}

/* Release 2.4 speed + clean cards */
.shg-live-vacancies:empty{min-height:180px;position:relative}.shg-live-vacancies:empty:before{content:'Завантажуємо актуальні вакансії...';display:block;padding:18px;border-radius:18px;background:#f8fbff;border:1px dashed #d7e3ff;color:#5f6c7b;font-weight:800}.shg-live-preview{font-size:15px!important;line-height:1.55!important;color:#334155!important}.shg-live-card{content-visibility:auto;contain-intrinsic-size:260px}.shg-live-card p{word-break:break-word}


/* Release 2.5: кнопка перехода в Telegram-группу в карточке вакансии */
.shg-live-group-btn{display:flex;align-items:center;justify-content:center;width:100%;margin-top:14px;padding:12px 14px;border-radius:14px;background:#2563eb;color:#fff;font-weight:900;text-align:center;box-shadow:0 10px 22px rgba(37,99,235,.22);transition:transform .18s ease,background .18s ease,box-shadow .18s ease;}
.shg-live-card:hover .shg-live-group-btn{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 14px 28px rgba(37,99,235,.28);}
.shg-live-card:focus-visible .shg-live-group-btn{outline:3px solid rgba(37,99,235,.25);outline-offset:2px;}
@media(max-width:680px){.shg-live-group-btn{padding:13px 14px;font-size:15px;border-radius:13px;}}


/* SHG Release 3.0 vacancy detail + cleaner cards */
.shg-live-card{display:flex!important;flex-direction:column;gap:0;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.shg-live-card:hover{box-shadow:0 14px 34px rgba(20,33,61,.10)}
.shg-live-card-link{display:block;text-decoration:none;color:inherit;flex:1;}
.shg-live-card-link h3{color:#14213d;}
.shg-live-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin-top:14px;align-items:center;}
.shg-live-details-btn,.shg-live-group-btn{display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:14px;font-weight:950;text-align:center;min-height:44px;padding:11px 12px;}
.shg-live-details-btn{background:#eef4ff;color:#1d4ed8;border:1px solid #d7e3ff;}
.shg-live-details-btn:hover{background:#e0ebff;}
.shg-live-group-btn{margin-top:0!important;color:#fff!important;}
.shg-vacancy-page{padding:52px 0;background:#f6f8fb;}
.shg-vacancy-detail-card{background:#fff;border:1px solid #e5eaf2;border-radius:28px;padding:28px;box-shadow:0 18px 50px rgba(20,33,61,.10);}
.shg-vacancy-detail-card h1{font-size:clamp(34px,4vw,56px);line-height:1.05;margin:12px 0 20px;color:#14213d;}
.shg-vacancy-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0;}
.shg-vacancy-meta div{background:#f8fbff;border:1px solid #e5eaf2;border-radius:18px;padding:16px;}
.shg-vacancy-meta small{display:block;color:#5f6c7b;font-weight:850;margin-bottom:6px;}
.shg-vacancy-meta strong{font-size:18px;color:#14213d;}
.shg-vacancy-text{white-space:pre-wrap;background:#fbfdff;border:1px solid #e8efff;border-radius:20px;padding:20px;color:#334155;font-size:17px;line-height:1.7;font-weight:650;}
.shg-vacancy-actions{max-width:560px;margin-top:22px;}
@media(max-width:760px){.shg-live-actions,.shg-vacancy-meta{grid-template-columns:1fr}.shg-vacancy-detail-card{padding:20px;border-radius:22px}.shg-vacancy-page{padding:32px 0}}

/* Release 3.6 — vacancy detail block order */
.shg-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.shg-section-head h2{margin:0}
.shg-section-head a{font-weight:800;color:#2563eb;text-decoration:none}
.shg-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.shg-mini-link{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e5eaf2;border-radius:16px;padding:14px 16px;color:#14213d;text-decoration:none;font-weight:800;box-shadow:0 10px 28px rgba(20,33,61,.06)}
.shg-mini-link:hover{border-color:#2563eb;transform:translateY(-1px)}
.shg-mini-link span{font-size:20px}
@media(max-width:780px){.shg-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shg-section-head{align-items:flex-start;flex-direction:column}}


/* SHG Release 4.0 Stable: final mobile + VIP safeguards */
.shg-api-loading-soft{opacity:.68;transition:opacity .2s ease}
.shg-vip-media-empty{display:none!important}
@media(max-width:920px){
  .shg-vip-live-section{padding-left:0!important;padding-right:0!important}
  .shg-vip-live-panel{overflow:hidden!important}
  .shg-vip-card-grid.shg-vip-premium,
  .shg-vip-card-grid.shg-vip-premium.is-with-media{grid-template-columns:1fr!important;display:grid!important}
  .shg-vip-premium .shg-vip-main{min-width:0!important}
  .shg-vip-premium .shg-vip-actions .btn{width:100%!important;min-height:48px!important}
  .shg-vip-premium h3{font-size:clamp(26px,8vw,34px)!important;line-height:1.12!important}
  .shg-vip-premium .shg-vip-preview{font-size:15px!important;line-height:1.55!important}
}
@media(max-width:640px){
  .shg-modern-trust .container{padding:20px 14px!important;border-radius:18px!important}
  .trust-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .trust-card{border:1px solid #dce5f4!important;border-radius:14px!important;background:#fff!important;padding:12px 10px!important}
  .trust-card strong{font-size:24px!important}
  .trust-card span{font-size:12px!important;line-height:1.35!important}
  .shg-live-actions{grid-template-columns:1fr!important}
}


/* Safe preview for 4 homepage vacancy cards */
.shg-vacancy-desc{
  margin:10px 0 4px;
  color:#42526b;
  font-size:14px;
  line-height:1.45;
  font-weight:650;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}


/* Vacancy request popup */
    .vacancy-modal-open { overflow: hidden; }

    .vacancy-direct.is-highlight { animation: shgContactPulse 1.2s ease-in-out 1; border-radius: 18px; }
    @keyframes shgContactPulse {
      0% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.35); }
      55% { box-shadow: 0 0 0 10px rgba(37, 99, 235, 0.10); }
      100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0); }
    }
    .vacancy-modal { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; padding: 18px; background: rgba(15, 23, 42, 0.72); backdrop-filter: blur(6px); }
    .vacancy-modal.is-open { display: flex; }
    .vacancy-dialog { width: min(760px, 100%); max-height: 92vh; overflow: auto; background: #fff; color: #172033; border-radius: 24px; box-shadow: 0 24px 80px rgba(0,0,0,.28); position: relative; }
    .vacancy-head { padding: 24px 24px 16px; border-bottom: 1px solid rgba(15, 23, 42, .08); }
    .vacancy-head h2 { margin: 0 42px 8px 0; font-size: clamp(24px, 4vw, 34px); line-height: 1.1; }
    .vacancy-head p { margin: 0; color: #64748b; line-height: 1.5; }
    .vacancy-close { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f1f5f9; color: #0f172a; font-size: 26px; line-height: 1; cursor: pointer; }
    .vacancy-body { padding: 20px 24px 24px; }
    .vacancy-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 18px; }
    .vacancy-tab { border: 1px solid rgba(15, 23, 42, .12); background: #f8fafc; color: #172033; border-radius: 14px; padding: 12px 10px; font-weight: 700; cursor: pointer; }
    .vacancy-tab.is-active { background: #0f172a; color: #fff; border-color: #0f172a; }
    .vacancy-panel { display: none; }
    .vacancy-panel.is-active { display: block; }
    .vacancy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .vacancy-field { display: flex; flex-direction: column; gap: 6px; }
    .vacancy-field.full { grid-column: 1 / -1; }
    .vacancy-field label { font-weight: 700; font-size: 14px; color: #334155; }
    .vacancy-field input, .vacancy-field select, .vacancy-field textarea { width: 100%; border: 1px solid rgba(15, 23, 42, .15); border-radius: 14px; padding: 13px 14px; font: inherit; color: #172033; background: #fff; outline: none; }
    .vacancy-field textarea { min-height: 120px; resize: vertical; }
    .vacancy-field input:focus, .vacancy-field select:focus, .vacancy-field textarea:focus { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, .14); }
    .vacancy-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
    .vacancy-submit { border: 0; border-radius: 999px; padding: 14px 22px; background: #2563eb; color: #fff; font-weight: 800; cursor: pointer; }
    .vacancy-submit:disabled { opacity: .65; cursor: wait; }
    .vacancy-note { font-size: 14px; color: #64748b; }
    .vacancy-status { margin-top: 14px; padding: 12px 14px; border-radius: 14px; display: none; font-weight: 700; }
    .vacancy-status.is-success { display: block; background: #ecfdf5; color: #047857; }
    .vacancy-status.is-error { display: block; background: #fef2f2; color: #b91c1c; }
    .vacancy-direct { margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(15, 23, 42, .08); }
    .vacancy-direct-title { font-weight: 800; margin-bottom: 10px; }
    .vacancy-direct-links { display: flex; gap: 10px; flex-wrap: wrap; }
    .vacancy-direct-links a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; padding: 11px 15px; background: #f1f5f9; color: #172033; text-decoration: none; font-weight: 800; }

    .contact-icon {
      width: 20px;
      height: 20px;
      flex: 0 0 auto;
      display: inline-block;
      vertical-align: middle;
    }
    .viber-icon { color: #7360f2; }
    .vacancy-direct-links a {
      min-width: 190px;
    }
    .footer-contact-links {
      display: grid;
      gap: 9px;
      margin-top: 10px;
    }
    .footer-contact-links a {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      color: #cbd5e1;
      text-decoration: none;
      font-weight: 700;
      transition: 0.2s ease;
    }
    .footer-contact-links a:hover { color: #fff; }
    .footer-contact-links .contact-icon { width: 18px; height: 18px; }

    .vacancy-honeypot { position: absolute; left: -9999px; opacity: 0; height: 0; width: 0; pointer-events: none; }
    @media (max-width: 640px) { .vacancy-dialog { border-radius: 18px; } .vacancy-head, .vacancy-body { padding-left: 16px; padding-right: 16px; } .vacancy-tabs { grid-template-columns: 1fr; } .vacancy-grid { grid-template-columns: 1fr; } .vacancy-actions { align-items: stretch; } .vacancy-submit { width: 100%; } }


/* Critical vacancy modal fix: keep popup hidden until JS opens it, including mobile */
.vacancy-modal:not(.is-open){display:none!important;}
.vacancy-modal.is-open{display:flex!important;}
.vacancy-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;align-items:center!important;justify-content:center!important;padding:18px!important;background:rgba(15,23,42,.72)!important;backdrop-filter:blur(6px);overflow:auto!important;}
.vacancy-dialog{width:min(760px,100%)!important;max-height:92vh!important;overflow:auto!important;background:#fff!important;color:#172033!important;border-radius:24px!important;box-shadow:0 24px 80px rgba(0,0,0,.28)!important;position:relative!important;margin:auto!important;}
html.vacancy-modal-open,body.vacancy-modal-open{overflow:hidden!important;}
@media(max-width:760px){.vacancy-modal{padding:10px!important;align-items:flex-start!important;}.vacancy-dialog{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;margin:10px auto!important;border-radius:20px!important;}.vacancy-tabs{grid-template-columns:1fr!important;}.vacancy-grid{grid-template-columns:1fr!important;}.vacancy-head{padding:18px 18px 14px!important;}.vacancy-body{padding:16px 18px 18px!important;}.vacancy-close{top:10px!important;right:10px!important;}}


/* === SHG VIP homepage final fix: desktop gaps + mobile media visibility === */
.shg-vip-card-grid.shg-vip-premium{
  grid-template-columns:minmax(0,1fr) 260px!important;
}
.shg-vip-card-grid.shg-vip-premium.is-with-media{
  grid-template-columns:minmax(430px,1fr) minmax(300px,358px) 260px!important;
}
.shg-vip-card-grid.shg-vip-premium:not(.is-with-media) .shg-vip-main{
  min-width:0!important;
}
@media(max-width:1260px){
  .shg-vip-card-grid.shg-vip-premium{
    grid-template-columns:minmax(0,1fr) 260px!important;
  }
  .shg-vip-card-grid.shg-vip-premium.is-with-media{
    grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;
  }
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-telegram-box{
    grid-column:1 / -1!important;
    border-left:0!important;
    border-top:1px solid #dbeafe!important;
  }
}
@media(max-width:920px){
  .shg-vip-card-grid.shg-vip-premium,
  .shg-vip-card-grid.shg-vip-premium.is-with-media{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-media,
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-video-wrap{
    display:flex!important;
    visibility:visible!important;
    order:-1!important;
    width:100%!important;
    height:auto!important;
    min-height:300px!important;
    max-height:none!important;
    aspect-ratio:3/4!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:26px 26px 0 0!important;
    overflow:hidden!important;
    background:#eef2f7!important;
  }
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-media img,
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-media video{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-media:after{display:none!important;}
  .shg-vip-premium .shg-vip-main{order:1!important;padding:20px!important;}
  .shg-vip-premium .shg-vip-telegram-box{order:2!important;}
}
@media(max-width:520px){
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-media,
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-video-wrap{
    min-height:280px!important;
  }
}

/* === SHG VIP requested fix: remove summary blocks, show more vacancy text inline === */
.shg-vip-card-grid.shg-vip-premium.shg-vip-text-expanded,
.shg-vip-card-grid.shg-vip-premium.shg-vip-text-expanded.is-with-media{
  grid-template-columns:minmax(520px,1fr) minmax(300px,360px) 260px!important;
}
.shg-vip-text-expanded .shg-vip-main{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.shg-vip-text-expanded .shg-vip-salary-line,
.shg-vip-text-expanded .shg-vip-meta,
.shg-vip-text-expanded .shg-live-tags,
.shg-vip-text-expanded .shg-vip-preview{
  display:none!important;
}
.shg-vip-text-expanded .shg-vip-card-top{margin-bottom:16px!important;}
.shg-vip-text-expanded h3{margin-bottom:14px!important;}
.shg-vip-full-inline{
  color:#0f274a!important;
  font-size:17px!important;
  line-height:1.42!important;
  font-weight:800!important;
  white-space:normal!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:13!important;
  max-height:calc(17px * 1.42 * 13)!important;
}
.shg-vip-text-expanded .shg-vip-actions{
  margin-top:auto!important;
  padding-top:18px!important;
}
@media(max-width:1260px){
  .shg-vip-card-grid.shg-vip-premium.shg-vip-text-expanded.is-with-media{
    grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;
  }
}
@media(max-width:920px){
  .shg-vip-card-grid.shg-vip-premium.shg-vip-text-expanded,
  .shg-vip-card-grid.shg-vip-premium.shg-vip-text-expanded.is-with-media{
    display:flex!important;
    flex-direction:column!important;
  }
  .shg-vip-full-inline{
    font-size:16px!important;
    line-height:1.45!important;
    -webkit-line-clamp:18!important;
    max-height:calc(16px * 1.45 * 18)!important;
  }
}


/* === SHG MOBILE DESKTOP PARITY FIX v45 ===
   Mobile must show the same homepage content as desktop: hero visual/card, VIP media, Telegram aside, stats and trust blocks.
   This block is intentionally appended at the end to override older mobile text-only rules safely. */
@media (max-width: 980px){
  .shg-modern-hero-grid,
  .shg-choice-grid,
  .shg-how-grid{
    grid-template-columns:1fr!important;
  }

  .shg-modern-hero-visual{
    display:flex!important;
    visibility:visible!important;
    min-height:0!important;
    margin-top:16px!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
  }

  .shg-modern-hero-visual img{
    display:block!important;
    visibility:visible!important;
    width:100%!important;
    max-width:520px!important;
    height:auto!important;
    object-fit:contain!important;
  }

  .shg-subscribe-card{
    display:block!important;
    visibility:visible!important;
    position:relative!important;
    right:auto!important;
    top:auto!important;
    width:100%!important;
    max-width:520px!important;
    margin:14px auto 0!important;
  }

  .shg-modern-benefits,
  .network-live-grid,
  .trust-grid{
    display:grid!important;
    visibility:visible!important;
    grid-template-columns:1fr!important;
  }

  .network-live-panel,
  .network-live-item,
  .trust-card{
    display:block!important;
    visibility:visible!important;
  }

  .shg-vip-card-grid.shg-vip-premium,
  .shg-vip-card-grid.shg-vip-premium.is-with-media,
  .shg-vip-card-grid.shg-vip-premium.shg-vip-text-expanded,
  .shg-vip-card-grid.shg-vip-premium.shg-vip-text-expanded.is-with-media{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }

  .shg-vip-card-grid.shg-vip-premium .shg-vip-media,
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-media,
  .shg-vip-card-grid.shg-vip-premium .shg-vip-video-wrap,
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-video-wrap{
    display:flex!important;
    visibility:visible!important;
    order:-1!important;
    width:100%!important;
    height:auto!important;
    min-height:280px!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:22px 22px 0 0!important;
    overflow:hidden!important;
    background:#eef2f7!important;
  }

  .shg-vip-card-grid.shg-vip-premium .shg-vip-media img,
  .shg-vip-card-grid.shg-vip-premium .shg-vip-media video{
    display:block!important;
    visibility:visible!important;
    width:100%!important;
    height:100%!important;
    min-height:280px!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
  }

  .shg-vip-premium .shg-vip-main{
    order:1!important;
    padding:18px!important;
  }

  .shg-vip-premium .shg-vip-telegram-box{
    display:flex!important;
    visibility:visible!important;
    order:2!important;
    grid-column:auto!important;
    border-left:0!important;
    border-top:1px solid #dbeafe!important;
    border-radius:0 0 22px 22px!important;
  }

  .shg-popular-vacancies-grid{
    display:grid!important;
    visibility:visible!important;
    grid-template-columns:1fr!important;
  }
}

@media (max-width: 520px){
  .shg-vip-card-grid.shg-vip-premium .shg-vip-media,
  .shg-vip-card-grid.shg-vip-premium.is-with-media .shg-vip-media,
  .shg-vip-card-grid.shg-vip-premium .shg-vip-video-wrap{
    min-height:260px!important;
  }

  .shg-vip-card-grid.shg-vip-premium .shg-vip-media img,
  .shg-vip-card-grid.shg-vip-premium .shg-vip-media video{
    min-height:260px!important;
  }
}


/* SHG mobile VIP swipe: touch gesture instead of arrows */
@media (max-width: 768px){
  [data-shg-vip-feed] .shg-vip-live-card,
  [data-shg-vip-feed] [data-shg-vip-card]{
    touch-action: pan-y;
    -webkit-user-select: none;
    user-select: none;
  }
  [data-shg-vip-feed] .shg-vip-nav{
    display:none !important;
  }
  [data-shg-vip-feed] .shg-vip-live-bottom{
    gap:10px;
  }
}


/* SHG: постраничный вывод вакансий по 100 карточек */
.shg-load-more-wrap{
  display:flex;
  justify-content:center;
  padding:24px 0 4px;
}
.shg-load-more-btn{
  appearance:none;
  border:1px solid #1a56db;
  border-radius:14px;
  background:#1a56db;
  color:#fff;
  padding:14px 28px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(26,86,219,.18);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.shg-load-more-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(26,86,219,.24);
}
.shg-load-more-btn:focus-visible{
  outline:3px solid rgba(26,86,219,.28);
  outline-offset:3px;
}
.shg-load-more-btn[hidden]{
  display:none!important;
}
@media(max-width:640px){
  .shg-load-more-btn{
    width:100%;
    min-height:48px;
  }
}


/* SHG: Google Business и контакты в футере */
.footer-google-contacts{
  margin-top:22px;
  text-align:center;
}
.footer-google-contacts .footer-title{
  margin:0 0 12px;
}
.footer-contact-links{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-contact-links li{
  margin:0;
  padding:0;
}
.footer-contact-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:inherit;
  text-decoration:none;
  line-height:1.35;
  transition:color .18s ease, transform .18s ease;
}
.footer-contact-links a:hover{
  color:#76a9ff;
  transform:translateY(-1px);
}
.footer-contact-links a:focus-visible{
  outline:2px solid #76a9ff;
  outline-offset:4px;
  border-radius:4px;
}
.footer-google-contacts--compact{
  margin:0 0 24px;
}
.footer-google-contacts--compact .footer-contact-links{
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px 22px;
}
@media (max-width:760px){
  .footer-google-contacts{
    margin-top:20px;
  }
  .footer-contact-links,
  .footer-google-contacts--compact .footer-contact-links{
    flex-direction:column;
    align-items:center;
    gap:12px;
  }
  .footer-contact-links a{
    min-height:36px;
    padding:3px 0;
  }
}


/* SHG footer contact links: reliable click/tap on desktop and mobile */
.site-footer .footer-email-link,
.site-footer a[href^="mailto:"],
.site-footer a[data-vacancy-open="1"]{
  position:relative!important;
  z-index:5!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  touch-action:manipulation;
}

/* ===== SHG unified global header (release49) ===== */
.shg-global-header{position:relative;z-index:1000;background:#fff;border-bottom:1px solid #e8edf5;box-shadow:0 8px 24px rgba(15,39,78,.06);font-family:Inter,Arial,sans-serif;color:#0c2148}
.shg-global-header *{box-sizing:border-box}
.shg-header-container{width:min(1180px,calc(100% - 32px));min-height:112px;margin:0 auto;display:flex;align-items:center;gap:14px}
.shg-header-logo{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}
.shg-header-logo img{display:block;width:108px;height:auto;max-height:74px;object-fit:contain}
.shg-header-search{flex:0 1 230px;min-width:155px}
.shg-header-search input,.shg-mobile-search input{width:100%;height:42px;border:1px solid #dbe4f2;border-radius:22px;background:#fff;padding:0 15px;font:500 14px/1.2 Inter,Arial,sans-serif;color:#152b50;outline:none;box-shadow:0 2px 8px rgba(12,33,72,.03)}
.shg-header-search input:focus,.shg-mobile-search input:focus{border-color:#2768f5;box-shadow:0 0 0 3px rgba(39,104,245,.12)}
.shg-nav-actions{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;white-space:nowrap}
.shg-lang-switcher{display:flex;align-items:center;padding:3px;border:1px solid #dbe4f2;border-radius:22px;background:#fff}
.shg-lang-switcher a{display:grid;place-items:center;min-width:37px;height:34px;padding:0 7px;border-radius:18px;color:#647083;text-decoration:none;font-weight:800;font-size:15px}
.shg-lang-switcher a.active{background:#2868f5;color:#fff}
.shg-header-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 12px;border:1px solid #d8e3f2;border-radius:12px;background:#fff;color:#10264b!important;text-decoration:none!important;font-weight:800;font-size:14px;line-height:1.1;box-shadow:0 2px 7px rgba(12,33,72,.04);transition:.18s ease}
.shg-header-btn:hover,.shg-header-btn:focus{border-color:#2868f5;transform:translateY(-1px);box-shadow:0 6px 15px rgba(39,104,245,.12)}
.shg-header-primary{background:#2868f5;color:#fff!important;border-color:#2868f5}
.shg-mobile-menu-toggle,.shg-mobile-search{display:none}
@media (max-width:1180px){.shg-header-container{width:min(100% - 24px,1180px)}.shg-header-btn{padding:8px 9px;font-size:13px}.shg-header-search{flex-basis:185px}.shg-header-logo img{width:96px}}
@media (max-width:980px){
 .shg-header-container{min-height:82px;position:relative;justify-content:space-between;gap:12px}
 .shg-header-logo img{width:92px;max-height:62px}.shg-header-search{display:none}
 .shg-mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8e3f2;border-radius:12px;background:#fff;color:#10264b;padding:10px 13px;font-weight:800;cursor:pointer}
 .shg-nav-actions{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;padding:14px;background:#fff;border:1px solid #e1e8f3;border-radius:0 0 16px 16px;box-shadow:0 16px 30px rgba(12,33,72,.14);flex-direction:column;align-items:stretch;white-space:normal}
 .shg-global-header.is-open .shg-nav-actions{display:flex}
 .shg-mobile-search{display:block}.shg-lang-switcher{align-self:flex-start}
 .shg-header-btn{width:100%;min-height:44px;justify-content:flex-start;padding:11px 14px;font-size:15px}
}


/* Home pages: align the unified header with the main content container */
.shg-home-header .shg-header-container{
  width:min(1450px,calc(100% - 32px));
  margin-inline:auto;
}
@media(max-width:1180px){
  .shg-home-header .shg-header-container{width:min(100% - 24px,1450px)}
}
@media(max-width:760px){
  .shg-home-header .shg-header-container{width:min(100% - 20px,1450px)}
}

/* Mobile navigation refinement — desktop styles remain unchanged */
@media (max-width:980px){
  .shg-global-header{position:relative;z-index:1000}
  .shg-header-container{min-height:76px}

  .shg-mobile-menu-toggle{
    position:relative;
    z-index:1003;
    flex:0 0 48px;
    width:48px;
    height:48px;
    padding:0;
    border:1px solid #dbe4f2;
    border-radius:14px;
    background:#fff;
    color:transparent;
    font-size:0;
    box-shadow:0 5px 16px rgba(16,38,75,.08);
    transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
  }
  .shg-mobile-menu-toggle:hover,
  .shg-mobile-menu-toggle:focus-visible{
    border-color:#2868f5;
    box-shadow:0 8px 22px rgba(39,104,245,.16);
    outline:none;
  }
  .shg-mobile-menu-toggle::before,
  .shg-mobile-menu-toggle::after{
    content:"";
    position:absolute;
    left:13px;
    width:22px;
    height:2px;
    border-radius:2px;
    background:#10264b;
    transition:top .22s ease,transform .22s ease,box-shadow .22s ease,background .22s ease;
  }
  .shg-mobile-menu-toggle::before{top:16px;box-shadow:0 7px 0 #10264b}
  .shg-mobile-menu-toggle::after{top:30px}

  .shg-global-header::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:1001;
    background:rgba(8,22,48,.46);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .24s ease,visibility .24s ease;
  }

  .shg-nav-actions{
    display:flex;
    position:fixed;
    top:0;
    right:0;
    left:auto;
    bottom:0;
    z-index:1002;
    width:min(88vw,390px);
    max-width:390px;
    height:100dvh;
    padding:92px 18px 24px;
    border:0;
    border-radius:24px 0 0 24px;
    background:#fff;
    box-shadow:-20px 0 50px rgba(8,22,48,.2);
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    overflow-y:auto;
    overscroll-behavior:contain;
    white-space:normal;
    transform:translateX(105%);
    visibility:hidden;
    pointer-events:none;
    transition:transform .28s cubic-bezier(.22,.75,.2,1),visibility .28s ease;
  }

  .shg-global-header.is-open::before{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .shg-global-header.is-open .shg-nav-actions{
    transform:translateX(0);
    visibility:visible;
    pointer-events:auto;
  }
  .shg-global-header.is-open .shg-mobile-menu-toggle{
    position:fixed;
    top:14px;
    right:14px;
    background:#10264b;
    border-color:#10264b;
    box-shadow:0 9px 24px rgba(8,22,48,.22);
  }
  .shg-global-header.is-open .shg-mobile-menu-toggle::before{
    top:23px;
    background:#fff;
    box-shadow:none;
    transform:rotate(45deg);
  }
  .shg-global-header.is-open .shg-mobile-menu-toggle::after{
    top:23px;
    background:#fff;
    transform:rotate(-45deg);
  }

  .shg-mobile-search{display:block;margin-bottom:4px}
  .shg-mobile-search input{height:48px;border-radius:14px;background:#f7f9fd;padding-inline:16px;font-size:15px}
  .shg-lang-switcher{align-self:stretch;justify-content:center;margin-bottom:4px;border-radius:14px;background:#f7f9fd}
  .shg-lang-switcher a{flex:1;height:38px}
  .shg-header-btn{
    width:100%;
    min-height:48px;
    justify-content:flex-start;
    padding:12px 15px;
    border-radius:14px;
    font-size:15px;
    box-shadow:none;
  }
  .shg-header-primary{justify-content:center;margin-top:4px;box-shadow:0 9px 20px rgba(39,104,245,.2)}
}

@media (max-width:420px){
  .shg-header-container{width:calc(100% - 20px);min-height:70px}
  .shg-header-logo img{width:84px;max-height:56px}
  .shg-mobile-menu-toggle{width:44px;height:44px;flex-basis:44px;border-radius:13px}
  .shg-mobile-menu-toggle::before,.shg-mobile-menu-toggle::after{left:11px}
  .shg-global-header.is-open .shg-mobile-menu-toggle{top:12px;right:12px}
  .shg-nav-actions{width:92vw;padding:82px 14px 20px;border-radius:20px 0 0 20px}
}

@media (prefers-reduced-motion:reduce){
  .shg-mobile-menu-toggle,
  .shg-mobile-menu-toggle::before,
  .shg-mobile-menu-toggle::after,
  .shg-global-header::before,
  .shg-nav-actions{transition:none!important}
}


/* Global mobile burger guarantee for every page */
@media (max-width:980px){
  .shg-global-header .shg-header-container{position:relative!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
  .shg-global-header .shg-header-logo{display:flex!important;flex:0 0 auto!important}
  .shg-global-header .shg-mobile-menu-toggle{display:inline-flex!important;margin-left:auto!important;order:99!important}
  .shg-global-header .shg-nav-actions{display:flex!important}
}
@media (min-width:981px){
  .shg-global-header .shg-mobile-menu-toggle{display:none!important}
}

/* =========================================================
   SHG GLOBAL MOBILE LAYOUT — mobile only, all site pages
   Desktop styles remain untouched.
   ========================================================= */
@media (max-width: 767px){
  html{overflow-x:hidden;-webkit-text-size-adjust:100%;scroll-padding-top:82px}
  body{overflow-x:hidden;min-width:0;font-size:16px;line-height:1.55;background:#fff}
  *,*::before,*::after{min-width:0}

  main{width:100%;overflow:hidden}
  main > section{padding:42px 0!important}
  main > section:first-child{padding-top:28px!important}
  main > section + section{border-top:1px solid rgba(226,232,240,.7)}

  .container,
  header .container.nav,
  .shg-header-container,
  .shg-modern-hero .container,
  .shg-modern-choice .container,
  .shg-modern-vacancies .container,
  .shg-modern-network .container,
  .shg-modern-trust .container,
  .shg-modern-how .container,
  .shg-modern-cta .container{
    width:calc(100% - 28px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  h1,.hero h1,.section-title h1,.shg-modern-hero h1{
    font-size:clamp(30px,9vw,40px)!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    margin:0 0 12px!important;
    overflow-wrap:anywhere;
  }
  h2,.section-title h2{
    font-size:clamp(25px,7vw,32px)!important;
    line-height:1.16!important;
    letter-spacing:-.025em!important;
    margin:0 0 12px!important;
  }
  h3{line-height:1.2;overflow-wrap:anywhere}
  p,.lead,.section-title p{font-size:16px!important;line-height:1.55!important}
  .lead{margin:0 0 20px!important;color:#64748b!important}
  .section-title{margin:0 0 24px!important;max-width:100%!important}
  .section-title p{margin:8px 0 0!important;color:#64748b!important}
  .badge,.price-badge{max-width:100%;white-space:normal;line-height:1.25}

  .hero,.shg-prices-hero,.shg-modern-hero{
    min-height:0!important;
    padding:28px 0 34px!important;
    background-position:center!important;
  }
  .hero-grid,.shg-modern-hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:24px!important}
  .hero-card,.shg-choice-card,.cta,.final-help{padding:22px 18px!important;border-radius:20px!important}
  .hero-actions,.cta-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    margin-top:20px!important;
  }

  .btn,.button,button:not(.shg-mobile-menu-toggle),input[type="submit"]{
    min-height:50px;
    border-radius:14px!important;
    padding:13px 16px!important;
    font-size:16px!important;
    line-height:1.25!important;
    justify-content:center;
    text-align:center;
    white-space:normal;
  }
  .hero-actions .btn,.cta-actions .btn,.price-card .btn{width:100%!important;display:flex!important}

  .price-grid,.features,.groups,.stats,.audience-cards,.coverage-example,.included,
  .reviews-box,.reviews-mini,.final-help,.cards-grid,.jobs-grid,.cities-grid,
  .professions-grid,.blog-grid,.footer-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .price-card,.feature,.group-card,.job-card,.city-card,.profession-card,
  .review-card,.blog-card,.included-item,.stat-card,.card{
    width:100%!important;
    max-width:none!important;
    padding:22px 18px!important;
    border-radius:20px!important;
    box-shadow:0 10px 30px rgba(15,23,42,.07)!important;
  }
  .price-card{margin:0!important}
  .price-card h3{font-size:25px!important;margin:16px 0 10px!important}
  .price-subtitle{font-size:15px!important;margin-bottom:14px!important}
  .price-list{margin:10px 0 16px!important}
  .price-list li{gap:12px;padding:12px 0!important;align-items:flex-start}
  .price-list strong{text-align:right;white-space:nowrap}
  .price-note{padding:13px!important;border-radius:14px!important;font-size:14px!important}
  .included-item{font-size:15px!important;line-height:1.5!important}

  img,video,iframe,svg{max-width:100%}
  .hero-image img,.shg-modern-hero-visual img{width:100%!important;height:auto!important;object-fit:contain!important}

  form,.form-card,.search-panel,.filters,.filter-panel{width:100%!important;max-width:none!important}
  input,select,textarea{
    width:100%!important;
    max-width:100%!important;
    min-height:48px;
    font-size:16px!important;
    border-radius:13px!important;
  }
  textarea{min-height:120px}
  .filters,.filter-row,.search-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}

  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}

  .breadcrumbs,.breadcrumb,.shg-breadcrumbs{
    width:calc(100% - 28px)!important;
    margin:0 auto!important;
    padding:11px 0!important;
    font-size:13px!important;
    overflow-x:auto;
    white-space:nowrap;
    scrollbar-width:none;
  }
  .breadcrumbs::-webkit-scrollbar,.breadcrumb::-webkit-scrollbar,.shg-breadcrumbs::-webkit-scrollbar{display:none}

  .shg-footer-v2{padding:38px 0 22px!important}
  .shg-footer-v2 .footer-grid{gap:26px!important}
  .shg-footer-v2 .footer-brand{align-items:center!important}
  .shg-footer-v2 .footer-title{margin:0 0 12px!important}
  .shg-footer-v2 .footer-links,.shg-footer-v2 .footer-social,.shg-footer-v2 .footer-docs{display:grid;gap:8px}
  .shg-footer-v2 .footer-links a,.shg-footer-v2 .footer-social a,.shg-footer-v2 .footer-docs a{display:block;padding:7px 0}
  .shg-footer-v2 .footer-meta{display:grid!important;gap:8px!important;text-align:left!important}

  .floating-cta{
    right:14px!important;
    bottom:18px!important;
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    border-radius:50%!important;
  }
  .floating-cta-text{display:none!important}
  .floating-cta-online{font-size:10px!important;top:-13px!important;right:-2px!important}

  .modal,.modal-dialog,.modal-content{max-width:calc(100vw - 24px)!important}
  .modal-dialog,.modal-content{max-height:calc(100dvh - 24px)!important;overflow:auto!important;border-radius:20px!important}
}

@media (max-width: 380px){
  .container,header .container.nav,.shg-header-container{width:calc(100% - 20px)!important}
  h1,.hero h1,.section-title h1,.shg-modern-hero h1{font-size:29px!important}
  h2,.section-title h2{font-size:24px!important}
  main > section{padding:36px 0!important}
  .price-card,.feature,.group-card,.job-card,.city-card,.profession-card,.review-card,.blog-card,.included-item,.stat-card,.card{padding:19px 15px!important}
}

/* Mobile floating controls: keep Telegram CTA and back-to-top separated */
@media (max-width: 860px){
  .floating-cta{
    right:14px!important;
    bottom:max(18px, env(safe-area-inset-bottom))!important;
  }
  .back-to-top{
    right:21px!important;
    bottom:calc(max(18px, env(safe-area-inset-bottom)) + 78px)!important;
  }
}

@media (max-width: 380px){
  .back-to-top{
    right:19px!important;
    bottom:calc(max(16px, env(safe-area-inset-bottom)) + 74px)!important;
  }
}

/* === SHG VIP stable desktop height v23 ===
   Keeps every VIP slide the same size without changing slider/data logic. */
@media (min-width: 921px){
  [data-shg-vip-feed] [data-shg-vip-card],
  [data-shg-vip-feed] .shg-vip-live-card{
    height:520px!important;
    min-height:520px!important;
    max-height:520px!important;
    overflow:hidden!important;
  }

  [data-shg-vip-feed] .shg-vip-card-grid.shg-vip-premium,
  [data-shg-vip-feed] .shg-vip-card-grid.shg-vip-premium.is-with-media,
  [data-shg-vip-feed] .shg-vip-card-grid.shg-vip-premium.shg-vip-text-expanded,
  [data-shg-vip-feed] .shg-vip-card-grid.shg-vip-premium.shg-vip-text-expanded.is-with-media{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden!important;
    align-items:stretch!important;
  }

  [data-shg-vip-feed] .shg-vip-premium .shg-vip-main{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }

  [data-shg-vip-feed] .shg-vip-full-inline{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    -webkit-line-clamp:12!important;
    overflow:hidden!important;
  }

  [data-shg-vip-feed] .shg-vip-actions{
    flex:0 0 auto!important;
    margin-top:auto!important;
  }

  [data-shg-vip-feed] .shg-vip-media,
  [data-shg-vip-feed] .shg-vip-video-wrap,
  [data-shg-vip-feed] .shg-vip-telegram-box{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden!important;
  }

  [data-shg-vip-feed] .shg-vip-media img,
  [data-shg-vip-feed] .shg-vip-media video{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}

/* Tablets and phones stay content-adaptive to avoid cropped controls/text. */
@media (max-width: 920px){
  [data-shg-vip-feed] [data-shg-vip-card],
  [data-shg-vip-feed] .shg-vip-live-card{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* SHG VIP navigation: clear keyboard focus without affecting other site controls */
[data-shg-vip-feed] .shg-vip-nav:focus-visible,
[data-shg-vip-feed] .shg-vip-dots button:focus-visible{
  outline:3px solid rgba(255,255,255,.95);
  outline-offset:3px;
}

/* VIP numbered navigation: each number always opens the matching vacancy. */
[data-shg-vip-feed] .shg-vip-dots{
  max-width:min(560px,58vw);
  overflow-x:auto;
  overflow-y:hidden;
  padding:4px 2px 7px;
  scrollbar-width:thin;
  scroll-snap-type:x proximity;
}
[data-shg-vip-feed] .shg-vip-dots button{
  flex:0 0 30px;
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  scroll-snap-align:center;
  transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease;
}
[data-shg-vip-feed] .shg-vip-dots button:hover{
  background:rgba(255,255,255,.25);
  transform:translateY(-1px);
}
[data-shg-vip-feed] .shg-vip-dots button.is-active{
  width:30px;
  background:#fff;
  color:#1d4ed8;
  border-color:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}
@media(max-width:760px){
  [data-shg-vip-feed] .shg-vip-dots{max-width:calc(100vw - 150px);}
  [data-shg-vip-feed] .shg-vip-dots button{flex-basis:28px;width:28px;height:28px;font-size:11px;}
  [data-shg-vip-feed] .shg-vip-dots button.is-active{width:28px;}
}

/* === SHG V70: VIP desktop-function parity on mobile ===
   Mobile keeps its responsive stacked layout, but all desktop controls remain available.
   Desktop rules are untouched. */
@media (max-width: 768px){
  [data-shg-vip-feed] .shg-vip-nav{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 42px!important;
  }
  [data-shg-vip-feed] .shg-vip-live-bottom{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
  }
  [data-shg-vip-feed] .shg-vip-dots,
  [data-shg-vip-feed] .shg-vip-timer,
  [data-shg-vip-feed] .shg-vip-actions,
  [data-shg-vip-feed] .shg-vip-telegram-box,
  [data-shg-vip-feed] .shg-vip-media,
  [data-shg-vip-feed] .shg-vip-video-wrap{
    visibility:visible!important;
  }
  [data-shg-vip-feed] .shg-vip-dots{display:flex!important;}
  [data-shg-vip-feed] .shg-vip-timer{display:block!important;}
  [data-shg-vip-feed] .shg-vip-actions{display:flex!important;}
}


/* === SHG V71: mobile horizontal swipe stays vertically fixed ===
   Mobile-only gesture stabilization. Desktop is unchanged. */
@media (max-width: 768px){
  [data-shg-vip-feed],
  [data-shg-vip-feed] [data-shg-vip-card],
  [data-shg-vip-feed] .shg-vip-live-card{
    overscroll-behavior-x:contain;
  }
  [data-shg-vip-feed] [data-shg-vip-card]{
    touch-action:pan-y pinch-zoom;
    overflow-anchor:none;
  }
  [data-shg-vip-feed] .shg-vip-live-bottom{
    overflow-anchor:none;
  }
}

/* === SHG V74: compact VIP pagination on mobile only ===
   Desktop navigation remains unchanged. Mobile shows up to five nearby numbers,
   fixed arrows at the sides and a compact current/total counter. */
@media (max-width: 768px){
  [data-shg-vip-feed] .shg-vip-live-bottom{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:8px!important;
    width:100%!important;
  }
  [data-shg-vip-feed] .shg-vip-nav{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    margin:0!important;
  }
  [data-shg-vip-feed] .shg-vip-dots{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    align-items:center!important;
    justify-items:center!important;
    gap:4px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:0!important;
    overflow:visible!important;
    scrollbar-width:none!important;
  }
  [data-shg-vip-feed] .shg-vip-dots::-webkit-scrollbar{display:none!important;}
  [data-shg-vip-feed] .shg-vip-dots button,
  [data-shg-vip-feed] .shg-vip-dots button.is-active{
    flex:none!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    padding:0!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
  [data-shg-vip-feed] .shg-vip-count{
    grid-column:1 / -1!important;
    text-align:center!important;
    color:rgba(255,255,255,.92)!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.04em!important;
    margin-top:-1px!important;
  }
  [data-shg-vip-feed] .shg-vip-timer{
    grid-column:1 / -1!important;
    width:100%!important;
    margin:0!important;
  }
}

@media (max-width: 360px){
  [data-shg-vip-feed] .shg-vip-live-bottom{
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    gap:5px!important;
  }
  [data-shg-vip-feed] .shg-vip-nav{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
  }
  [data-shg-vip-feed] .shg-vip-dots{gap:2px!important;}
  [data-shg-vip-feed] .shg-vip-dots button,
  [data-shg-vip-feed] .shg-vip-dots button.is-active{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    font-size:11px!important;
  }
}


/* SHG performance-safe below-fold rendering */
@supports (content-visibility: auto) {
  .shg-candidates-section,
  .shg-vip-live-section,
  #groups,
  [data-vacancy-map],
  .shg-stage10-links,
  .site-footer {
    content-visibility: auto;
    contain-intrinsic-size: 1px 900px;
  }
}
