/* Розклад фестивалю. Вигляд узгоджений із замовником у вересні 2026.
   Збирається з inc/schedule.php — правити тут. */

/* Сторінки Розкладу мають макет content-width-fullwidth + content-style-unboxed,
   а в ньому Kadence прибирає і бічні, і верхній відступи .content-area — вкладки
   впирались у хедер (0px) і в край екрана. Тому задаємо їх самі, тими самими
   значеннями, що й решта сторінок сайту: 80px, 48px на планшеті, 32px на телефоні. */
.wizart-schedule{--ws-ink:var(--global-palette1,#1b211a);--ws-muted:var(--global-palette5,#646464);
  --ws-line:#e6e8ec;--ws-bg:var(--global-palette7,#f5f6f8);--ws-card:#fff;--ws-accent:#0a6689;
  box-sizing:border-box;max-width:1200px;margin-inline:auto;
  padding-inline:var(--global-content-edge-padding,1.5rem);
  padding-top:80px;padding-bottom:64px;
  color:var(--ws-ink)}
@media(max-width:1024px){.wizart-schedule{padding-top:48px}}
@media(max-width:767px){.wizart-schedule{padding-top:32px}}
.wizart-schedule *,.wizart-schedule *::before,.wizart-schedule *::after{box-sizing:border-box}
.wizart-schedule [hidden]{display:none!important}
.wizart-schedule .ws-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}

/* ---- перемикач днів ---- */
.wizart-schedule .ws-days{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.wizart-schedule .ws-day{display:flex;flex-direction:column;gap:2px;padding:10px 16px;
  border:1px solid var(--ws-line);border-radius:10px;background:var(--ws-card);cursor:pointer;
  font:inherit;color:inherit;text-align:left;line-height:1.2;
  transition:border-color .15s,box-shadow .15s}
.wizart-schedule .ws-day b{font-size:.95rem;font-weight:700}
.wizart-schedule .ws-day-count{font-size:.75rem;color:var(--ws-muted)}
.wizart-schedule .ws-day:hover{border-color:var(--ws-accent)}
.wizart-schedule .ws-day[aria-selected="true"]{border-color:var(--ws-accent);box-shadow:inset 0 -3px 0 var(--ws-accent)}
.wizart-schedule .ws-day[aria-selected="true"] .ws-day-count{color:var(--ws-accent)}

/* ---- фільтри ---- */
.wizart-schedule .ws-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:20px 0 0}
.wizart-schedule .ws-flabel{font-size:.8rem;color:var(--ws-muted);margin-right:4px}
.wizart-schedule .ws-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;
  border:1px solid var(--ws-line);border-radius:999px;background:var(--ws-card);cursor:pointer;
  font:inherit;font-size:.85rem;color:inherit;transition:border-color .15s,background .15s}
.wizart-schedule .ws-chip:hover{border-color:var(--ws-muted)}
.wizart-schedule .ws-chip[aria-pressed="true"]{border-color:var(--ws-ink);background:var(--ws-ink);color:#fff}
.wizart-schedule .ws-chip[aria-pressed="true"] .ws-dot{box-shadow:0 0 0 2px #fff}
.wizart-schedule .ws-reset{margin-left:auto;border:0;background:none;color:var(--ws-muted);
  cursor:pointer;font:inherit;font-size:.85rem;text-decoration:underline}

/* Підказка, що стрічку можна гортати. Власна, а не системна: на телефонах
   системна смуга з'являється лише під час прокручування — тобто тоді,
   коли підказка вже не потрібна. */
.wizart-schedule .ws-sbar{height:3px;margin:6px 0 0;border-radius:999px;background:var(--ws-line);position:relative}
.wizart-schedule .ws-sbar.is-off{display:none}
.wizart-schedule .ws-sbar i{position:absolute;top:0;bottom:0;border-radius:999px;background:var(--ws-muted);opacity:.5}

.wizart-schedule .ws-count{margin:18px 0 0;font-size:.85rem;color:var(--ws-muted)}
.wizart-schedule .ws-pane-title{margin:18px 0 0;font-size:.85rem;color:var(--ws-muted)}
.wizart-schedule .ws-empty{margin:32px 0;padding:28px;text-align:center;color:var(--ws-muted);
  background:var(--ws-card);border:1px dashed var(--ws-line);border-radius:10px}

/* ---- стрічка часу ---- */
.wizart-schedule .ws-day-pane{position:relative;padding-left:92px;margin-top:18px}
.wizart-schedule .ws-day-pane::before{content:"";position:absolute;left:74px;top:44px;bottom:10px;
  width:2px;background:var(--ws-line)}
.wizart-schedule .ws-pane-title{margin-left:-92px}

.wizart-schedule .ws-slot{position:relative;margin-bottom:8px}
.wizart-schedule .ws-slot-time{position:absolute;left:-92px;top:13px;width:62px;text-align:right;
  font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.wizart-schedule .ws-slot-time::after{content:"";position:absolute;right:-23px;top:-1px;
  width:10px;height:10px;border-radius:50%;background:var(--ws-card);border:2px solid var(--ws-line)}
.wizart-schedule .ws-slot.has-tickets .ws-slot-time::after{border-color:var(--ws-accent)}
.wizart-schedule .ws-slot-parallel{margin:0 0 5px;font-size:.74rem;font-weight:600;color:var(--ws-accent)}
.wizart-schedule .ws-slot-box{background:var(--ws-card);border:1px solid var(--ws-line);
  border-radius:10px;overflow:hidden}

.wizart-schedule .ws-gap{position:relative;margin:0 0 8px;padding:5px 0 5px 2px;
  font-size:.76rem;color:var(--ws-muted)}
.wizart-schedule .ws-gap::before{content:"";position:absolute;left:-17px;top:0;bottom:0;width:2px;
  background:repeating-linear-gradient(to bottom,var(--ws-line),var(--ws-line) 4px,transparent 4px,transparent 9px)}

/* ---- рядок події ---- */
.wizart-schedule .ws-row{border-top:1px solid var(--ws-line)}
.wizart-schedule .ws-row:first-child{border-top:0}
.wizart-schedule .ws-row-head{display:flex;align-items:center;gap:12px;padding-right:16px;
  border-left:4px solid transparent}
.wizart-schedule .ws-row-head:hover{background:#fafbfc}
.wizart-schedule .ws-row-btn{display:flex;align-items:center;flex:1 1 auto;min-width:0;
  padding:12px 0 12px 16px;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.wizart-schedule .ws-row-btn:focus-visible{outline:2px solid var(--ws-accent);outline-offset:-2px}
.wizart-schedule .ws-row-main{flex:1 1 auto;min-width:0}
.wizart-schedule .ws-row-kicker{display:block;font-size:.77rem;color:var(--ws-muted);margin-bottom:2px}
.wizart-schedule .ws-row-kicker .ws-dot{margin-right:6px;vertical-align:1px}
.wizart-schedule .ws-row-title{display:block;font-size:1rem;font-weight:600;line-height:1.3}

.wizart-schedule .ws-row-cta{flex:none;font-size:.7rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;padding:5px 11px;border-radius:999px;white-space:nowrap;
  text-decoration:none;background:#e8f2f7;color:var(--ws-accent);
  transition:background .15s,color .15s}
.wizart-schedule a.ws-row-cta:hover,.wizart-schedule a.ws-row-cta:focus{background:var(--ws-accent);color:#fff}
.wizart-schedule a.ws-row-cta:focus-visible{outline:2px solid var(--ws-ink);outline-offset:2px}
.wizart-schedule .ws-row-cta--free{background:var(--ws-bg);color:var(--ws-muted)}

.wizart-schedule .ws-chev{flex:none;width:9px;height:9px;margin-left:2px;pointer-events:none;
  border-right:2px solid var(--ws-muted);border-bottom:2px solid var(--ws-muted);
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.wizart-schedule .ws-row.is-open .ws-chev{transform:rotate(-135deg) translate(-2px,-2px)}

.wizart-schedule .ws-row-panel{display:grid;grid-template-columns:230px 1fr;gap:22px;
  padding:2px 16px 20px 20px}
/* Згортаємо лише тоді, коли є JS: інакше сторінка без скриптів втратила б
   і описи, і всі дні, крім першого. */
.ws-js .wizart-schedule .ws-day-pane{display:none}
.ws-js .wizart-schedule .ws-day-pane.is-current{display:block}
.ws-js .wizart-schedule .ws-row .ws-row-panel{display:none}
.ws-js .wizart-schedule .ws-row.is-open .ws-row-panel{display:grid}
.wizart-schedule .ws-row-media img{width:100%;aspect-ratio:16/9;object-fit:cover;
  border-radius:7px;display:block;background:var(--ws-bg)}
.wizart-schedule .ws-row-addr{margin:0 0 8px;font-size:.85rem}
.wizart-schedule .ws-row-desc{margin:0 0 14px;color:var(--ws-muted);font-size:.93rem;line-height:1.6}
.wizart-schedule .ws-row-desc p{margin:0 0 .7em}
.wizart-schedule .ws-row-desc p:last-child{margin-bottom:0}
.wizart-schedule .ws-row-actions{display:flex;flex-wrap:wrap;gap:10px}
.wizart-schedule .ws-btn{display:inline-block;padding:9px 18px;border-radius:6px;
  font-size:.88rem;font-weight:600;text-decoration:none}
.wizart-schedule .ws-btn--main{background:var(--global-palette-btn-bg,#1b211a);color:var(--global-palette-btn,#fff)}
.wizart-schedule .ws-btn--sec{background:var(--ws-bg);color:var(--ws-ink);border:1px solid var(--ws-line)}

/* ---- телефон ---- */
@media(max-width:760px){
  .wizart-schedule .ws-days,
  .wizart-schedule .ws-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
    margin-inline:calc(-1 * var(--global-content-edge-padding,1.5rem));
    padding:0 var(--global-content-edge-padding,1.5rem) 4px}
  .wizart-schedule .ws-days::-webkit-scrollbar,
  .wizart-schedule .ws-filters::-webkit-scrollbar{display:none}
  .wizart-schedule .ws-days{scroll-snap-type:x mandatory}
  .wizart-schedule .ws-day{flex:none;scroll-snap-align:start}
  .wizart-schedule .ws-filters{gap:6px;margin-top:16px}
  .wizart-schedule .ws-flabel,
  .wizart-schedule .ws-chip,
  .wizart-schedule .ws-reset{flex:none}
  /* margin-left:auto у стрічці, що прокручується, відштовхує вміст так,
     що до перших фішок уже не докрутити. Тому звичайний відступ. */
  .wizart-schedule .ws-reset{margin-left:6px}
  .wizart-schedule .ws-chip{font-size:.8rem;padding:5px 11px}

  .wizart-schedule .ws-day-pane{padding-left:0}
  .wizart-schedule .ws-day-pane::before{display:none}
  .wizart-schedule .ws-pane-title{margin-left:0}
  .wizart-schedule .ws-slot-time{position:static;width:auto;text-align:left;margin:0 0 5px}
  .wizart-schedule .ws-slot-time::after{display:none}
  .wizart-schedule .ws-gap::before{display:none}
  .wizart-schedule .ws-gap{padding-left:0}
  /* Бейдж «купити квитки» відбирав місце в назви, і вона обтікала його
     драбинкою — тому на вузькому екрані він переїжджає під назву. */
  .wizart-schedule .ws-row-head{flex-wrap:wrap;padding:0 13px 11px;gap:0}
  .wizart-schedule .ws-row-btn{flex:1 1 100%;padding:11px 0 7px}
  .wizart-schedule .ws-row-cta{margin:0}
  .wizart-schedule .ws-chev{display:none}
  .wizart-schedule .ws-row-panel{grid-template-columns:1fr;padding:2px 13px 16px}
}
