/* CardioFlush player inside the unchanged source page layout. */
[hidden] { display:none !important; }
.vsl-player { position:relative; width:min(100%,400px); aspect-ratio:4/5; margin:0 auto; background:#071320; overflow:hidden; border-radius:6px; box-shadow:0 12px 32px #07132025; }
.vsl-player video { display:block; width:100%; height:100%; object-fit:contain; background:#071320; }
.vsl-start { position:absolute; inset:0; border:0; color:#fff; background:linear-gradient(0deg,#073e698c,#073e699c); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:15px; padding:24px; width:100%; }
.vsl-start strong { font-size:21px; line-height:1.25; max-width:280px; }
.vsl-start>span:last-child { font-size:14px; }
.play-symbol { border:3px solid #fff; border-radius:50%; width:88px; height:88px; display:grid; place-items:center; padding-left:5px; font-size:32px; }
.vsl-controls { position:absolute; bottom:0; left:0; right:0; display:flex; align-items:center; gap:5px; padding:9px 7px; background:#071320ed; color:#fff; }
.vsl-controls button { padding:6px; background:none; color:#fff; border:1px solid #ffffff59; border-radius:4px; font-size:11px; min-height:36px; flex-shrink:0; }
.vsl-progress-label { font-size:0; flex:1; min-width:24px; }
.vsl-progress-label input { display:block; width:100%; margin:0; accent-color:#fff; }
.vsl-time { font-size:11px; font-variant-numeric:tabular-nums; }
.vsl-resume { position:absolute; z-index:2; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:24px; text-align:center; background:#071320f2; color:#fff; }
.vsl-resume p { font-size:20px; font-weight:700; line-height:1.35; }
.vsl-resume button { width:100%; padding:13px 16px; border:1px solid #ffffff6b; border-radius:6px; margin:5px; color:#fff; background:var(--green); font-weight:700; }
.vsl-resume button:last-child { background:transparent; }
.vsl-retry { margin-top:14px; padding:12px 28px; background:var(--navy); border:0; border-radius:5px; color:#fff; font-weight:700; }
.preview-label { margin:12px auto; border:1px solid #edc45b; background:#fff6d9; padding:9px 14px; max-width:500px; border-radius:5px; font-size:14px; }
.local-preview-tools { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:12px; margin:0 auto 16px; padding:12px; border:1px solid #dce2e6; border-radius:6px; background:#f7f9fb; font-size:14px; }
.local-preview-tools select,.local-preview-tools button { padding:8px 12px; border:1px solid #dce2e6; border-radius:4px; background:#fff; color:#172231; font:inherit; }

.vsl-player { border:1px solid #dedede; border-radius:2px; box-shadow:none; }
@media(min-width:992px) {
  .vsl-player { width:100%; aspect-ratio:16/9; background:#000; }
  .vsl-player video { background:#000; }
}
.vsl-start { background:#0004; }
.vsl-start strong { max-width:none; font-size:27px; text-shadow:0 2px 8px #000; }
.vsl-start>span:last-child { font-size:20px; font-weight:700; text-shadow:0 2px 8px #000; }
.mute-symbol { display:grid; place-items:center; width:86px; height:86px; border:2px solid #fff; border-radius:50%; background:#0005; font-size:39px; }
.vsl-unmute-panel { display:flex; flex-direction:column; align-items:center; gap:18px; max-width:100%; padding:25px 28px; border:2px solid #ffffffeb; border-radius:8px; background:rgba(0,0,0,.65); box-shadow:0 6px 24px #0005; }
.vsl-unmute-label { font-size:20px; font-weight:700; text-shadow:0 2px 8px #000; }
.vsl-player video { cursor:pointer; }
.vsl-fullscreen { position:absolute; right:12px; bottom:12px; padding:9px 12px; color:#fff; background:#0009; border:1px solid #ffffff80; border-radius:3px; font-size:12px; }
.vsl-player:fullscreen { width:100%; height:100%; aspect-ratio:auto; border:0; background:#000; }
.vsl-player video::-webkit-media-controls { display:none!important; }
@media(max-width:600px) { .vsl-controls { flex-wrap:wrap; } }
@media(max-width:767px) {
  #vsl-anchor { width:calc(100vw - 24px); margin-left:calc(50% - 50vw + 12px); }
  .vsl-player { width:100%; aspect-ratio:9/16; border:0; border-radius:0; background:#000; }
  .vsl-player video { background:#000; }
}
/* Editor controls float outside the cloned page flow. */
.local-preview-tools { position:fixed; right:12px; bottom:12px; z-index:1000; margin:0; padding:10px; box-shadow:0 3px 16px #0002; }
body[data-local-preview] .preview-label { position:fixed; right:12px; bottom:76px; z-index:1000; margin:0; padding:6px 12px; font-size:12px; }

/* Publication identity shared with the advertorial. */
.today-logo .publication-logo { display:block; width:250px; height:48px; object-fit:cover; max-width:100%; }
@media(max-width:767px) { .today-logo .publication-logo { width:205px; height:40px; } }

/* Keep the headline and player together in the initial viewport. */
.today-header-container { height:48px; padding:0 20px; gap:18px; }
.today-logo .publication-logo { width:215px; height:40px; }
.hero-section { padding-top:24px; }
.hero-content .article-title { font-size:clamp(30px,3.3vw,51px); line-height:1.1; margin-bottom:25px; }
#vsl-anchor { margin-bottom:12px; }
.vsl-player { width:100%; height:var(--vsl-fold-height,65svh); aspect-ratio:auto; background:#000; }
.vsl-player video { background:#000; }
.vsl-player:fullscreen { height:100%; }
@media(max-width:960px) { .today-nav,.today-notifications-btn { display:none; } }
@media(max-width:767px) {
 .today-header-container { height:44px; padding:0 12px; gap:12px; }
 .today-logo .publication-logo { width:190px; height:36px; }
 .hero-section { padding-top:20px; }
 .hero-content .article-title { font-size:clamp(30px,8vw,40px); line-height:1.1; margin-bottom:21px; }
 .vsl-player { height:min(var(--vsl-fold-height,65svh),calc((100vw - 24px) * 1.777778)); }
 .vsl-start { padding:16px; }
 .vsl-start strong { font-size:clamp(19px,5vw,24px); }
 .vsl-unmute-panel { padding:18px 20px; gap:12px; }
 .mute-symbol { width:64px; height:64px; }
 .vsl-unmute-label { font-size:18px; }
}

/* Once unlocked, pitch access remains visible on return visits and in fullscreen. */
.vsl-pitch-cta { display:block; position:absolute; z-index:8; bottom:20px; left:50%; transform:translateX(-50%); max-width:calc(100% - 32px); padding:16px 22px; border-radius:4px; background:#286c40; color:#fff!important; font:700 17px/1.3 Arial,sans-serif; text-align:center; text-decoration:none; }
.vsl-player:fullscreen .vsl-pitch-cta { display:block; }
.vsl-pitch-cta:focus-visible { outline:3px solid #fff; outline-offset:4px; }

.vsl-retry { display:inline-grid; place-items:center; }
