/* Venus Media Player widgets for Elementor. Uses scoped classes so theme and
   Elementor global styles remain in control of the rest of the page. */
.elementor-widget-venus-media-player-single,
.elementor-widget-venus-media-player-collection { width: 100%; min-width: 0; }
.vmp-elementor-single-player,
.vmp-elementor-collection-widget { width: 100%; min-width: 0; }
.vmp-elementor-single-title,
.vmp-elementor-collection-heading { margin: 0 0 16px; line-height: 1.5; }
.vmp-elementor-single-stage { position: relative; width: 100%; min-width: 0; }
.vmp-elementor-single-stage > .venus-media-player-wrap { margin-top: 0; }
.vmp-elementor-single-stage > .vmp-elementor-access-badge { z-index: 5; }
.vmp-elementor-collection-layout { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; width: 100%; }
.vmp-elementor-card { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #e9ecef; border-radius: 10px; background: #fff; box-sizing: border-box; }
.vmp-elementor-card-thumb { position: relative; display: block; overflow: hidden; width: 100%; aspect-ratio: 16 / 9; background: #f2f4f7; text-decoration: none !important; isolation: isolate; }
.vmp-elementor-card-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.vmp-elementor-card-thumb:hover img { transform: scale(1.025); }
.vmp-elementor-thumb-placeholder { display: block; width: 100%; height: 100%; min-height: 100px; background: linear-gradient(135deg, #edf0f4, #dfe4e9); }
.vmp-elementor-card-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.04); pointer-events: none; }
.vmp-elementor-card-play::before { content: ''; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.88); background: rgba(25,35,48,.48); box-shadow: 0 3px 12px rgba(0,0,0,.16); }
.vmp-elementor-card-play::after { content: ''; position: absolute; margin-left: 3px; width: 0; height: 0; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 11px solid #fff; }
.vmp-elementor-card-body { padding: 14px; min-width: 0; }
.vmp-elementor-card-type { margin: 0 0 5px; color: #7a828e; font-size: 11px; line-height: 1.6; }
.vmp-elementor-card-title { margin: 0 0 8px; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.vmp-elementor-card-title a { color: inherit; text-decoration: none; }
.vmp-elementor-card-title a:hover { text-decoration: underline; }
.vmp-elementor-card-meta { display: flex; flex-wrap: wrap; color: #777f89; font-size: 12px; line-height: 1.8; }
.vmp-elementor-card-excerpt { margin-top: 8px; font-size: 13px; line-height: 1.9; color: #626b76; }
.vmp-elementor-access-badge { position: absolute; z-index: 3; top: 10px; display: inline-flex; align-items: center; justify-content: center; max-width: calc(100% - 20px); padding: 5px 9px; border-radius: 5px; color: #fff; background: #1f2937; font-size: 11px; font-weight: 600; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-shadow: 0 2px 8px rgba(0,0,0,.12); pointer-events: none; }
.vmp-elementor-access-badge.is-right { right: 10px; }
.vmp-elementor-access-badge.is-left { left: 10px; }
.vmp-elementor-list { display: flex; flex-direction: column; }
.vmp-elementor-list .vmp-elementor-card { flex-direction: row; align-items: stretch; }
.vmp-elementor-list .vmp-elementor-card-thumb { flex: 0 0 32%; width: 32%; max-width: 32%; align-self: stretch; aspect-ratio: auto; min-height: 125px; }
.vmp-elementor-list .vmp-elementor-card-thumb img,
.vmp-elementor-list .vmp-elementor-thumb-placeholder { height: 100%; min-height: 125px; }
.vmp-elementor-list .vmp-elementor-card-body { flex: 1 1 auto; }
.vmp-elementor-player-list { display: flex; flex-direction: column; gap: 24px; }
.vmp-elementor-player-item { position: relative; width: 100%; min-width: 0; }
.vmp-elementor-player-item > .vmp-elementor-player-badge { position: relative; top: auto; left: auto; right: auto; margin-bottom: 8px; }
.vmp-elementor-notice { padding: 12px 14px; color: #5d6470; border: 1px dashed #cbd1d8; border-radius: 6px; background: #f8fafc; font-size: 13px; line-height: 1.8; }
@media (max-width: 767px) {
  .vmp-elementor-list .vmp-elementor-card { flex-direction: column; }
  .vmp-elementor-list .vmp-elementor-card-thumb { flex: 0 0 auto; width: 100%; max-width: none; aspect-ratio: 16 / 9; min-height: 0; }
  .vmp-elementor-list .vmp-elementor-card-thumb img,
  .vmp-elementor-list .vmp-elementor-thumb-placeholder { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .vmp-elementor-card-thumb img { transition: none; }
}

/* The badge widget can be placed in an Elementor Loop Item image container; use Elementor Advanced > Position to overlay it. */
.elementor-widget-venus-media-access-badge .vmp-elementor-access-badge { position: static; display: inline-flex; top: auto; right: auto; left: auto; margin: 0; max-width: 100%; pointer-events: none; }

/* Editorial labels override access labels per media item; no counters or analytics are used. */
.vmp-elementor-access-badge.vmp-feature-badge--popular { background-color: #C96B28; }
.vmp-elementor-access-badge.vmp-feature-badge--new { background-color: #27815B; }
.vmp-elementor-access-badge.vmp-feature-badge--custom { background-color: #374151; }


/* Optional podcast homepage showcase (1.8.12). Selectors are scoped to Venus widgets. */
.vmp-featured-podcast { display:flex; align-items:stretch; gap:clamp(18px,3vw,36px); overflow:hidden; box-sizing:border-box; background:#f5f3ef; color:#20252b; }
.vmp-featured-podcast.image-right { flex-direction:row; }
.vmp-featured-podcast.image-left { flex-direction:row-reverse; }
.vmp-featured-podcast.stacked { flex-direction:column; }
.vmp-featured-image { position:relative; display:block; align-self:stretch; flex:0 0 42%; min-width:0; min-height:220px; overflow:hidden; border-radius:12px; aspect-ratio:auto; isolation:isolate; }
.vmp-featured-image > img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.vmp-featured-image > .vmp-elementor-thumb-placeholder { position:absolute; inset:0; display:block; width:100%; height:100%; min-height:0; }
.vmp-featured-podcast.stacked .vmp-featured-image { align-self:stretch; flex:0 0 auto; width:100%; min-height:0; aspect-ratio:16/7; }
.vmp-featured-content { display:flex; flex:1 1 auto; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; }
.vmp-featured-eyebrow { margin:0 0 10px; color:#27815b; font-size:13px; font-weight:700; }
.vmp-featured-title { margin:0 0 8px; font-size:clamp(22px,2.5vw,34px); line-height:1.55; }
.vmp-featured-title a { color:inherit; text-decoration:none; }
.vmp-featured-meta { margin:0 0 10px; color:inherit; opacity:.72; font-size:13px; }
.vmp-featured-description { margin:0 0 20px; line-height:1.9; opacity:.86; }
.vmp-featured-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 18px; border-radius:8px; background:#20252b; color:#fff; text-decoration:none!important; transition:transform .2s ease,opacity .2s ease; }
.vmp-featured-button:hover { color:#fff; opacity:.9; transform:translateY(-1px); }
.vmp-latest-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.vmp-latest-heading h2,.vmp-podcast-collections-heading { margin:0; line-height:1.5; }
.vmp-latest-heading a { font-size:13px; text-decoration:none; }
.vmp-latest-podcasts-grid { display:grid; grid-template-columns:repeat(var(--vmp-cols,4),minmax(0,1fr)); gap:16px; align-items:stretch; }
.vmp-latest-podcasts-grid .vmp-elementor-card { height:100%; transition:transform .22s ease,box-shadow .22s ease; }
.vmp-latest-podcasts-grid .vmp-elementor-card:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(20,30,40,.09); }
.vmp-latest-podcasts-grid .vmp-elementor-card-thumb { flex:0 0 auto; min-height:0; aspect-ratio:1/1; }
.vmp-latest-podcasts-grid .vmp-elementor-card-thumb > img { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.vmp-latest-podcasts-grid .vmp-elementor-card-thumb > .vmp-elementor-thumb-placeholder { position:absolute; inset:0; display:block; width:100%; height:100%; min-height:0; }
.vmp-podcast-collections-heading { margin-bottom:18px; }
.vmp-podcast-collections-grid { display:grid; grid-template-columns:repeat(var(--vmp-collection-cols,2),minmax(0,1fr)); gap:18px; }
.vmp-podcast-collection-card { display:flex; align-items:stretch; min-width:0; overflow:hidden; border:1px solid #e9ecef; border-radius:12px; background:#fff; }
.vmp-podcast-collection-image { position:relative; display:block; align-self:stretch; flex:0 0 32%; min-width:0; min-height:0; overflow:hidden; }
.vmp-podcast-collection-image > img,.vmp-podcast-collection-image > .vmp-elementor-thumb-placeholder { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.vmp-podcast-collection-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:7px; min-width:0; padding:16px; }
.vmp-podcast-collection-title { margin:0; font-size:17px; line-height:1.7; }
.vmp-podcast-collection-title a { color:inherit; text-decoration:none; }
.vmp-podcast-collection-meta { color:#77808a; font-size:12px; }
.vmp-podcast-collection-link { margin-top:4px; font-size:13px; font-weight:600; text-decoration:none; }
@media(max-width:1024px) {
 .vmp-latest-podcasts-grid { grid-template-columns:repeat(var(--vmp-cols-tablet,2),minmax(0,1fr)); }
 .vmp-podcast-collections-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .vmp-featured-podcast.image-right,.vmp-featured-podcast.image-left { flex-direction:column; }
 .vmp-featured-image,.vmp-featured-podcast.stacked .vmp-featured-image { align-self:stretch; flex:0 0 auto; width:100%; min-height:0; aspect-ratio:16/9; }
 .vmp-latest-podcasts-grid { grid-template-columns:repeat(var(--vmp-cols-mobile,2),minmax(0,1fr)); gap:12px; }
 .vmp-podcast-collections-grid { grid-template-columns:1fr; }
 .vmp-podcast-collection-image { flex-basis:30%; }
 .vmp-podcast-collection-body { padding:12px; }
}
@media(prefers-reduced-motion:reduce) { .vmp-featured-button,.vmp-latest-podcasts-grid .vmp-elementor-card { transition:none; } }
