/* PTD 2026 — vše prefixováno .ptd-program kvůli izolaci od UPCE theme. */

/* Skrýt první section wrapperu jen pro node 48239. */
/*body.node--id--48239 > div > div > main > section:nth-child(1) { height: 0 }*/
/*body.node--id--45200 > div > div > main > section:nth-child(1) { height: 0 }*/

/* skryti obrazku */
body:has(.ptd-program) > div > div > main > section:nth-child(1) { display: none; }

/* UPCE body má overflow:auto → rozbije sticky context pro .aside-stack.
   Override jen pro tento node — html scrolluje dál. */
body.node--id--48239 { overflow: visible }
body.node--id--45200 { overflow: visible }


.ptd-program {
  --red:#E2001A;
  --red-deep:#DB1E0B;
  --red-soft:#EEE;
  --ink:#15151A;
  --ink-2:#3A3A42;
  --muted:#5A5A62;
  --line:#D9D9DF;
  --bg:#FFFFFF;
  --bg-alt:#F6F6F8;
  --time-chip:#F1F1F4;
  --shadow:0 1px 2px rgba(20,20,28,.04), 0 6px 18px rgba(20,20,28,.06);

  color:var(--ink);
  font-family:'Fenomen Book','Barlow',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;

  max-width:1224px;
  margin:0 auto;
  background:var(--bg);
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

.ptd-program *,
.ptd-program *::before,
.ptd-program *::after { box-sizing:border-box }

.ptd-program img { max-width:100%; display:block; border-radius:0 }
.ptd-program a { color:inherit }
.ptd-program hr { border:none; border-top:1px solid #ccc; margin:1em 0 }

.ptd-program .content_bright_background { height:0 }

.ptd-program .aside-stack { display:contents }
.ptd-program .hero { order:1 }
.ptd-program .program-col { order:2; display:contents }
.ptd-program .program-col > * { order:2 }
.ptd-program .cta-wrap { order:3 }
.ptd-program .notes { order:4 }
.ptd-program .organizer { order:5 }
.ptd-program .partners { order:6 }

/* HERO */
.ptd-program .hero { position:relative; background:#fff; overflow:hidden }
.ptd-program .hero-graphic { position:relative; aspect-ratio:16 / 9; background:#fff }
.ptd-program .hero-graphic img,
.ptd-program .hero-graphic > img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:0 !important;
  margin:0 !important;
  max-width:none !important;
}
.ptd-program .hero-content { padding:20px 18px 6px }
.ptd-program .eyebrow { display:inline-flex; align-items:center; gap:8px; font-family:'Fenomen Book','Barlow Condensed',sans-serif; font-weight:400;  text-transform:uppercase; font-size:1rem; color:var(--red); margin:0 0 8px }
.ptd-program h1.title { font-family:'Fenomen Book','Barlow Condensed',sans-serif; font-weight:800; font-size:32px;  color:var(--red-deep); margin:0 0 4px; text-transform:uppercase }
.ptd-program h1.title .sub { display:block; color:var(--ink); font-weight:800 }
.ptd-program .lede { font-size:14.5px; line-height:1.5; color:var(--ink-2); margin:12px 0 0; max-width:60ch }

/* BLOCKS */
.ptd-program .block { padding:20px 18px 4px }
.ptd-program .block-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:0 0 10px; padding-bottom:10px; border-bottom:2px solid var(--ink) }
.ptd-program .block-head h2 { font-family:'Fenomen Book','Barlow Condensed',sans-serif; text-transform:uppercase; font-weight:800; font-size:20px; margin:0; color:var(--ink) }
.ptd-program .block-head .span { font-family:'Fenomen Book','Barlow',sans-serif; font-weight:400; font-size:1rem; color:#333; font-variant-numeric:tabular-nums; white-space:nowrap }

/* PROGRAM ITEM */
.ptd-program .item { display:grid; grid-template-columns:100px 1fr; gap:12px; padding:13px 0; border-bottom:1px solid var(--line); position:relative }
.ptd-program .item:last-child { border-bottom:none }
.ptd-program .item.break { background:linear-gradient(to right, var(--red-soft), transparent 70%); border-radius:8px; padding:12px 10px; margin:6px -4px }
.ptd-program .item.break + .item { border-top:none }
.ptd-program .item.featured .title-line { color:var(--ink) }

.ptd-program .time { font-family:'Fenomen Book','Barlow',sans-serif; font-variant-numeric:tabular-nums; font-weight:400; font-size:1rem; color:var(--ink); line-height:1.15; padding-top:2px; white-space:nowrap;  }

.ptd-program .body { min-width:0 }
.ptd-program .tag { display:inline-block; font-family:'Fenomen Book','Barlow Condensed',sans-serif; font-weight:400; text-transform:uppercase; font-size:1rem; color:var(--ink); background:var(--red-soft); border-radius:4px; padding:3px 7px; margin-bottom:6px }
.ptd-program .item.break .tag { color:var(--red-deep); background:#fff }
.ptd-program .title-line { font-weight:600; font-size:18px; line-height:1.3; color:var(--ink); margin:0; text-wrap:pretty }
.ptd-program .speaker { font-size:1rem; color:var(--ink-2); margin-top:6px; line-height:1.4; text-wrap:pretty }
.ptd-program .speaker .who { font-weight:600; color:var(--ink) }

.ptd-program .day-band { display:flex; align-items:center; gap:12px; margin:14px 18px 0; padding:8px 0 }
.ptd-program .day-band::before, .ptd-program .day-band::after { content:""; flex:1; height:1px; background:var(--line) }
.ptd-program .day-band span { font-family:'Fenomen Book','Barlow Condensed',sans-serif; font-weight:400; text-transform:uppercase; font-size:11.5px; color:var(--ink-2) }

.ptd-program .program-title { font-family:'Fenomen Book','Barlow Condensed',sans-serif; font-weight:800; text-transform:uppercase; font-size:44px; line-height:1; margin:24px 18px 4px; color:var(--ink) }

/* CTA */
.ptd-program .cta-wrap { padding:22px 18px 8px; display:grid; gap:10px }
.ptd-program .btn { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:15px 16px; border-radius:6px; font-family:'Fenomen Book','Barlow Condensed',sans-serif; text-transform:uppercase;  font-weight:400; font-size:15px; text-decoration:none; transition:.15s; border:2px solid transparent; cursor:pointer; text-align:center }
.ptd-program .btn-primary { background:var(--red-deep); color:#fff; border-color:var(--red-deep) }
.ptd-program .btn-primary:hover, .ptd-program .btn-primary:focus-visible { background:#7A0014; border-color:#7A0014 }
.ptd-program .btn-secondary { background:#fff; color:var(--ink); border-color:var(--ink) }
.ptd-program .btn-secondary:hover, .ptd-program .btn-secondary:focus-visible { background:var(--ink); color:#fff }
.ptd-program .btn svg { width:16px; height:16px; flex-shrink:0 }

/* NOTES */
.ptd-program .notes { padding:16px 18px 24px; color:var(--ink-2); font-size:0.9rem; line-height:1.55 }
.ptd-program .notes ul { padding-left:18px; margin:6px 0 0 }
.ptd-program .notes li { margin:3px 0 }
.ptd-program .notes li::marker { color:var(--red) }

/* PARTNERS */
.ptd-program .partners { padding:20px 18px 1rem;  border-top:1px solid var(--line) }
.ptd-program .partners h3 { font-family:'Fenomen Book','Barlow Condensed',sans-serif; text-transform:uppercase;  font-size:1.5rem; color:var(--ink-2); margin:0 0 10px; font-weight:400 }
.ptd-program .partner-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px }
.ptd-program .partner { aspect-ratio:3/2; background:#fff; border:1px solid var(--line); border-radius:6px; display:flex; align-items:center; justify-content:center; padding:14px }
.ptd-program .partner img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block }
.ptd-program .organizer { padding:16px 18px 28px; background:var(--bg-alt); font-size:0.9rem; color:var(--ink-2); line-height:1.6 }
.ptd-program .organizer b { color:var(--ink) }

/* META */
.ptd-program .meta { display:flex; flex-direction:column; gap:12px; padding:16px 18px 20px; border-bottom:1px solid var(--line) }
.ptd-program .meta-item { display:flex; align-items:center; gap:12px; font-size:1rem; color:var(--ink); font-weight:400 }
.ptd-program .meta-item .meta-icon { width:32px; height:32px; border-radius:8px; background:rgba(219,30,11,.10); display:flex; align-items:center; justify-content:center; flex-shrink:0 }
.ptd-program .meta-item svg { width:16px; height:16px; color:#DB1E0B; flex-shrink:0 }
.ptd-program .meta-item b { font-weight:600;  }

/* TAGS */
.ptd-program .tag-reg { display:inline-block; font-family:'Fenomen Book','Barlow Condensed',sans-serif; font-weight:400;  text-transform:uppercase; font-size:1rem; color:#047857; background:#ecfdf5; border:1px solid #a7f3d0; border-radius:4px; padding:2px 6px; margin-bottom:6px }
.ptd-program .tag-zahajeni { display:inline-block; font-family:'Fenomen Book','Barlow Condensed',sans-serif; font-weight:400;  text-transform:uppercase; font-size:1rem; color:#314158; background:#f0f5f9; border:1px solid #f1f5f9; border-radius:4px; padding:2px 6px; margin-bottom:6px }
.ptd-program .tag-pauza { display:inline-block; font-family:'Fenomen Book','Barlow Condensed',sans-serif; font-weight:400;  text-transform:uppercase; font-size:1rem; color:#bb4d00; background:#fffbeb; border:1px solid #fee685; border-radius:4px; padding:2px 6px; margin-bottom:6px }
.ptd-program .tag-prednaska { display:inline-block; font-family:'Fenomen Book','Barlow Condensed',sans-serif; font-weight:400;  text-transform:uppercase; font-size:1rem; color:#1447e6; background:#eff6ff; border:1px solid #bedbff; border-radius:4px; padding:2px 6px; margin-bottom:6px }
.ptd-program .tag-host { display:inline-block; font-family:'Fenomen Book','Barlow Condensed',sans-serif; font-weight:400;  text-transform:uppercase; font-size:1rem; color:#7008e7; background:#f5f3ff; border:1px solid #ddd6ff; border-radius:4px; padding:2px 6px; margin-bottom:6px }

.ptd-program .block-last { padding-bottom:29px }

/* TABLET ≥ 720px */
@media (min-width: 720px) {
  .ptd-program .hero-content { padding:32px 40px 10px }
  .ptd-program h1.title { font-size:54px }
  .ptd-program .lede { font-size:16px; margin-top:16px }
  .ptd-program .eyebrow { font-size:1rem }

  .ptd-program .block { padding:28px 40px 8px }
  .ptd-program .block-head h2 { font-size:24px }
  .ptd-program .block-head .span { font-size:1rem }

  .ptd-program .item { grid-template-columns:130px 1fr; gap:20px; padding:16px 0 }
  .ptd-program .item.break { padding:16px 14px; margin:8px -4px }
  .ptd-program .time { font-size:1rem }
  .ptd-program .title-line { font-size:18px }
  .ptd-program .speaker { font-size:1rem }
  .ptd-program .tag { font-size:1rem }

  .ptd-program .day-band { margin:22px 40px 0; padding:12px 0 }
  .ptd-program .day-band span { font-size:12.5px }

  .ptd-program .cta-wrap { padding:32px 40px 10px; grid-template-columns:1fr 1fr; gap:14px }
  .ptd-program .btn { font-size:16px; padding:17px 20px }

  .ptd-program .notes { padding:20px 40px 28px; font-size:0.9rem }
  .ptd-program .partners { padding:26px 40px 1rem }
  .ptd-program .partner-grid { grid-template-columns:repeat(3,1fr); gap:12px }
  .ptd-program .partner { padding:12px }
  .ptd-program .organizer { padding:20px 40px 36px; font-size:0.9rem }

  .ptd-program .meta { padding:22px 40px 26px; gap:14px }
  .ptd-program .meta-item { font-size:1rem }
  .ptd-program .meta-item .meta-icon { width:36px; height:36px; border-radius:9px }
  .ptd-program .meta-item svg { width:18px; height:18px }
}

/* DESKTOP ≥ 1024px */
@media (min-width: 1024px) {
  .ptd-program.page {
    display:grid;
    grid-template-columns:minmax(0, 420px) minmax(0, 1fr);
    grid-template-rows:auto auto;
    align-items:start;
    background:var(--bg);
  }

  .ptd-program .aside-stack {
    grid-column:1;
    grid-row:1;
    display:flex;
    flex-direction:column;
    background:#fff;
    border-right:1px solid var(--line);
    align-self:start;
    position:sticky;
    top:var(--aside-top, 0px);
  }

  .ptd-program .hero { border:0; background:#fff }
  .ptd-program .hero-graphic { aspect-ratio:4 / 3 }
  .ptd-program .hero-content { padding:28px 36px 8px }
  .ptd-program h1.title { font-size:46px }
  .ptd-program .lede { font-size:15px }

  .ptd-program .program-col { grid-column:2; grid-row:1; min-width:0; display:block }

  .ptd-program .day-band { max-width:840px; margin:0 56px; padding:18px 0 4px }
  .ptd-program .block { padding:28px 56px 6px; max-width:840px }
  .ptd-program .program-title { margin:32px 56px 0; font-size:64px }

  .ptd-program .cta-wrap { padding:8px 36px 6px; background:#fff; max-width:none; grid-template-columns:1fr; gap:10px }
  .ptd-program .notes { padding:4px 36px 12px; background:#fff; max-width:none }
  .ptd-program .organizer { padding:12px 36px 24px; background:#fff; max-width:none; border-top:1px solid var(--line); margin-top:4px }

  .ptd-program .partners { grid-column:1 / -1; grid-row:2; padding:1rem 0; border-top:1px solid var(--line); }
  .ptd-program .partner-grid { grid-template-columns:repeat(6,1fr) }
  .ptd-program .partner { aspect-ratio:5/3 }

  .ptd-program .item { grid-template-columns:140px 1fr; gap:22px }
  .ptd-program .title-line { font-size:18px }
  .ptd-program .block-head h2 { font-size:24px }

  .ptd-program .btn { font-size:14.5px; padding:13px 14px }
}

@media (min-width: 1100px) {
  .ptd-program .meta { padding:18px 36px 22px; border-bottom:none; gap:12px }
  .ptd-program .meta-item { font-size:1rem }
}

@media (min-width: 1224px) {
  .ptd-program.page { grid-template-columns:460px 1fr }
}
