/* Materiály zadarmo (SOS rutinka, ťahák): náhľad, brána profilu, odomknutý obsah */
.zd-wrap { width: min(100% - 2 * var(--app-space-5), 1120px); margin: 0 auto; padding: calc(var(--app-space-7) * 2) 0 var(--app-space-7); color: var(--burgundy); }
.zd-head { max-width: 760px; margin-bottom: var(--app-space-7); }
.zd-eyebrow { margin: 0 0 var(--app-space-3); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-muted); }
.zd-badge { color: var(--ember); }
.zd-head h1 { margin: 0; font-size: clamp(34px, 5vw, 60px); line-height: 1.04; letter-spacing: -0.03em; font-weight: 600; }
.zd-sub { margin: var(--app-space-3) 0 0; font-size: 20px; color: var(--ink-muted); }

.zd-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: var(--app-space-7); align-items: start; }
.zd-media { position: relative; border-radius: var(--radius-lg); overflow: hidden; background: var(--void); box-shadow: var(--shadow-float); aspect-ratio: 16 / 9; }
.zd-video, .zd-poster { display: block; width: 100%; height: 100%; object-fit: cover; }
.zd-media.is-locked .zd-poster, .zd-media.is-locked .zd-doc { filter: saturate(.8); }
.zd-lock { position: absolute; inset: 0; display: grid; place-items: start end; padding: var(--app-space-5); background: linear-gradient(180deg, transparent 55%, color-mix(in srgb, var(--void) 35%, transparent)); }
.zd-lock .icon { display: grid; place-items: center; width: 56px; height: 56px; padding: 15px; border-radius: var(--radius-pill); background: color-mix(in srgb, var(--white) 92%, transparent); color: var(--burgundy); box-shadow: var(--shadow-card); }

.zd-doc { position: absolute; inset: 0; display: grid; align-content: space-between; padding: var(--app-space-7); background: radial-gradient(70% 90% at 85% 10%, color-mix(in srgb, var(--ember) 35%, transparent), transparent 70%), var(--burgundy); color: var(--white); }
.zd-doc-brand { font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; opacity: .8; }
.zd-doc-title { font-size: clamp(26px, 3.4vw, 40px); line-height: 1.08; font-weight: 600; letter-spacing: -0.02em; max-width: 14ch; }
.zd-doc-meta { font-size: 15px; opacity: .8; }

.zd-text { margin: 0 0 var(--app-space-5); font-size: 19px; line-height: 1.55; }
.zd-list { list-style: none; margin: 0 0 var(--app-space-6); padding: 0; display: grid; gap: var(--app-space-3); }
.zd-list li { display: flex; gap: var(--app-space-3); align-items: flex-start; font-size: 17px; }
.zd-list .icon { flex: none; width: 22px; height: 22px; color: var(--ember); }

.zd-gate { padding: var(--app-space-6); border-radius: var(--radius-card); background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-card); }
.zd-gate h2 { margin: 0 0 var(--app-space-2); font-size: 24px; letter-spacing: -0.015em; }
.zd-gate p { margin: 0 0 var(--app-space-5); color: var(--ink-muted); }
.zd-cta { width: 100%; }
.zd-login { margin: var(--app-space-4) 0 0 !important; text-align: center; font-size: 15px; }
.zd-login a { color: var(--burgundy); font-weight: 600; }
.zd-perks { list-style: none; margin: var(--app-space-5) 0 0; padding: var(--app-space-4) 0 0; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: var(--app-space-2) var(--app-space-4); font-size: 14px; color: var(--ink-muted); }
.zd-perks li::before { content: "✓ "; color: var(--ember); font-weight: 700; }

.zd-next { margin-top: var(--app-space-7); padding: var(--app-space-7); border-radius: var(--radius-lg); background: radial-gradient(60% 90% at 100% 0%, color-mix(in srgb, var(--ember) 30%, transparent), transparent 70%), var(--void); color: var(--white); display: grid; gap: var(--app-space-3); justify-items: start; }
.zd-next h2 { margin: 0; font-size: clamp(24px, 3vw, 34px); letter-spacing: -0.02em; }
.zd-next p { margin: 0 0 var(--app-space-3); max-width: 52ch; color: var(--ink-muted); }

.zd-others { margin-top: var(--app-space-7); display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--app-space-4); }
.zd-other { display: grid; gap: var(--app-space-1); padding: var(--app-space-5); border-radius: var(--radius-card); background: var(--white); border: 1px solid var(--line); color: var(--burgundy); text-decoration: none; transition: transform .2s, box-shadow .2s; }
.zd-other:hover { transform: translateY(-2px); box-shadow: var(--shadow-card); }
.zd-other strong { font-size: 20px; }
.zd-other span:last-child { color: var(--ink-muted); }

@media (max-width: 860px) {
  .zd-grid { grid-template-columns: 1fr; gap: var(--app-space-6); }
  .zd-wrap { padding-top: calc(var(--app-space-7) + var(--app-space-6)); }
  .zd-next { padding: var(--app-space-6); }
  .zd-side { display: flex; flex-direction: column; }
  .zd-gate { order: -1; margin-bottom: var(--app-space-6); }
  .zd-doc { padding: var(--app-space-5) calc(var(--app-space-5) + 64px) var(--app-space-5) var(--app-space-5); }
  .zd-doc-title { font-size: 24px; }
  .zd-lock { padding: var(--app-space-4); }
  .zd-lock .icon { width: 44px; height: 44px; padding: 11px; }
}

/* Náhľad videa bez profilu: štítok a výzva na konci výstrihu */
.zd-preview-chip { position: absolute; left: var(--app-space-4); top: var(--app-space-4); padding: 6px 12px; border-radius: var(--radius-pill); background: color-mix(in srgb, var(--white) 92%, transparent); color: var(--burgundy); font-size: 13px; font-weight: 600; pointer-events: none; }
.zd-preview-end { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: var(--app-space-5); text-align: center; color: var(--white); background: color-mix(in srgb, var(--void) 76%, transparent); backdrop-filter: blur(4px); }
.zd-preview-end[hidden] { display: none; }
.zd-preview-icon { display: grid; place-items: center; width: 52px; height: 52px; padding: 14px; border-radius: 50%; background: var(--white); color: var(--burgundy); }
.zd-media .zd-preview-end h2 { margin: 0; font-size: clamp(20px, 2.4vw, 28px); color: var(--white); }
.zd-preview-end p { margin: 0; max-width: 40ch; color: color-mix(in srgb, var(--white) 88%, transparent); }
@media (max-width: 600px) { .zd-preview-end p { display: none; } }
