/* Only the winners shortcode on Elementor home, no effects outside it. */
.mg-home-winners {
  --mg-hmw-accent: #f04b34;
  max-width: 1160px;
  margin-inline: auto;
  padding: 8px 8px 0;
  color: #1e293b;
}
/* One uninterrupted grid. Group changes no longer consume a complete row. */
.mg-home-winners .mg-hmw-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 16px;
  row-gap: 12px;
  align-items: stretch;
}
/* Subgrid makes cards line up vertically while labels appear only at the
   beginning of each category; an unlabeled second row has no title gap. */
.mg-home-winners .mg-hmw-entry {
  min-width: 0;
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  gap: 0;
}
.mg-home-winners .mg-hmw-entry-heading {
  grid-row: 1;
  align-self: end;
  margin: 0;
  padding: 2px 0 6px;
  font-size: clamp(16px, 1.6vw, 20px);
  font-weight: 750;
  line-height: 1.24;
  color: #d93724;
  text-align: left;
  overflow-wrap: anywhere;
}
.mg-home-winners .mg-hmw-entry-spacer { grid-row: 1; display: block; height: 0; }
.mg-home-winners .mg-hmw-film {
  grid-row: 2;
  min-width: 0;
  background: rgba(255, 255, 255, .93);
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 17px;
  box-shadow: 0 5px 17px rgba(35,50,60,.10);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.mg-hmw-video { background: linear-gradient(145deg, #1f2f36, #385563); aspect-ratio: 16 / 9; width: 100%; position: relative; display: grid; place-items: center; overflow: hidden; }
.mg-hmw-video-button { cursor: pointer; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:6px; width:100%; height:100%; color: #fff; border: 0; background: transparent; font:inherit; font-size: 13px; }
.mg-hmw-play { display:grid; place-items:center; width:50px; height:50px; border-radius: 50%; border: 2px solid rgba(255,255,255,.87); background: rgba(240,75,52,.95); font-size:19px; padding-left:3px; box-shadow:0 4px 18px rgba(0,0,0,.15); transition:transform .2s ease; }
.mg-hmw-video-button:hover .mg-hmw-play,.mg-hmw-video-button:focus-visible .mg-hmw-play { transform: scale(1.08); }
.mg-hmw-video iframe { display: block; width:100%; height:100%; border:0; position:absolute; inset:0; }
.mg-hmw-video.is-loading::after { content: 'Загружаем видео…'; position:absolute; inset:auto 12px 10px; background:rgba(255,255,255,.9); color:#263238; border-radius:10px; padding:4px 8px; font-size:12px; text-align:center; pointer-events:none; }
.mg-hmw-video-fallback { padding: 10px 14px; color: white; text-align: center; font-size: 13px; }
.mg-hmw-video-fallback a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.mg-hmw-info { padding: 13px 16px 16px; display:flex; flex-direction:column; flex:1; }
.mg-home-winners .mg-hmw-title { margin: 0 0 8px; font-size: 16px; font-weight: 750; line-height:1.34; color:#263038; overflow-wrap:anywhere; }
.mg-home-winners .mg-hmw-authors { font-size: 13px; line-height:1.5; color:#4c5564; margin:0 0 8px; overflow-wrap:anywhere; }
.mg-hmw-authors span { font-weight:650; }
.mg-home-winners .mg-hmw-place { margin:auto 0 0; font-weight:750; color:#d93724; font-size:14px; }
.mg-hmw-bottom { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:9px; margin: 8px 0 0; position: relative; padding: 16px 0 6px; }
/* No lower translucent fade: Elementor can clip it against its section. */
.mg-hmw-more { display:inline-flex; align-items:center; justify-content:center; gap:14px; border:0; border-radius:999px; min-height:46px; padding:10px 24px; background:#f04b34; color:#fff; font-weight:750; font-size:15px; cursor:pointer; box-shadow: 0 6px 17px rgba(240,75,52,.24); transition:background .15s, transform .15s; }
.mg-hmw-more:hover { background:#d72d1c; transform:translateY(-1px); }
.mg-hmw-more:focus-visible,.mg-hmw-video-button:focus-visible { outline:3px solid #2478c8; outline-offset:3px; }
.mg-hmw-more:disabled { cursor:wait; opacity:.72; transform:none; }
.mg-hmw-more-arrow { font-size:19px; line-height:1; }
.mg-home-winners .mg-hmw-counter { margin:0; font-size:12px; color:#52606a; }
.mg-home-winners .mg-hmw-message { margin:0; font-size:13px; color:#a43d20; min-height:0; text-align:center; }
.mg-home-winners .mg-hmw-empty { padding:22px; text-align:center; background:rgba(255,255,255,.8); border-radius:12px; grid-column:1 / -1; }
/* Graceful fallback for engines without CSS subgrid. */
@supports not (grid-template-rows: subgrid) {
  .mg-home-winners .mg-hmw-entry { display:flex; flex-direction:column; }
  .mg-home-winners .mg-hmw-entry-heading,.mg-home-winners .mg-hmw-entry-spacer { min-height: 58px; }
  .mg-home-winners .mg-hmw-film { flex:1; }
}
@media (max-width: 900px) {
  .mg-home-winners .mg-hmw-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .mg-home-winners { padding:4px 0; }
  .mg-home-winners .mg-hmw-grid { grid-template-columns:1fr; row-gap:16px; }
  .mg-home-winners .mg-hmw-entry { display:flex; flex-direction:column; }
  .mg-home-winners .mg-hmw-entry-heading { font-size:17px; padding:0 0 8px; min-height:0; align-self: stretch; }
  .mg-home-winners .mg-hmw-entry-spacer { display:none; }
  .mg-hmw-info { padding: 11px 14px 13px; }
  .mg-hmw-video { aspect-ratio: 16 / 8.5; }
}
@media (prefers-reduced-motion: reduce) { .mg-hmw-play,.mg-hmw-more { transition:none; } }
