/* VMY News & Events — front-end (galleries / videos / stories / newsletters) */
.vmy-nm-gal { max-width: 1320px; margin: 0 auto; }
.vmy-nm-gal-title {
  font-family: 'Fraunces', Georgia, serif; font-weight: 400;
  font-size: clamp(18px, 2.2vw, 24px); color: #1F1733;
  text-align: center; margin: 34px 0 16px;
}
.vmy-nm-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 12px;
}
.vmy-nm-tile {
  position: relative; aspect-ratio: 1 / 1; border-radius: 10px;
  background-size: cover; background-position: center; cursor: pointer;
  display: block; overflow: hidden;
}
.vmy-nm-tile-z {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 24px; opacity: 0; background: rgba(31,23,51,.35);
  transition: opacity .2s ease;
}
.vmy-nm-tile:hover .vmy-nm-tile-z { opacity: 1; }

/* videos */
.vmy-nm-videos {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 18px; max-width: 1320px; margin: 0 auto;
}
.vmy-nm-video { cursor: pointer; }
.vmy-nm-video-thumb {
  position: relative; aspect-ratio: 16 / 9; border-radius: 12px;
  background-size: cover; background-position: center; overflow: hidden;
}
.vmy-nm-play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 58px; height: 58px; border-radius: 50%;
  background: rgba(230,59,30,.92); box-shadow: 0 6px 24px rgba(0,0,0,.35);
  transition: transform .15s ease;
}
.vmy-nm-play::before {
  content: ''; position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%);
  border-style: solid; border-width: 11px 0 11px 18px; border-color: transparent transparent transparent #fff;
}
.vmy-nm-video:hover .vmy-nm-play { transform: translate(-50%, -50%) scale(1.08); }
.vmy-nm-video-title {
  margin-top: 10px; font-family: 'Inter Tight', sans-serif; font-size: 14px;
  font-weight: 600; color: #F4E9D8; line-height: 1.4;
}

/* stories */
.vmy-nm-stories {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px; max-width: 1320px; margin: 0 auto; align-items: start;
}
.vmy-nm-story .instagram-media { margin: 0 auto !important; min-width: 0 !important; }

/* newsletters */
.vmy-nm-news {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 28px; max-width: 1100px; margin: 0 auto; justify-items: center;
}
.vmy-nm-newsletter { text-decoration: none; text-align: center; display: block; }
.vmy-nm-newsletter-cover {
  display: block; width: 200px; height: 270px; border-radius: 8px;
  background-size: cover; background-position: top center;
  box-shadow: 0 12px 30px rgba(31,23,51,.18); transition: transform .18s ease;
}
.vmy-nm-newsletter:hover .vmy-nm-newsletter-cover { transform: translateY(-4px); }
.vmy-nm-newsletter-label {
  display: block; margin-top: 12px; font-family: 'Inter Tight', sans-serif;
  font-size: 14px; font-weight: 600; color: #1F1733;
}

/* lightbox */
.vmy-nm-lb {
  position: fixed; inset: 0; z-index: 99999; display: none;
  align-items: center; justify-content: center; background: rgba(15,10,28,.92);
}
.vmy-nm-lb.open { display: flex; }
.vmy-nm-lb-img { max-width: 90vw; max-height: 86vh; border-radius: 8px; object-fit: contain; }
.vmy-nm-lb-frame { width: min(90vw, 960px); aspect-ratio: 16 / 9; border: 0; border-radius: 10px; }
.vmy-nm-lb-close, .vmy-nm-lb-prev, .vmy-nm-lb-next {
  position: absolute; background: rgba(255,255,255,.12); color: #fff; border: 0;
  cursor: pointer; border-radius: 50%; width: 48px; height: 48px; font-size: 24px;
  display: flex; align-items: center; justify-content: center;
}
.vmy-nm-lb-close { top: 22px; right: 26px; }
.vmy-nm-lb-prev { left: 22px; top: 50%; transform: translateY(-50%); }
.vmy-nm-lb-next { right: 22px; top: 50%; transform: translateY(-50%); }
.vmy-nm-lb-close:hover, .vmy-nm-lb-prev:hover, .vmy-nm-lb-next:hover { background: rgba(255,255,255,.24); }
@media (max-width: 600px) {
  .vmy-nm-lb-prev, .vmy-nm-lb-next { width: 40px; height: 40px; font-size: 20px; }
}

/* =================================================================
   FULL-PAGE COMPOSITION ([vmy_news_events]) — no WPBakery
   ================================================================= */
.vmy-ne-band {
  width: 100vw; position: relative; left: 50%; right: 50%;
  margin-left: -50vw; margin-right: -50vw;
  padding: 80px 0; box-sizing: border-box;
}
.vmy-ne-inner { max-width: 1320px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 80px); }
.vmy-ne-head { text-align: center; margin-bottom: 32px; }
.vmy-ne-h2 {
  font-family: 'Fraunces', Georgia, serif; font-weight: 400;
  font-size: clamp(26px, 3.5vw, 44px); color: var(--c-ink, #1F1733);
  line-height: 1.05; letter-spacing: -0.03em; margin: 12px 0 0;
}
.vmy-ne-h2 em { color: var(--c-saffron, #E63B1E); font-style: italic; }
.vmy-ne-band--dark .vmy-ne-h2 { color: #F4E9D8; }
.vmy-ne-band--dark .vmy-ne-h2 em { color: var(--c-gold, #F5B22F); }
.vmy-ne-head .vmy-tag-pill { margin-bottom: 12px; display: inline-block; }
.vmy-ne-pill--gold { color: var(--c-gold, #F5B22F) !important; background: rgba(245,178,47,.12) !important; border: 1px solid rgba(245,178,47,.2) !important; }

.vmy-ne-subscribe { margin-top: 60px; }
.vmy-ne-form { max-width: 540px; margin: 0 auto; }

.vmy-ne-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; max-width: 1320px; margin: 0 auto; }
.vmy-ne-media-card { text-decoration: none; color: var(--c-ink, #1F1733); background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 6px 20px rgba(31,23,51,.08); }
.vmy-ne-media-thumb { display: block; aspect-ratio: 16 / 9; background-size: cover; background-position: center; }
.vmy-ne-media-title { display: block; padding: 14px 16px; font-family: 'Inter Tight', sans-serif; font-size: 14px; font-weight: 600; }

/* =================================================================
   HOME FEATURED — mixed masonry grid ([vmy_home_featured])
   ================================================================= */
.vmy-hf { padding: 84px 0; background: linear-gradient(180deg, #F6F1E8 0%, #EFE7D8 100%); }
.vmy-hf-inner { max-width: 1320px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 80px); }
.vmy-hf-head { text-align: center; margin-bottom: 44px; }
.vmy-hf-head .vmy-tag-pill { display: inline-block; margin-bottom: 12px; }
.vmy-hf-h2 { font-family: 'Fraunces', Georgia, serif; font-weight: 400; font-size: clamp(28px, 3.6vw, 46px); color: var(--c-ink, #1F1733); line-height: 1.05; letter-spacing: -0.03em; margin: 0 0 10px; }
.vmy-hf-h2 em { color: var(--c-saffron, #E63B1E); font-style: italic; }
.vmy-hf-sub { font-family: 'Inter Tight', sans-serif; font-size: 15px; color: var(--c-inkSoft, #4A3E5C); margin: 0; }

/* 3 columns keeps each column wide enough (>=326px) for Instagram embeds */
.vmy-hf-grid { column-count: 3; column-gap: 20px; }
@media (max-width: 1000px) { .vmy-hf-grid { column-count: 2; } }
@media (max-width: 700px)  { .vmy-hf-grid { column-count: 1; } }

.vmy-hf-card {
  break-inside: avoid; -webkit-column-break-inside: avoid;
  display: block; width: 100%; margin: 0 0 20px;
  background: #fff; border-radius: 16px; overflow: hidden;
  box-shadow: 0 10px 30px rgba(31, 23, 51, 0.10);
  text-decoration: none; color: var(--c-ink, #1F1733);
  cursor: pointer; transition: transform .2s ease, box-shadow .2s ease;
}
.vmy-hf-card:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(31, 23, 51, 0.18); }

.vmy-hf-media { position: relative; background-size: cover; background-position: center; }
.vmy-hf-media--16x9 { aspect-ratio: 16 / 9; }
.vmy-hf-media--sq { aspect-ratio: 1 / 1; }
.vmy-hf-media--port { aspect-ratio: 3 / 4; background-position: top center; }

.vmy-hf-tag {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  max-width: calc(100% - 24px);
  font-family: 'Inter Tight', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: .03em; line-height: 1.25; padding: 5px 12px; border-radius: 100px; color: #fff;
  box-shadow: 0 2px 8px rgba(31,23,51,.25);
}
.vmy-hf-tag--video   { background: var(--c-saffron, #E63B1E); }
.vmy-hf-tag--gallery { background: var(--c-plum, #2A1B5C); }
.vmy-hf-tag--events  { background: #16A085; }
.vmy-hf-tag--news    { background: var(--c-gold, #F5B22F); color: var(--c-ink, #1F1733); }
.vmy-hf-tag--story   { background: #C13584; }

.vmy-hf-count {
  position: absolute; bottom: 12px; right: 12px; z-index: 2;
  font-family: 'Inter Tight', sans-serif; font-size: 12px; font-weight: 600; color: #fff;
  background: rgba(31, 23, 51, .55); padding: 4px 12px; border-radius: 100px;
}
.vmy-hf-title {
  font-family: 'Inter Tight', sans-serif; font-size: 15px; font-weight: 600;
  color: var(--c-ink, #1F1733); line-height: 1.35; padding: 14px 16px 16px;
}

/* video play button reuse */
.vmy-hf--video .vmy-nm-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 54px; height: 54px; border-radius: 50%; background: rgba(230,59,30,.92); box-shadow: 0 6px 24px rgba(0,0,0,.35); }
.vmy-hf--video .vmy-nm-play::before { content: ''; position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%); border-style: solid; border-width: 10px 0 10px 16px; border-color: transparent transparent transparent #fff; }
.vmy-hf--video:hover .vmy-nm-play { transform: translate(-50%, -50%) scale(1.08); }

/* story / reel card */
.vmy-hf-ig {
  position: relative; aspect-ratio: 4 / 5;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
  background: linear-gradient(135deg, #F58529 0%, #DD2A7B 45%, #8134AF 80%, #515BD4 100%);
  color: #fff;
}
.vmy-hf-ig-glyph { width: 54px; height: 54px; }
.vmy-hf-ig-txt { font-family: 'Inter Tight', sans-serif; font-weight: 700; font-size: 15px; }
.vmy-hf--story .vmy-hf-tag--story { background: rgba(255,255,255,.22); }

/* Gallery batch description */
.vmy-nm-gal-desc { text-align: center; max-width: 680px; margin: -6px auto 18px; font-family: 'Inter Tight', sans-serif; font-size: 14px; line-height: 1.6; color: var(--c-inkSoft, #4A3E5C); }


/* Reel card = live Instagram embed (matches the News & Events page) */
.vmy-hf--reel { position: relative; background: transparent; box-shadow: none; cursor: default; }
.vmy-hf--reel:hover { transform: none; box-shadow: none; }
.vmy-hf--reel .instagram-media { margin: 0 auto !important; width: 100% !important; min-width: 0 !important; }
.vmy-hf-reel-tag { position: absolute; top: 14px; left: 14px; z-index: 5; }

/* Home newsletter card — full, crisp cover (no crop / upscale blur) */
.vmy-hf-news-cover { position: relative; line-height: 0; }
.vmy-hf-news-cover img { display: block; width: 100%; height: auto; }

/* Home featured — JS masonry columns (overrides the CSS-columns fallback) */
.vmy-hf-grid--js { display: flex; gap: 20px; align-items: flex-start; column-count: initial; }
.vmy-hf-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.vmy-hf-grid--js .vmy-hf-card { margin: 0; width: 100%; }
