.sempro{font:inherit;color:inherit;max-width:100%;--sp-border:#dedede;--sp-muted:#626262}.sempro *{box-sizing:border-box}.sempro-controls{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(145px,1fr));gap:12px;margin:0 0 18px}.sempro-controls label{display:block}.sempro-controls input,.sempro-controls select{width:100%;height:44px;min-width:0;background:#fff;border:1px solid #c8c8c8;border-radius:3px;padding:0 12px;color:#222;font:inherit}.sempro-status{font-size:13px;color:var(--sp-muted);padding:6px 0 13px}.sempro-loading .sempro-results{opacity:.55}.sempro-table{border-top:1px solid var(--sp-border)}.sempro-row{display:grid;grid-template-columns:125px minmax(250px,3fr) minmax(130px,1.2fr) minmax(130px,1.3fr) 96px;gap:18px;align-items:start;border-bottom:1px solid var(--sp-border);padding:18px 0;line-height:1.45}.sempro-row a{color:inherit;text-decoration:underline;text-underline-offset:3px}.sempro-when span,.sempro-when small{display:block;font-size:12px;color:var(--sp-muted)}.sempro-when strong{display:block;font-size:22px;font-weight:600;line-height:1.3}.sempro-title{font-size:16px;font-weight:600}.sempro-title p{margin:0 0 5px}.sempro-title br{display:block;content:"";margin:4px 0}.sempro-tags{display:flex;flex-wrap:wrap;gap:5px 9px;margin:9px 0 0;font-size:12px;color:var(--sp-muted);font-weight:400}.sempro-tags span:not(:last-child):after{content:' ·'}.sempro-venue,.sempro-category{font-size:13px}.sempro-tickets{display:inline-block;padding:8px 12px;background:#171717;color:#fff!important;text-decoration:none!important;font-size:12px}.sempro-soldout{font-size:12px;font-weight:600}.sempro-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:22px 0}.sempro-pagination button{font:inherit;padding:8px 15px;border:1px solid #aaa;background:#fff;cursor:pointer}.sempro-pagination button:disabled{opacity:.4;cursor:default}.sempro-empty{padding:30px 0;color:var(--sp-muted)}@media(max-width:980px){.sempro-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.sempro-row{grid-template-columns:95px minmax(0,1fr) 125px;gap:12px}.sempro-venue,.sempro-category{grid-column:2}.sempro-buy{grid-column:3;grid-row:1}}@media(max-width:600px){.sempro-controls{grid-template-columns:1fr 1fr}.sempro-controls label{grid-column:1/-1}.sempro-row{grid-template-columns:82px minmax(0,1fr);gap:10px}.sempro-title{font-size:15px}.sempro-venue,.sempro-category{grid-column:2}.sempro-buy{grid-column:2}.sempro-when strong{font-size:18px}}

/* Private preview labels (never shown by public API) */
.sempro-post-badge{display:inline-block;vertical-align:middle;margin:0 10px 6px 0;padding:3px 8px;border-radius:3px;border:1px solid #999;font:600 11px/1.3 sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#333;background:#f0f0f0}
.sempro-post-draft,.sempro-post-pending{border-color:#d99a23;background:#fff5df;color:#795000}
.sempro-post-publish{border-color:#b4d3be;background:#f0faf2;color:#285c36}

/* Sorting toolbar and interactive headers (v0.1.3) */
.sempro-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 8px}
.sempro-toolbar .sempro-status{padding:6px 0}
.sempro-sort-label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--sp-muted)}
.sempro-sort{min-width:240px;max-width:100%;height:40px;border:1px solid #c8c8c8;border-radius:3px;background:#fff;padding:0 10px;color:#222;font:inherit}
.sempro-head{display:grid;grid-template-columns:125px minmax(250px,3fr) minmax(130px,1.2fr) minmax(130px,1.3fr) 96px;gap:18px;border-bottom:1px solid var(--sp-border);padding:12px 0;align-items:center}
.sempro-head-sort{appearance:none;border:0;background:none;padding:0;text-align:left;font-size:12px;font-weight:600;line-height:1.4;font-family:inherit;letter-spacing:.02em;color:#555;cursor:pointer;white-space:normal}
.sempro-head-sort span{font-size:10px;margin-left:3px;color:#999}
.sempro-head-sort.is-active,.sempro-head-sort.is-active span{color:#171717}
.sempro-head-sort:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.sempro-head-buy{font-size:12px;font-weight:600;color:#555}
.sempro-head-duration{display:none}
@media(max-width:980px){.sempro-head{grid-template-columns:95px minmax(0,1fr) 125px;gap:12px}.sempro-head-room,.sempro-head-section,.sempro-head-duration,.sempro-head-buy{display:none}}
@media(max-width:600px){.sempro-head{display:none}.sempro-sort-label{width:100%;justify-content:space-between}.sempro-sort{min-width:0;width:min(100%,260px)}}

/* Presentation refinements (v0.1.4) */
.sempro .sempro-head-sort,
.sempro button.sempro-head-sort{font-family:inherit;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.035em;color:inherit;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;min-height:0!important;line-height:1.35!important;padding:0!important;display:inline-flex;align-items:center;gap:5px;justify-content:flex-start;text-align:left;max-width:100%;width:max-content}
.sempro .sempro-head-sort:hover{text-decoration:underline;text-underline-offset:3px}
.sempro .sempro-head-sort .sempro-icon{width:14px;height:14px;opacity:.55;flex-shrink:0}
.sempro .sempro-head-sort.is-active .sempro-icon{opacity:1}
.sempro .sempro-head-buy{text-transform:uppercase;letter-spacing:.035em;font-weight:700;color:inherit}
.sempro .sempro-when>span{font-size:13px;text-transform:uppercase;font-weight:600;letter-spacing:.03em}
.sempro .sempro-collective{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.sempro .sempro-collective-film{display:block;line-height:1.45}
.sempro .sempro-collective-film a{display:inline;text-decoration:underline;text-underline-offset:3px}
.sempro .sempro-features{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:9px;font-size:12px;color:var(--sp-muted);font-weight:400}
.sempro .sempro-feature{display:inline-flex;align-items:flex-start;gap:6px;line-height:1.45}
.sempro .sempro-feature .sempro-icon{flex:0 0 16px;width:16px;height:16px;opacity:.78}
.sempro .sempro-access{display:block;margin-top:2px}
.sempro .sempro-tickets{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;padding:5px!important;border:1px solid currentColor!important;border-radius:3px;background:transparent!important;color:inherit!important;text-decoration:none!important;line-height:1!important;box-shadow:none!important;transition:opacity .15s ease}
.sempro .sempro-tickets:hover{opacity:.65}
.sempro .sempro-tickets .sempro-icon{width:22px;height:22px}

/* SEMINCI Icons and press-screening filter (v0.1.5) */
.sempro .sempro-press-filter{display:inline-flex!important;align-items:center;gap:9px;grid-column:1/-1;width:max-content;max-width:100%;cursor:pointer;font-size:14px;line-height:1.3;color:inherit}
.sempro .sempro-press-filter input[type="checkbox"]{appearance:auto;width:17px;height:17px;min-width:17px;margin:0;padding:0;accent-color:currentColor;cursor:pointer}
.sempro .sempro-press-filter span{white-space:nowrap}
.sempro .sempro-feature.sempro-access{display:inline-flex;align-items:flex-start;gap:6px;margin-top:2px}
.sempro .sempro-icon-accreditation{flex:0 0 16px;width:16px;height:16px;opacity:.85}

/* v0.1.6: five matching columns, unframed ticket icon. */
.sempro {--sempro-columns: minmax(100px,125px) minmax(0,3fr) minmax(0,1.2fr) minmax(0,1.3fr) minmax(72px,96px)}
.sempro .sempro-head,
.sempro .sempro-row{grid-template-columns:var(--sempro-columns)!important;column-gap:18px;min-width:0}
.sempro .sempro-head > *,
.sempro .sempro-row > *{min-width:0}
.sempro .sempro-head-buy{grid-column:5;white-space:nowrap}
.sempro .sempro-buy{grid-column:5;min-width:0}
.sempro a.sempro-tickets,
.sempro a.sempro-tickets.sempro-tickets-icon{
 width:28px!important;height:28px!important;min-width:0!important;min-height:0!important;
 margin:0!important;padding:0!important;border:0!important;outline-offset:3px;
 border-radius:0!important;background:none!important;box-shadow:none!important;
 color:inherit!important;display:inline-flex!important;align-items:center;justify-content:center;
 text-decoration:none!important;line-height:1!important;vertical-align:middle;
}
.sempro a.sempro-tickets .sempro-icon{width:25px!important;height:25px!important;display:block;flex:none;stroke:currentColor!important}
.sempro a.sempro-tickets:hover{opacity:.65}
@media(max-width:980px){
 .sempro{--sempro-columns:95px minmax(0,1fr) 90px}
 .sempro .sempro-head,.sempro .sempro-row{column-gap:12px}
 .sempro .sempro-head-buy{display:none}
 .sempro .sempro-buy{grid-column:3;grid-row:1}
}
@media(max-width:600px){
 .sempro{--sempro-columns:82px minmax(0,1fr)}
 .sempro .sempro-head{display:none}
 .sempro .sempro-buy{grid-column:2;grid-row:auto}
}

/* v0.1.8: dismissible active-filter chips, based on the gallery filter UX */
.sempro .sempro-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px 17px;margin:-3px 0 17px;min-height:0}
.sempro .sempro-active-filters[hidden]{display:none!important}
.sempro .sempro-chip-list{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.sempro button.sempro-chip{display:inline-flex;align-items:center;gap:11px;max-width:100%;min-height:32px;padding:5px 9px 5px 12px;border:1px solid #d0d0d0!important;border-radius:2px!important;background:transparent!important;box-shadow:none!important;color:inherit!important;font-family:inherit;font-weight:500;font-size:12px;line-height:1.3;cursor:pointer;text-align:left;transition:border-color .15s ease}
.sempro button.sempro-chip:hover{border-color:currentColor!important}
.sempro .sempro-chip>span:first-child{overflow-wrap:anywhere}
.sempro .sempro-chip-x{display:inline-block;font:400 18px/1 Arial,sans-serif;opacity:.7;flex-shrink:0}
.sempro .sempro-clear-filters{appearance:none;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:5px 0!important;color:inherit!important;font-family:inherit;font-weight:600;font-size:12px;line-height:1.4;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.sempro .sempro-clear-filters:hover{opacity:.7}
.sempro .sempro-chip:focus-visible,.sempro .sempro-clear-filters:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* v0.1.9: session alias is a distinct heading, never a replacement for film titles. */
.sempro .sempro-session-alias{font-size:16px;line-height:1.35;font-weight:700;margin:0 0 5px;overflow-wrap:anywhere}
.sempro .sempro-session-titles{font-weight:600}
@media(max-width:600px){.sempro .sempro-session-alias{font-size:15px}}
/* 0.1.11: simplified gallery-inspired filters and contextual actions */
.sempro .sempro-controls{background:#f7f7f7;border:1px solid #ededed;padding:17px;border-radius:6px;gap:10px 12px;align-items:center;margin-bottom:18px}
.sempro .sempro-controls>label:first-child{position:relative}
.sempro .sempro-controls input[type=search],.sempro .sempro-controls select{border:1px solid #d1d1d1!important;border-radius:4px!important;min-height:46px!important;background:#fff!important;box-shadow:none!important}
.sempro .sempro-controls input[type=search]:focus,.sempro .sempro-controls select:focus{outline:2px solid currentColor;outline-offset:1px}
.sempro .sempro-quick-check{grid-column:auto!important;display:inline-flex!important;align-items:center;gap:7px;cursor:pointer;font-size:13px}
.sempro .sempro-quick-check input{appearance:auto;width:17px;height:17px;min-width:17px;padding:0;margin:0;accent-color:currentColor}
.sempro .sempro-suggestions{position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 4px);max-height:270px;overflow:auto;background:white;box-shadow:0 10px 25px #0002;border:1px solid #ddd;border-radius:4px}
.sempro .sempro-suggestions[hidden]{display:none}
.sempro .sempro-suggestion{display:block;width:100%;border:0!important;background:#fff!important;color:#222!important;text-align:left;padding:11px 13px!important;font-size:13px!important;font-weight:500!important;cursor:pointer}
.sempro .sempro-suggestion:hover,.sempro .sempro-suggestion:focus{background:#f0f0f0!important}
.sempro .sempro-buy{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}
.sempro a.sempro-vote{display:inline-flex!important;align-items:center;justify-content:center;width:28px!important;height:28px!important;color:inherit!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;text-decoration:none!important}
.sempro a.sempro-vote svg{width:25px;height:25px}
.sempro a.sempro-vote:hover{opacity:.65}
.sempro{--sempro-columns:minmax(100px,125px) minmax(0,3fr) minmax(0,1.2fr) minmax(0,1.3fr) minmax(80px,105px)}
@media(max-width:980px){.sempro{--sempro-columns:95px minmax(0,1fr) 90px}}
@media(max-width:600px){.sempro{--sempro-columns:82px minmax(0,1fr)}.sempro .sempro-controls{padding:10px;grid-template-columns:1fr 1fr}.sempro .sempro-controls>label:first-child{grid-column:1/-1}}

/* 0.1.12 — SEMINCI gallery-style filter system.
   All rules scoped to this plugin; no changes to JetEngine or Elementor. */
.sempro {
  --sempro-filter-line: #d7d7d7;
  --sempro-filter-ink: #222;
  --sempro-filter-muted: #777;
}
.sempro .sempro-controls {
  display:grid!important;
  grid-template-columns: minmax(240px,1.65fr) repeat(3,minmax(155px,1fr));
  column-gap:clamp(14px,2vw,28px);
  row-gap:22px;
  align-items:end;
  margin:0 0 18px;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.sempro .sempro-controls .sempro-field {
  display:flex!important;
  flex-direction:column;
  position:relative;
  min-width:0;
  margin:0;
  gap:7px;
}
.sempro .sempro-controls .sempro-field-label {
  display:block;
  font-family:inherit;
  color:var(--sempro-filter-muted);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.075em;
  line-height:1.35;
}
.sempro .sempro-controls .sempro-field input[type=search],
.sempro .sempro-controls .sempro-field select {
  display:block;
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  padding:0 26px 0 0!important;
  background:transparent!important;
  color:var(--sempro-filter-ink)!important;
  border:0!important;
  border-bottom:1px solid var(--sempro-filter-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.3;
  outline:0!important;
}
.sempro .sempro-controls .sempro-field input[type=search] {padding-right:10px!important;}
.sempro .sempro-controls .sempro-field input::placeholder {color:#888;opacity:1;}
.sempro .sempro-controls .sempro-field :is(input,select):focus-visible {
  border-bottom-color:#181818!important;
  box-shadow:0 1px 0 #181818!important;
  outline:0!important;
}
.sempro .sempro-controls .sempro-checks {
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  column-gap:clamp(18px,3vw,38px);
  row-gap:12px;
  padding:4px 0 15px;
  border-bottom:1px solid #eee;
}
.sempro .sempro-controls .sempro-checks-caption {
  margin:0;
  color:var(--sempro-filter-muted);
  font-size:11px;
  font-weight:700;
  line-height:1.4;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.sempro .sempro-controls .sempro-press-filter,
.sempro .sempro-controls .sempro-quick-check {
  display:inline-flex!important;
  grid-column:auto!important;
  align-items:center;
  width:auto;
  gap:9px;
  margin:0;
  color:var(--sempro-filter-ink);
  font-size:13px;
  line-height:1.5;
  font-weight:500;
  white-space:normal;
  cursor:pointer;
}
.sempro .sempro-controls :is(.sempro-press-filter,.sempro-quick-check) input[type=checkbox] {
  appearance:none!important;
  -webkit-appearance:none!important;
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #777!important;
  border-radius:2px!important;
  background:#fff!important;
  box-shadow:none!important;
  cursor:pointer;
}
.sempro .sempro-controls :is(.sempro-press-filter,.sempro-quick-check) input[type=checkbox]:checked {
  background:#161616!important;
  border-color:#161616!important;
  box-shadow:inset 0 0 0 3px #fff!important;
}
.sempro .sempro-controls :is(.sempro-press-filter,.sempro-quick-check) input[type=checkbox]:focus-visible {
  outline:2px solid #222!important;
  outline-offset:3px;
}
.sempro .sempro-active-filters {margin:0 0 14px;gap:9px 14px;}
.sempro button.sempro-chip {min-height:31px;padding:5px 10px!important;border-color:#ddd!important;border-radius:0!important;background:#f8f8f8!important;font-size:12px;}
.sempro .sempro-clear-filters {font-size:12px!important;}
.sempro .sempro-suggestions {
  top:calc(100% + 3px);border:1px solid #dedede;border-radius:0;box-shadow:0 16px 26px #00000014;
}
.sempro .sempro-suggestion {font-family:inherit!important;}
@media (max-width:1020px){
 .sempro .sempro-controls {grid-template-columns:repeat(2,minmax(0,1fr));}
 .sempro .sempro-controls .sempro-field-search {grid-column:1/-1;}
}
@media (max-width:600px){
 .sempro .sempro-controls {grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:17px;}
 .sempro .sempro-controls .sempro-field-search {grid-column:1/-1;}
 .sempro .sempro-controls .sempro-field input[type=search],
 .sempro .sempro-controls .sempro-field select {font-size:14px!important;height:42px!important;min-height:42px!important;}
 .sempro .sempro-controls .sempro-checks {padding-bottom:13px;column-gap:16px;row-gap:12px;}
 .sempro .sempro-controls .sempro-checks-caption {flex-basis:100%;}
 .sempro .sempro-controls .sempro-checks :is(.sempro-press-filter,.sempro-quick-check) {font-size:12px;}
}


/* 0.1.13 — Exact Fototeca 0.22.8 filter structure and dropdown visual language.
   Kept within .sempro so the photo plugin and other Elementor widgets are untouched. */
.sempro .sempro-controls.sempro-enhanced{display:flex!important;flex-direction:column;gap:0!important;margin-bottom:15px!important;align-items:stretch!important}
.sempro .sempro-filter-bar{display:flex;flex-wrap:nowrap;align-items:stretch;width:100%;padding:12px 0;border-bottom:1px solid #e4e4e4;background:#fff;position:relative;z-index:5}
.sempro .sempro-filter-bar>.sempro-field{flex:1 1 0;min-width:0;margin:0!important;border-right:1px solid #d8d8d8}
.sempro .sempro-filter-bar>.sempro-field:last-child{border-right:0}
.sempro .sempro-filter-bar .sempro-field-label{display:none!important}
.sempro .sempro-filter-bar select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
.sempro .sempro-filter{position:relative;margin:0;border:0;border-radius:0}
.sempro .sempro-filter summary{display:block;position:relative;cursor:pointer;list-style:none;padding:12px 32px 12px 16px;min-height:65px;line-height:1.5;background:#fff}
.sempro .sempro-filter summary::-webkit-details-marker{display:none}
.sempro .sempro-filter summary::marker{content:''}
.sempro .sempro-filter-label{display:block;font-size:10px!important;font-weight:400!important;color:#777;letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px}
.sempro .sempro-filter-value{display:block;font-size:13px;line-height:1.5;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#181818}
.sempro .sempro-filter-arrow{position:absolute;right:14px;bottom:16px;font-size:16px;font-style:normal;line-height:1;color:#181818}
.sempro .sempro-filter[open] summary{background:#f7f7f7}
.sempro .sempro-filter-menu{position:absolute;top:100%;left:0;width:max(100%,280px);max-width:calc(100vw - 32px);background:#fff;border:1px solid #e4e4e4;box-shadow:0 15px 35px #0002;padding:12px;z-index:80}
.sempro .sempro-filter-bar>.sempro-field:last-child .sempro-filter-menu{left:auto;right:0}
.sempro .sempro-filter-options{max-height:330px;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:4px}
.sempro .sempro-filter-options button.sempro-filter-option{display:block;flex-shrink:0;width:100%;text-align:left;white-space:normal;padding:14px 12px!important;min-height:46px;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;color:#222!important;cursor:pointer;font:400 14px/1.4 inherit!important;line-height:1.4!important}
.sempro .sempro-filter-options button.sempro-filter-option:hover,.sempro .sempro-filter-options button.sempro-filter-option[aria-selected=true]{background:#f2f2f2!important;color:#e30613!important}
.sempro .sempro-filter-options button.sempro-filter-option[hidden]{display:none!important}
.sempro .sempro-filter-menu-search{display:block;width:100%!important;height:40px!important;min-height:40px!important;padding:8px 12px!important;margin:0 0 8px!important;border:1px solid #ccc!important;border-radius:0!important;background:white!important;font-size:14px!important}
.sempro .sempro-filter-menu-search[hidden]{display:none!important}
.sempro .sempro-search-bar{width:100%;margin:18px 0 8px}
.sempro .sempro-search-bar .sempro-field-search{display:block!important;width:100%;position:relative}
.sempro .sempro-search-bar .sempro-field-label{display:none!important}
.sempro .sempro-search-bar input.sempro-search{display:block;width:100%!important;min-height:58px!important;height:58px!important;background:#fff!important;border:1px solid #e4e4e4!important;border-radius:0!important;padding:16px 20px!important;font-size:15px!important;box-shadow:none!important}
.sempro .sempro-controls .sempro-checks{width:100%;border-bottom:1px solid #e4e4e4;margin-top:5px;padding:10px 0 16px}
.sempro .sempro-filter summary:focus-visible,.sempro .sempro-filter-option:focus-visible{outline:2px solid #e30613;outline-offset:-2px}
@media(max-width:900px){.sempro .sempro-filter-bar{flex-wrap:wrap}.sempro .sempro-filter-bar>.sempro-field{flex:1 1 33.333%;border-bottom:1px solid #eee}.sempro .sempro-filter-bar>.sempro-field:nth-child(3n){border-right:0}.sempro .sempro-filter-bar>.sempro-field:last-child .sempro-filter-menu{left:auto;right:0}}
@media(max-width:600px){.sempro .sempro-filter-bar>.sempro-field{flex:1 1 50%}.sempro .sempro-filter-bar>.sempro-field:nth-child(3n){border-right:1px solid #d8d8d8}.sempro .sempro-filter-bar>.sempro-field:nth-child(2n){border-right:0}.sempro .sempro-filter summary{padding:13px 22px 12px 12px;min-height:65px}.sempro .sempro-filter-label{font-size:9px!important}.sempro .sempro-filter-menu{width:270px}.sempro .sempro-filter-bar>.sempro-field:nth-child(2n) .sempro-filter-menu{left:auto;right:0}.sempro .sempro-search-bar input.sempro-search{min-height:50px!important;height:50px!important;font-size:12px!important;padding:15px 12px!important}}
/* Specificity guard against Elementor and legacy 0.1.12 input rules. */
.sempro .sempro-controls.sempro-enhanced .sempro-filter-menu input.sempro-filter-menu-search{height:40px!important;min-height:40px!important;border:1px solid #ccc!important;padding:8px 12px!important;background:#fff!important}
.sempro .sempro-controls.sempro-enhanced .sempro-search-bar input.sempro-search{height:58px!important;min-height:58px!important;border:1px solid #e4e4e4!important;border-radius:0!important;background:#fff!important;padding:16px 20px!important}
.sempro .sempro-filter-options button.sempro-filter-option{font-family:inherit!important;font-size:14px!important;font-weight:400!important}
@media(max-width:600px){.sempro .sempro-controls.sempro-enhanced .sempro-search-bar input.sempro-search{height:50px!important;min-height:50px!important;padding:15px 12px!important}}

/* 0.1.16 — fixed column labels and incremental results.
   Override --sempro-sticky-offset on the Elementor section when site header height changes. */
@media (min-width: 601px){
 .sempro .sempro-head{
  position:sticky!important;
  top:var(--sempro-sticky-offset, 100px)!important;
  z-index:20;
  background:#fff;
  border-top:1px solid var(--sp-border);
  box-shadow:0 5px 10px -10px rgba(0,0,0,.4);
 }
}
.sempro .sempro-pagination{flex-direction:column;gap:10px;margin:26px 0 35px}
.sempro .sempro-pagination button.sempro-load-more{
 padding:13px 27px!important;border:1px solid #171717!important;
 border-radius:0!important;background:#fff!important;color:#171717!important;
 cursor:pointer;font-family:inherit!important;font-size:13px!important;font-weight:600!important;line-height:1.4!important;min-height:46px;
 transition:background .15s ease,color .15s ease;
}
.sempro .sempro-pagination button.sempro-load-more:hover{background:#171717!important;color:#fff!important}
.sempro .sempro-pagination button.sempro-load-more:disabled{opacity:.5;cursor:wait}
.sempro .sempro-load-count{font-size:12px;color:var(--sp-muted)}

/* 0.1.17 — Sticky heading is rendered in a body-level portal.
   This prevents Elementor ancestors and filter menus from covering it. */
@media (min-width:601px){
 .sempro .sempro-head{position:static!important;top:auto!important;z-index:auto!important;box-shadow:none!important}
 .sempro.sempro-sticky-portal{position:fixed!important;z-index:10000!important;pointer-events:auto;background:#fff;max-width:none!important;margin:0!important;padding:0!important;box-shadow:0 6px 12px rgba(0,0,0,.08)}
 .sempro.sempro-sticky-portal .sempro-head{display:grid!important;grid-template-columns:125px minmax(250px,3fr) minmax(130px,1.2fr) minmax(130px,1.3fr) 96px;gap:18px;align-items:center;background:#fff;border-top:1px solid var(--sp-border,#dedede);border-bottom:1px solid var(--sp-border,#dedede);padding:12px 0}
 .sempro.sempro-sticky-portal[hidden]{display:none!important}
}
@media (min-width:601px) and (max-width:980px){
 .sempro.sempro-sticky-portal .sempro-head{grid-template-columns:95px minmax(0,1fr) 125px;gap:12px}
}
@media (max-width:600px){.sempro.sempro-sticky-portal{display:none!important}}

/* 0.1.18 — Clean floating header and right-aligned row actions. */
.sempro .sempro-buy{
 display:flex!important;
 align-items:center;
 justify-content:flex-end!important;
 gap:12px;
 width:100%;
 text-align:right;
}
.sempro .sempro-buy > *{flex-shrink:0}
@media (min-width:601px){
 .sempro.sempro-sticky-portal{
  background:#fff!important;
  box-shadow:none!important;
  overflow:visible;
 }
 .sempro.sempro-sticky-portal::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:10px;
  background:linear-gradient(to bottom,rgba(0,0,0,.13),rgba(0,0,0,0));
  pointer-events:none;
 }
 .sempro.sempro-sticky-portal .sempro-head{
  background:#fff!important;
  padding-top:25px!important;
  padding-bottom:13px!important;
  border-top:0!important;
  box-shadow:none!important;
 }
}

/* 0.1.19 — Festival day navigation and current screening state. */
.sempro .sempro-day-navigation{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #dedede;border-bottom:1px solid #dedede;margin:12px 0 19px;min-width:0}
.sempro .sempro-day-navigation[hidden]{display:none!important}
.sempro .sempro-day-scroll{display:flex;gap:0;align-items:center;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.sempro .sempro-quick-days{display:flex;align-items:center;gap:5px;flex-shrink:0;padding-left:13px;border-left:1px solid #dedede}
.sempro .sempro-day-navigation button.sempro-day-button{appearance:none!important;background:transparent!important;border:0!important;border-radius:0!important;color:#333!important;box-shadow:none!important;white-space:nowrap!important;min-width:0!important;min-height:52px!important;padding:14px 13px!important;line-height:1.3!important;font-size:12px!important;font-weight:700!important;letter-spacing:.035em!important;font-family:inherit!important;cursor:pointer}
.sempro .sempro-day-navigation button.sempro-day-button:hover{color:#c40018!important}
.sempro .sempro-day-navigation button.sempro-day-button.is-active{color:#c40018!important;box-shadow:inset 0 -3px 0 #c40018!important}
.sempro .sempro-day-navigation button.sempro-day-button:focus-visible{outline:2px solid #c40018!important;outline-offset:-3px!important}
.sempro .sempro-live-badge{display:inline-block;width:max-content;padding:4px 6px;margin-top:7px;font-size:10px;line-height:1.2;font-weight:700;color:#c40018;border:1px solid currentColor;letter-spacing:.04em}
@media(max-width:850px){.sempro .sempro-day-navigation{flex-direction:column;align-items:stretch;gap:0}.sempro .sempro-quick-days{border-left:0;border-top:1px solid #eaeaea;padding:0}}
@media(max-width:600px){.sempro .sempro-day-navigation button.sempro-day-button{min-height:45px!important;padding:11px 10px!important;font-size:11px!important}}

/* 0.1.20 — Diagnostic-only inactive ticket/voting icons in authorized previews. */
.sempro .sempro-preview-disabled{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;color:#a0a0a0!important;opacity:.75;cursor:help;background:transparent!important;border:0!important;box-shadow:none!important;vertical-align:middle}
.sempro .sempro-preview-disabled .sempro-icon,.sempro .sempro-preview-disabled svg{width:25px;height:25px;stroke:currentColor!important;fill:none;display:block}
.sempro .sempro-preview-disabled:focus-visible{outline:2px solid #777;outline-offset:3px}
.sempro .sempro-buy{display:flex;align-items:center;justify-content:flex-end;gap:12px}

/* 0.1.22 — Compact mobile schedule layout; desktop unaffected. */
.sempro .sempro-buy-mobile{display:none!important}
.sempro .sempro-time-detail .sempro-time-end::after{content:" · "}
@media(max-width:600px){
  /* Day selection stays available in the main date filter. */
  .sempro .sempro-day-navigation{display:none!important}
  .sempro .sempro-when{min-width:0}
  .sempro .sempro-time-detail{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.35}
  .sempro .sempro-time-detail .sempro-time-end,
  .sempro .sempro-time-detail .sempro-time-duration{display:block;white-space:nowrap}
  .sempro .sempro-time-detail .sempro-time-end::after{content:none}
  .sempro .sempro-buy-desktop{display:none!important}
  .sempro .sempro-when .sempro-buy-mobile{
    display:flex!important;justify-content:flex-start!important;align-items:center;
    width:auto!important;gap:10px;margin-top:15px;flex-wrap:wrap;
    grid-column:auto;grid-row:auto;text-align:left;
  }
  .sempro .sempro-when .sempro-buy-mobile > *{flex:0 0 auto}
}


/* 0.1.22 — Controlled layers beneath SEMINCI's red sticky page header. */
/* Confine dropdown stacking to the programme, so menu z-index 3 wins. */
.sempro:not(.sempro-sticky-portal){position:relative;isolation:isolate;z-index:0}
.sempro .sempro-filter-bar{z-index:1!important}
.sempro .sempro-filter-menu{z-index:10}
/* The detached table heading remains above programme filters, below the site header. */
@media(min-width:601px){
 .sempro.sempro-sticky-portal{z-index:2!important}
 .sempro .sempro-head{margin-top:22px;padding-top:28px!important;border-bottom:2px solid #111!important}
 .sempro.sempro-sticky-portal .sempro-head{margin-top:0!important;padding-top:30px!important;padding-bottom:17px!important;border-bottom:2px solid #111!important}
}
/* Standalone mobile return-to-filters control, independent of social sharing. */
.sempro-back-to-filters{position:fixed;right:19px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:2;display:none;align-items:center;justify-content:center;width:48px;height:48px;padding:0!important;border:1px solid #222!important;border-radius:50%!important;background:#fff!important;color:#171717!important;box-shadow:0 3px 12px rgba(0,0,0,.13)!important;cursor:pointer}
.sempro-back-to-filters svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sempro-back-to-filters:focus-visible{outline:2px solid #d90018;outline-offset:3px}
@media(max-width:600px){.sempro-back-to-filters.is-visible{display:inline-flex}}
@media(prefers-reduced-motion:reduce){.sempro-back-to-filters{scroll-behavior:auto}}

/* 0.1.23 — Single separators and one-line sorting label. */
/* The day navigation already draws the line beneath the quick filters. */
.sempro .sempro-controls .sempro-checks {
  border-bottom: 0!important;
}
/* The table draws the upper divider; prevent a second one on the heading. */
.sempro .sempro-head {
  border-top: 0!important;
}
.sempro .sempro-sort-label {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  white-space: nowrap;
  min-width: 0;
}
.sempro .sempro-sort-label > span {
  white-space: nowrap;
  flex: 0 0 auto;
}
.sempro .sempro-sort {
  flex: 0 1 330px;
  width: 330px;
  min-width: 230px;
}
@media (max-width: 600px) {
  .sempro .sempro-sort-label {width: 100%;}
  .sempro .sempro-sort {flex: 1 1 auto;min-width: 0;width: auto;}
}

/* SEMINCI 0.1.24 - shared filters, alternative time-grid view. */
.sempro .sempro-view-switch{display:flex;justify-content:flex-end;gap:8px;margin:20px 0 14px}
.sempro .sempro-view-switch button{border:1px solid #ddd!important;background:#fff!important;color:#202020!important;padding:10px 18px!important;font:inherit!important;font-size:13px!important;font-weight:700!important;cursor:pointer!important;border-radius:0!important;box-shadow:none!important}
.sempro .sempro-view-switch button[aria-pressed="true"]{background:#c8001a!important;border-color:#c8001a!important;color:#fff!important}
.sempro.sempro-grid-active .sempro-toolbar,.sempro.sempro-grid-active .sempro-results,.sempro.sempro-grid-active .sempro-pagination{display:none!important}
.sempro-grid-shell[hidden],.sempro-grid-dialog[hidden],.sempro-grid-panel[hidden]{display:none!important}
.sempro .sempro-grid-top{margin:0 0 10px}
.sempro .sempro-grid-top-main{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #ddd;padding:16px 0}
.sempro .sempro-grid-top-info{font-size:18px;font-weight:700;text-transform:uppercase}
.sempro .sempro-grid-top-info span{font-size:12px;color:#777;font-weight:400;text-transform:none;margin-left:12px}
.sempro .sempro-grid-rooms-toggle{font:inherit!important;font-size:13px!important;font-weight:700!important;border:1px solid #222!important;background:white!important;color:#222!important;border-radius:0!important;padding:11px 16px!important;cursor:pointer!important}
.sempro .sempro-grid-rooms-toggle:hover{background:#f5f5f5!important}
.sempro .sempro-grid-panel{background:#fff;border:1px solid #ddd;margin:0 0 18px;padding:15px 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:16px 22px}
.sempro .sempro-grid-menu-actions{grid-column:1/-1;display:flex;gap:18px;align-items:center;border-bottom:1px solid #ddd;padding-bottom:12px}
.sempro .sempro-grid-menu-actions button{background:none!important;border:0!important;border-radius:0!important;color:#222!important;font:inherit!important;font-size:13px!important;text-decoration:underline!important;padding:0!important;cursor:pointer!important}
.sempro .sempro-grid-room-group{border:0;padding:0;margin:0;min-width:0}
.sempro .sempro-grid-room-group legend{font-size:12px;font-weight:800;text-transform:uppercase;margin:0 0 8px}
.sempro .sempro-grid-room-group label{display:flex;align-items:center;gap:9px;font-size:13px;margin:7px 0;cursor:pointer}
.sempro .sempro-grid-room-group input{width:17px;height:17px;accent-color:#c40018}
.sempro .sempro-grid-mobile-room{display:none}
.sempro .sempro-grid-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-top:2px solid #181818;border-bottom:1px solid #ddd}
.sempro .sempro-grid-canvas{display:flex;min-width:max-content;position:relative}
.sempro .sempro-grid-axis{width:70px;flex:0 0 70px;position:sticky;left:0;z-index:3;background:#fff;border-right:1px solid #dedede}
.sempro .sempro-grid-axis-top,.sempro .sempro-grid-column-name{height:69px;display:flex;flex-direction:column;justify-content:center;position:sticky;top:0;background:white;z-index:2;padding:8px 12px;border-bottom:1px solid #ddd;line-height:1.3}
.sempro .sempro-grid-axis-top{font-size:11px;letter-spacing:.04em;font-weight:700;align-items:center}
.sempro .sempro-grid-axis-body{position:relative;background:#fff}
.sempro .sempro-grid-hour-line{position:absolute;left:0;right:0;height:0;white-space:nowrap}
.sempro .sempro-grid-hour-line span{display:block;position:relative;top:-8px;text-align:center;font-size:11px;color:#777}
.sempro .sempro-grid-columns{display:flex;align-items:stretch}
.sempro .sempro-grid-column{width:224px;flex:0 0 224px;border-right:1px solid #e1e1e1;min-width:0}
.sempro .sempro-grid-column-name{font-size:12px;min-width:0;padding-right:34px}
.sempro .sempro-grid-column-name span{color:#777;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sempro .sempro-grid-column-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.sempro .sempro-grid-only-room{position:absolute!important;right:8px;top:19px!important;border:1px solid #ddd!important;background:#fff!important;border-radius:0!important;font-size:18px!important;line-height:1!important;color:#333!important;width:26px;height:28px;padding:0!important;cursor:pointer!important}
.sempro .sempro-grid-column-body{position:relative;background:repeating-linear-gradient(to bottom,#fff 0px,#fff 80px,#f3f3f3 80px,#f3f3f3 81px);background-size:100% 81px}
.sempro .sempro-grid-card{display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important;gap:4px;position:absolute!important;left:5px;right:5px;width:auto!important;min-width:0!important;padding:8px!important;border:0!important;border-left:4px solid #c40018!important;border-radius:0!important;background:#f6f6f6!important;box-shadow:none!important;color:#222!important;font:inherit!important;font-size:12px!important;line-height:1.35!important;overflow:auto!important;cursor:pointer!important;z-index:1}
.sempro .sempro-grid-card:hover,.sempro .sempro-grid-card:focus-visible{background:#eee!important;outline:2px solid #c40018!important;outline-offset:0}
.sempro .sempro-grid-card-time{font-size:11px}
.sempro .sempro-grid-card strong{font-size:13px;line-height:1.3;font-weight:800}
.sempro .sempro-grid-card-section{font-size:11px;color:#555}
.sempro .sempro-grid-card-flags{display:inline-flex;gap:7px;margin-top:2px}
.sempro .sempro-grid-card-flags svg{width:15px;height:15px}
.sempro .sempro-grid-empty{padding:24px 5px;color:#666}
.sempro .sempro-grid-dialog{position:fixed;z-index:99991;inset:auto 20px 22px auto;background:#fff;box-shadow:0 8px 36px #0003;border:1px solid #ddd;width:min(480px,calc(100vw - 40px));max-height:70vh;overflow:auto;padding:24px}
.sempro .sempro-grid-dialog h3{font-size:22px;margin:0 30px 12px 0}
.sempro .sempro-grid-dialog-content p{margin:9px 0;font-size:14px}
.sempro .sempro-grid-close{position:absolute!important;right:10px;top:10px;font:inherit!important;font-size:24px!important;border:0!important;background:transparent!important;padding:3px 8px!important;color:#222!important;cursor:pointer!important}
.sempro .sempro-grid-dialog-links{display:flex;flex-wrap:wrap;gap:9px 15px;margin-top:16px}
.sempro .sempro-grid-dialog-links a{text-decoration:underline;color:#222;font-size:13px}
.sempro .sempro-grid-collective{font-size:13px;line-height:1.65}
@media(max-width:700px){
 .sempro .sempro-view-switch{justify-content:stretch}
 .sempro .sempro-view-switch button{flex:1}
 .sempro .sempro-grid-mobile-room{display:flex;align-items:center;gap:12px;margin-top:9px;font-size:13px;font-weight:700}
 .sempro .sempro-grid-mobile-room select{flex:1;min-width:0;background:#fff;padding:9px;border:1px solid #ccc;font:inherit;font-size:14px;max-width:100%}
 .sempro .sempro-grid-scroll{overflow-x:hidden}
 .sempro .sempro-grid-canvas{min-width:0;width:100%}
 .sempro .sempro-grid-axis{width:58px;flex-basis:58px}
 .sempro .sempro-grid-columns{flex:1;min-width:0}
 .sempro .sempro-grid-column{flex:1;min-width:0;width:auto}
 .sempro .sempro-grid-column.is-mobile-hidden{display:none}
 .sempro .sempro-grid-column-name{height:69px}
 .sempro .sempro-grid-top-info span{display:block;margin:4px 0 0}
 .sempro .sempro-grid-dialog{inset:auto 10px 14px 10px;width:auto;max-height:60vh}
}

/* 0.1.25: condensed timetable, all venues by default; detail on hover / click. */
.sempro .sempro-grid-scroll{overflow-x:auto}
.sempro .sempro-grid-canvas{min-width:100%;width:100%;}
.sempro .sempro-grid-axis{width:48px;flex:0 0 48px}
.sempro .sempro-grid-columns{display:flex;flex:1;min-width:0}
.sempro .sempro-grid-column{flex:1 1 0;width:0;min-width:30px}
.sempro .sempro-grid-axis-top,.sempro .sempro-grid-column-name{height:74px;padding:5px 3px;text-align:center;font-size:10px}
.sempro .sempro-grid-column-name{display:flex;align-items:center;justify-content:center;overflow:hidden}
.sempro .sempro-grid-column-name span,.sempro .sempro-grid-column-name strong{font-size:10px;line-height:1.2;white-space:normal;overflow-wrap:anywhere;text-align:center}
.sempro .sempro-grid-column-body{background:repeating-linear-gradient(to bottom,#fff 0,#fff 29px,#e6e6e6 29px,#e6e6e6 30px);background-size:100% 30px}
.sempro .sempro-grid-card{display:block!important;left:2px!important;right:2px!important;padding:0!important;border:0!important;border-radius:2px!important;background:var(--sempro-section-color,#7b858d)!important;opacity:.78;min-height:7px!important;overflow:hidden!important;box-shadow:none!important}
.sempro .sempro-grid-card:hover,.sempro .sempro-grid-card:focus-visible{opacity:1;outline:2px solid #181818!important;outline-offset:1px;z-index:5}
.sempro .sempro-grid-card-dot{display:none}
.sempro .sempro-grid-axis-top{font-size:10px}
.sempro .sempro-grid-hour-line span{font-size:10px}
.sempro .sempro-grid-hover{position:fixed;z-index:10010;pointer-events:none;max-width:280px;min-width:190px;background:#fff;border:1px solid #ccc;border-top:3px solid #c40018;box-shadow:0 8px 22px #0002;padding:13px 16px;font-size:13px;line-height:1.5;color:#222}
.sempro .sempro-grid-hover[hidden]{display:none!important}
.sempro .sempro-grid-hover strong{display:block;font-size:15px;line-height:1.25;margin-bottom:7px}
.sempro .sempro-grid-hover small{display:block;color:#666;margin-top:5px}
@media(max-width:700px){
 .sempro .sempro-grid-scroll{overflow-x:auto}
 .sempro .sempro-grid-canvas{min-width:0;width:100%}
 .sempro .sempro-grid-column{min-width:0;width:auto}
 .sempro .sempro-grid-column-name{height:74px}
 .sempro .sempro-grid-hover{display:none!important}
}

/* On phones retain ALL halls (horizontal scroll), instead of a single selected hall. */
@media(max-width:700px){
 .sempro .sempro-grid-mobile-room{display:none!important}
 .sempro .sempro-grid-canvas{width:max-content;min-width:100%}
 .sempro .sempro-grid-columns{flex:0 0 auto;min-width:0}
 .sempro .sempro-grid-column{flex:0 0 72px;width:72px;min-width:72px}
 .sempro .sempro-grid-column.is-mobile-hidden{display:block!important}
 .sempro .sempro-grid-axis{width:44px;flex-basis:44px}
}

/* 0.1.27 — section legend for compact timetable */
.sempro .sempro-grid-legend{border-top:1px solid #d3d3d3;margin-top:16px;padding:17px 0 10px}
.sempro .sempro-grid-legend[hidden]{display:none!important}
.sempro .sempro-grid-legend-heading{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:12px;font-size:12px;color:#555}
.sempro .sempro-grid-legend-heading strong{font-size:12px;color:#151515;font-weight:800;letter-spacing:.04em}
.sempro .sempro-grid-legend-all{font:inherit!important;font-size:12px!important;text-decoration:underline!important;border:0!important;background:none!important;color:#222!important;padding:0!important;cursor:pointer!important}
.sempro .sempro-grid-legend-options{display:flex;gap:9px 23px;flex-wrap:wrap}
.sempro .sempro-grid-legend-item{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#242424;cursor:pointer;min-height:28px}
.sempro .sempro-grid-legend-item input{width:16px;height:16px;accent-color:#c40018;margin:0;cursor:pointer}
.sempro .sempro-grid-legend-swatch{width:13px;height:13px;flex:0 0 13px;background:var(--sempro-section-color,#697a80)}
.sempro .sempro-grid-card.sempro-grid-card-muted{opacity:.05!important;outline:none!important}
.sempro .sempro-grid-card.sempro-grid-card-muted:hover,.sempro .sempro-grid-card.sempro-grid-card-muted:focus-visible{opacity:.05!important;outline:none!important}
@media(max-width:600px){.sempro .sempro-grid-legend-options{gap:7px 14px}.sempro .sempro-grid-legend-item{font-size:11px}}

/* 0.1.28 - unified expandable controls below the timetable */
.sempro .sempro-grid-customize{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:16px 0 10px;border-top:1px solid #bcbcbc;border-bottom:1px solid #bcbcbc}
.sempro .sempro-grid-customize-section{min-width:0;padding:0 14px}
.sempro .sempro-grid-customize-section+ .sempro-grid-customize-section{border-left:1px solid #d1d1d1}
.sempro .sempro-grid-customize-section>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;padding:17px 0;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.sempro .sempro-grid-customize-section>summary::-webkit-details-marker{display:none}
.sempro .sempro-grid-customize-section>summary::after{content:'+';font-size:21px;font-weight:400}
.sempro .sempro-grid-customize-section[open]>summary::after{content:'−'}
.sempro .sempro-grid-customize-section .sempro-grid-legend{border:0;margin:0;padding:0 0 18px}
.sempro .sempro-grid-customize-section .sempro-grid-panel{display:block!important;border:0;margin:0;padding:0 0 18px}
.sempro .sempro-grid-room-options,.sempro .sempro-grid-legend-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px 16px}
.sempro .sempro-grid-room-item{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;line-height:1.35;cursor:pointer}
.sempro .sempro-grid-room-item input{width:16px;height:16px;flex:0 0 16px;accent-color:#c40018}
.sempro .sempro-grid-card{padding:2px 3px!important;color:#fff!important;font-size:9px!important;line-height:1.1!important;text-align:left!important}
.sempro .sempro-grid-card-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:700;max-width:100%}
.sempro .sempro-grid-card-icons{display:flex;gap:3px;align-items:center;margin-top:2px}
.sempro .sempro-grid-card-icons svg{width:11px;height:11px;stroke-width:2.2}
.sempro .sempro-grid-hover{max-width:335px;min-width:230px}
.sempro .sempro-grid-hover>div{margin:3px 0}
.sempro .sempro-grid-hover-title{font-size:15px;font-weight:800;line-height:1.2;margin-bottom:7px!important}
.sempro .sempro-grid-hover-muted{color:#666;font-size:12px}
@media(max-width:700px){.sempro .sempro-grid-customize{grid-template-columns:1fr}.sempro .sempro-grid-customize-section+.sempro-grid-customize-section{border-left:0;border-top:1px solid #ddd}.sempro .sempro-grid-card-label{font-size:8px}.sempro .sempro-grid-card-icons svg{width:10px;height:10px}}

/* 0.1.30 — compact timetable readability */
.sempro .sempro-grid-card{font-size:11px!important;line-height:1.16!important;padding:3px 4px!important}
.sempro .sempro-grid-card-label{font-size:11px!important;line-height:1.16!important}
.sempro .sempro-grid-card-icons{gap:5px;margin-top:3px}
.sempro .sempro-grid-card-icons svg{width:14px;height:14px;stroke-width:2.2}
@media(max-width:700px){.sempro .sempro-grid-card-label{font-size:10px!important}.sempro .sempro-grid-card-icons svg{width:13px;height:13px}}

/* 0.1.31: consistent customization panels and accessible ticket controls */
.sempro .sempro-grid-customize-section .sempro-grid-panel,.sempro .sempro-grid-customize-section .sempro-grid-legend{border:0!important;border-top:0!important;margin:0!important;padding:0 0 18px!important;background:transparent!important;}
.sempro .sempro-grid-menu-actions,.sempro .sempro-grid-legend-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:0!important;border-bottom:0!important;padding:0!important;margin:0 0 13px!important;min-height:28px;}
.sempro .sempro-grid-room-options,.sempro .sempro-grid-legend-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 15px!important;align-content:start;}
.sempro .sempro-grid-room-item,.sempro .sempro-grid-legend-item{min-height:34px!important;display:flex!important;align-items:center!important;gap:9px!important;line-height:1.3!important;font-size:12px!important;margin:0!important;}
.sempro .sempro-grid-room-item input,.sempro .sempro-grid-legend-item input{width:16px!important;height:16px!important;flex:0 0 16px!important;margin:0!important;}
.sempro .sempro-grid-card-ticket{display:inline-flex;align-items:center;justify-content:center;color:inherit!important;position:relative;z-index:2;min-width:18px;min-height:18px;padding:1px;text-decoration:none!important;}
.sempro .sempro-grid-card-ticket svg{height:15px!important;width:15px!important;stroke:currentColor!important;}
.sempro .sempro-grid-card-ticket:hover,.sempro .sempro-grid-card-ticket:focus-visible{color:#fff!important;outline:1px solid currentColor;outline-offset:1px;}
.sempro .sempro-grid-hover{pointer-events:auto!important;}
.sempro .sempro-grid-hover-ticket,.sempro .sempro-grid-ticket-link{display:inline-flex!important;gap:7px;align-items:center;text-decoration:none!important;}
.sempro .sempro-grid-hover-ticket{color:#c40018!important;font-weight:700!important;margin-top:8px!important;}
.sempro .sempro-grid-hover-ticket svg,.sempro .sempro-grid-ticket-link svg{width:19px;height:19px;flex-shrink:0;stroke:currentColor;}
@media(max-width:700px){.sempro .sempro-grid-room-options,.sempro .sempro-grid-legend-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 9px!important;}}
@media(max-width:390px){.sempro .sempro-grid-room-options,.sempro .sempro-grid-legend-options{grid-template-columns:minmax(0,1fr)!important;}}

/* 0.1.32: informational hover card on desktop, touch dialog only on mobile */
@media(min-width:701px){
 .sempro .sempro-grid-hover{width:min(385px,calc(100vw - 24px));max-width:385px;min-width:265px;padding:18px 20px;box-shadow:0 12px 30px #0002;border-top:4px solid #c40018;line-height:1.4;}
 .sempro .sempro-grid-hover-title{font-size:19px;line-height:1.23;margin-bottom:5px!important;}
 .sempro .sempro-grid-hover-subtitle{font-size:14px;font-weight:600;color:#4a4a4a;margin:3px 0 8px;}
 .sempro .sempro-grid-hover-session{font-size:12px;font-weight:650;color:#333;margin:6px 0;}
 .sempro .sempro-grid-hover-feature{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.45;margin:9px 0;}
 .sempro .sempro-grid-hover-feature .sempro-icon{width:19px;height:19px;flex:0 0 19px;margin-top:1px;}
 .sempro .sempro-grid-hover-actions{border-top:1px solid #e0e0e0;margin-top:14px;padding-top:10px;display:flex;flex-direction:column;gap:4px;}
 .sempro .sempro-grid-hover-action{display:flex;align-items:center;gap:9px;padding:6px 0;color:#b60018;font-weight:700;text-decoration:none;font-size:13px;line-height:1.3;}
 .sempro .sempro-grid-hover-action:hover{text-decoration:underline;}
 .sempro .sempro-grid-hover-action .sempro-icon{width:19px;height:19px;flex:0 0 19px;}
 .sempro .sempro-grid-hover-alert{font-size:12px;font-weight:700;}
}

/* 0.1.33 — Titles of collective screenings: one linked film per line. */
.sempro .sempro-grid-hover-films{margin:8px 0 12px;max-height:min(40vh,260px);overflow-y:auto;overscroll-behavior:contain;font-size:13px;line-height:1.5;}
.sempro .sempro-grid-hover-films .sempro-collective-film{display:block;padding:4px 0;border-bottom:1px solid #ededed;overflow-wrap:anywhere;}
.sempro .sempro-grid-hover-films .sempro-collective-film:last-child{border-bottom:0;}
.sempro .sempro-grid-hover-films a{color:#b60018;text-decoration:underline;text-underline-offset:2px;}
.sempro .sempro-grid-hover-films a:hover,.sempro .sempro-grid-hover-films a:focus-visible{color:#8e0011;}


/* 0.1.34 — horizontal-only timeline and full-height timetable. */
.sempro .sempro-grid-output{height:auto!important;max-height:none!important;overflow:visible!important;}
.sempro .sempro-grid-scroll{
 overflow-x:auto!important;
 overflow-y:hidden!important;
 height:auto!important;
 max-height:none!important;
 overscroll-behavior-x:contain;
 -webkit-overflow-scrolling:touch;
}
.sempro .sempro-grid-canvas{
 height:auto!important;
 min-height:calc(var(--sempro-grid-height, 0px) + 74px)!important;
 align-items:stretch!important;
}
.sempro .sempro-grid-column-body,.sempro .sempro-grid-axis-body{
 flex-shrink:0!important;
 max-height:none!important;
}

/* A single full-screen session sheet on touch devices. Scroll ONLY its content. */
html.sempro-grid-dialog-open{overflow:hidden!important;}
.sempro-grid-dialog.is-fullscreen{
 position:fixed!important;
 inset:0!important;
 top:0!important;right:0!important;bottom:0!important;left:0!important;
 z-index:2147483000!important;
 display:flex!important;
 flex-direction:column!important;
 width:100%!important;
 height:100%!important;
 max-width:none!important;
 max-height:none!important;
 margin:0!important;
 padding:0!important;
 border:0!important;
 border-radius:0!important;
 background:#fff!important;
 box-shadow:none!important;
 overflow:hidden!important;
 box-sizing:border-box!important;
}
.sempro-grid-dialog.is-fullscreen[hidden]{display:none!important;}
.sempro-grid-dialog.is-fullscreen .sempro-grid-dialog-content{
 flex:1 1 auto;
 min-height:0;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 overscroll-behavior-y:contain;
 -webkit-overflow-scrolling:touch;
 padding:72px clamp(22px,5vw,45px) 36px!important;
 font-size:15px;
 line-height:1.55;
 color:#222;
}
.sempro-grid-dialog.is-fullscreen .sempro-grid-close{
 position:absolute!important;
 z-index:2!important;
 top:14px!important;
 right:16px!important;
 width:44px!important;
 height:44px!important;
 display:flex!important;
 justify-content:center!important;
 align-items:center!important;
 padding:8px!important;
 border:0!important;
 border-radius:50%!important;
 background:#fff!important;
 color:#222!important;
 cursor:pointer!important;
}
.sempro-grid-dialog.is-fullscreen .sempro-grid-close:focus-visible{outline:2px solid #c40018;outline-offset:2px;}
.sempro-grid-dialog.is-fullscreen .sempro-grid-close svg{width:24px;height:24px;}
.sempro-grid-dialog.is-fullscreen .sempro-grid-hover-title{font-size:clamp(24px,5vw,34px);font-weight:800;line-height:1.18;margin:0 0 16px!important;}
.sempro-grid-dialog.is-fullscreen .sempro-grid-hover-subtitle{font-size:17px;}
.sempro-grid-dialog.is-fullscreen .sempro-grid-hover-session{font-size:14px;line-height:1.5;}
.sempro-grid-dialog.is-fullscreen .sempro-grid-hover-muted{font-size:14px;}
.sempro-grid-dialog.is-fullscreen .sempro-grid-hover-feature{display:flex;gap:12px;align-items:flex-start;margin:15px 0;font-size:15px;line-height:1.5;}
.sempro-grid-dialog.is-fullscreen .sempro-grid-hover-feature .sempro-icon{width:22px;height:22px;flex:0 0 22px;}
.sempro-grid-dialog.is-fullscreen .sempro-grid-hover-films{max-height:none;overflow:visible;font-size:15px;line-height:1.5;}
.sempro-grid-dialog.is-fullscreen .sempro-grid-hover-films .sempro-collective-film{padding:9px 0;}
.sempro-grid-dialog.is-fullscreen .sempro-grid-hover-actions{display:flex;flex-direction:column;gap:6px;border-top:1px solid #ddd;margin-top:25px;padding-top:18px;}
.sempro-grid-dialog.is-fullscreen .sempro-grid-hover-action{display:flex;align-items:center;gap:12px;font-size:15px;padding:11px 0;min-height:44px;}
.sempro-grid-dialog.is-fullscreen .sempro-grid-hover-action .sempro-icon{width:22px;height:22px;flex:0 0 22px;}

/* 0.1.40 — Edition PDF download actions, clearly distinct from session filters. */
/* 0.1.41 — PDF actions are NOT filters. Visually akin to the SEMINCI icon family. */
.sempro .sempro-filter-bar>.sempro-pdf-actions{
  flex:0 1 auto;display:flex;align-items:stretch;justify-content:flex-end;
  min-width:0;margin-left:0;border-left:1px solid #d8d8d8;
}
.sempro .sempro-filter-bar>.sempro-field:has(+ .sempro-pdf-actions){border-right:0}
.sempro .sempro-pdf-actions .sempro-pdf-link{
  display:flex;align-items:center;gap:11px;min-width:0;min-height:65px;
  max-width:230px;padding:9px 15px;color:#596065!important;
  text-decoration:none!important;font-size:13px;line-height:1.25;
  border-right:1px solid #e6e6e6;transition:color .16s ease,background-color .16s ease;
}
.sempro .sempro-pdf-actions .sempro-pdf-link:last-child{border-right:0}
.sempro .sempro-pdf-actions .sempro-pdf-link:hover{background:#f8f8f8;color:#d00024!important}
.sempro .sempro-pdf-actions .sempro-pdf-link:focus-visible{outline:2px solid #d00024;outline-offset:-2px}
.sempro .sempro-pdf-actions .sempro-pdf-link svg{width:37px;height:44px;flex:none;display:block;color:currentColor}
.sempro .sempro-pdf-actions .sempro-pdf-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:3px;overflow-wrap:anywhere}
.sempro .sempro-pdf-actions .sempro-pdf-text strong{display:block;color:inherit;font-weight:650;font-size:14px;line-height:1.15}
.sempro .sempro-pdf-actions .sempro-pdf-text small{display:block;color:#747474;font-size:12px;line-height:1.2;font-weight:400}
@media(max-width:1150px){
  .sempro .sempro-filter-bar>.sempro-pdf-actions{flex:1 1 100%;border-left:0;border-top:1px solid #e6e6e6;justify-content:flex-start}
  .sempro .sempro-pdf-actions .sempro-pdf-link{max-width:none;flex:0 1 33.333%;min-height:57px}
}
@media(max-width:600px){
  .sempro .sempro-filter-bar>.sempro-pdf-actions{flex-wrap:wrap}
  .sempro .sempro-pdf-actions .sempro-pdf-link{flex:1 1 100%;max-width:none;min-height:56px;border-right:0;border-bottom:1px solid #eee;padding:10px 12px}
  .sempro .sempro-pdf-actions .sempro-pdf-link:last-child{border-bottom:0}
  .sempro .sempro-pdf-actions .sempro-pdf-link svg{width:35px;height:41px}
}

/* SEMINCI 0.1.44 — anonymous screening favourites */
.sempro .sempro-view-switch{align-items:center;flex-wrap:wrap}
.sempro .sempro-view-switch .sempro-favourites-toggle{margin-right:auto!important;display:inline-flex;align-items:center;gap:8px;background:#fff!important;color:#242424!important;border:1px solid #dedede!important;padding:9px 12px!important;min-height:43px;font-size:12px!important;letter-spacing:.015em}
.sempro .sempro-favourites-toggle svg{width:20px;height:20px;flex:none}
.sempro .sempro-favourites-toggle[aria-pressed="true"]{color:#c8001a!important;border-color:#c8001a!important;background:#fff7f8!important}
.sempro .sempro-favourite-count{display:inline-flex;justify-content:center;align-items:center;background:#eee;border-radius:20px;min-width:22px;height:22px;padding:0 5px;font-size:11px;font-weight:700}
.sempro .sempro-favourites-toggle[aria-pressed="true"] .sempro-favourite-count{background:#c8001a;color:#fff}
.sempro .sempro-favourite{display:inline-flex;align-items:center;justify-content:center;padding:5px;min-width:35px;min-height:35px;border:1px solid #ddd!important;background:transparent!important;color:#444!important;cursor:pointer;box-shadow:none!important;border-radius:0!important;flex:none}
.sempro .sempro-favourite svg,.sempro-grid-dialog .sempro-favourite svg{height:21px;width:21px;pointer-events:none}
.sempro .sempro-favourite.is-favourite,.sempro-grid-dialog .sempro-favourite.is-favourite{color:#c8001a!important}
.sempro .sempro-favourite.is-favourite svg,.sempro-grid-dialog .sempro-favourite.is-favourite svg{fill:#c8001a}
.sempro .sempro-favourite:hover,.sempro .sempro-favourite:focus-visible{border-color:#c8001a!important;outline-offset:2px}
.sempro .sempro-buy{gap:5px;align-items:center}
.sempro .sempro-grid-card-icons{flex-wrap:wrap}
.sempro .sempro-grid-card .sempro-favourite-grid{min-width:19px!important;min-height:19px!important;width:19px!important;height:19px!important;padding:1px!important;color:#fff!important;border:0!important;background:transparent!important;position:relative;z-index:3}
.sempro .sempro-grid-card .sempro-favourite-grid svg{width:16px!important;height:16px!important;stroke-width:2.2}
.sempro .sempro-grid-card .sempro-favourite-grid.is-favourite svg{fill:#fff;stroke:#fff}
.sempro .sempro-grid-hover{position:fixed}
.sempro .sempro-grid-hover>.sempro-favourite-hover{float:right;min-width:36px;min-height:36px;margin:0 0 8px 10px}
.sempro-grid-dialog.is-fullscreen .sempro-favourite-dialog{position:relative;float:right;z-index:2;margin:0 0 12px 12px;min-height:44px;min-width:44px;background:#fff!important;border:1px solid #d8d8d8!important;color:#333!important;cursor:pointer}
.sempro-grid-dialog.is-fullscreen .sempro-favourite-dialog.is-favourite{color:#c8001a!important}
@media(max-width:600px){.sempro .sempro-view-switch .sempro-favourites-toggle{flex:1 1 100%!important;justify-content:center;margin:0 0 3px!important}.sempro .sempro-favourite-list{min-height:36px;min-width:36px}}

.sempro .sempro-view-switch button.sempro-favourites-toggle[aria-pressed="true"]{color:#c8001a!important;border-color:#c8001a!important;background:#fff7f8!important}

/* 0.1.45 - clashes between saved screenings (same-day or across days). */
.sempro .sempro-clash-notice{box-sizing:border-box;clear:both;margin:10px 0 18px;border-left:3px solid #bd1932;background:#fff8f8;padding:12px 16px;color:#333;font-size:13px;line-height:1.55}
.sempro .sempro-clash-notice[hidden]{display:none!important}
.sempro .sempro-clash-notice strong{font-size:13px;font-weight:700}
.sempro .sempro-clash-notice ul{margin:8px 0 0 18px;padding:0;max-height:230px;overflow-y:auto}
.sempro .sempro-clash-notice li{margin:3px 0}
.sempro .sempro-row.sempro-has-clash{position:relative;box-shadow:inset 3px 0 #c8001a}
.sempro .sempro-row>.sempro-clash-corner{position:absolute;right:4px;top:4px;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:50%;font-size:12px;font-weight:800;background:#c8001a;color:white;pointer-events:none}
.sempro .sempro-grid-card.sempro-has-clash{outline:2px solid #af001c;outline-offset:-2px}
.sempro .sempro-grid-card>.sempro-clash-corner{position:absolute;right:3px;top:3px;z-index:3;width:15px;height:15px;border-radius:50%;background:#fff;color:#c8001a;font-size:11px;font-weight:800;display:grid;place-items:center;pointer-events:none}
.sempro .sempro-favourite.has-clash{outline:2px solid #c8001a;outline-offset:1px}
.sempro .sempro-clash-marker{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:#c8001a;color:#fff;font-size:12px;font-weight:bold;margin-left:8px;vertical-align:middle}

/* Anonymous programme sharing */
.sempro .sempro-share-button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 14px!important;border:1px solid #dedede!important;background:#fff!important;color:#333!important;font-size:12px!important;cursor:pointer}
.sempro .sempro-share-button:hover{border-color:#c8001a!important;color:#c8001a!important}
.sempro .sempro-share-button[hidden],.sempro .sempro-share-panel[hidden]{display:none!important}
.sempro .sempro-share-panel{box-sizing:border-box;width:100%;margin:12px 0 20px;padding:18px 20px;border:1px solid #dedede;border-left:3px solid #c8001a;background:#fff}
.sempro .sempro-share-heading{display:block;margin-bottom:8px;font-size:17px;font-weight:700}
.sempro .sempro-share-description{margin:0 0 10px;line-height:1.5;font-size:14px;overflow-wrap:anywhere}
.sempro .sempro-share-items{max-height:270px;overflow:auto;overflow-wrap:anywhere;font-size:13px}
.sempro .sempro-share-items ul{margin:6px 0 12px 20px;padding:0}
.sempro .sempro-share-items li{padding:4px 0}
.sempro .sempro-share-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.sempro .sempro-share-actions button{padding:10px 15px!important;background:#fff!important;color:#333!important;border:1px solid #ccc!important;font-size:13px!important;cursor:pointer}
.sempro .sempro-share-actions button.is-primary{background:#c8001a!important;border-color:#c8001a!important;color:#fff!important}
@media(max-width:600px){.sempro .sempro-share-button{flex:1 1 100%;width:100%}.sempro .sempro-share-panel{padding:15px}}

/* 0.1.47 — independent view controls and personal actions. */
.sempro .sempro-view-switch{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px 20px!important;flex-wrap:wrap!important}
.sempro .sempro-view-actions,.sempro .sempro-personal-actions{display:flex;align-items:center;gap:8px;min-width:0}
.sempro .sempro-view-actions{margin-right:auto}
.sempro .sempro-personal-actions{margin-left:auto;justify-content:flex-end;flex-wrap:wrap}
.sempro .sempro-view-switch .sempro-personal-actions .sempro-favourites-toggle{margin:0!important;flex:none!important}
.sempro .sempro-view-switch .sempro-personal-actions .sempro-share-button{margin:0!important;flex:none!important;width:auto!important}
@media(max-width:700px){
 .sempro .sempro-view-switch{align-items:stretch!important}
 .sempro .sempro-view-actions{justify-content:flex-start}
 .sempro .sempro-personal-actions{justify-content:flex-end}
 .sempro .sempro-view-switch .sempro-view-actions button{flex:0 1 auto!important}
}
@media(max-width:480px){
 .sempro .sempro-view-actions,.sempro .sempro-personal-actions{width:100%;flex-wrap:wrap}
 .sempro .sempro-view-actions{justify-content:flex-start}
 .sempro .sempro-personal-actions{justify-content:flex-end}
 .sempro .sempro-view-switch .sempro-personal-actions .sempro-favourites-toggle,
 .sempro .sempro-view-switch .sempro-personal-actions .sempro-share-button{flex:0 1 auto!important}
}

/* 0.1.48 — list hearts are standalone icons, without a square border. */
.sempro button.sempro-favourite.sempro-favourite-list,
.sempro button.sempro-favourite.sempro-favourite-list:hover,
.sempro button.sempro-favourite.sempro-favourite-list:focus-visible {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.sempro button.sempro-favourite.sempro-favourite-list:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* 0.1.50: preserve readable paragraphs in screening language/subtitle notes. */
.sempro .sempro-feature span:last-child,.sempro .sempro-grid-hover-feature span:last-child{white-space:pre-line}

/* WYSIWYG languages/subtitles: respect paragraphs and inline emphasis. */
.sempro .sempro-rich-content{min-width:0;display:block;white-space:normal}
.sempro .sempro-rich-content p{margin:0 0 .4em;line-height:inherit}
.sempro .sempro-rich-content p:last-child{margin-bottom:0}
.sempro .sempro-rich-content ul,.sempro .sempro-rich-content ol{margin:.25em 0 .4em 1.3em;padding:0}
.sempro .sempro-rich-content strong,.sempro .sempro-rich-content b{font-weight:700}
.sempro .sempro-rich-content em,.sempro .sempro-rich-content i{font-style:italic}

/* SEMINCI 0.1.53 — mobile list spacing and timetable navigation. */
.sempro .sempro-mobile-meta{display:none}
.sempro .sempro-grid-day-selector{display:inline-flex;align-items:center;gap:10px}
.sempro .sempro-grid-day-selector strong{font:inherit;font-weight:700}
.sempro .sempro-grid-day-arrow{display:none!important}
@media(max-width:700px){
 .sempro .sempro-grid-column{flex:0 0 112px!important;width:112px!important;min-width:112px!important}
 .sempro .sempro-grid-columns{flex:0 0 auto!important}
 .sempro .sempro-grid-canvas{width:max-content!important;min-width:100%!important}
 .sempro .sempro-grid-scroll{overflow-x:auto!important;overflow-y:hidden!important}
 .sempro .sempro-grid-top-info{width:100%;text-align:center}
 .sempro .sempro-grid-top-info span{display:block;margin:7px 0 0;font-size:12px}
 .sempro .sempro-grid-day-selector{display:flex;justify-content:space-between;width:100%;gap:12px}
 .sempro .sempro-grid-day-selector strong{flex:1;text-align:center}
 .sempro .sempro-grid-day-arrow{display:inline-flex!important;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:9px!important;border:1px solid #ddd!important;border-radius:0!important;background:#fff!important;color:#222!important;cursor:pointer}
 .sempro .sempro-grid-day-arrow:disabled{opacity:.25;cursor:default}
 .sempro .sempro-grid-day-arrow svg{width:19px;height:19px}
}
@media(max-width:600px){
 .sempro .sempro-mobile-meta{display:grid;gap:5px;margin-top:12px;font-size:13px;font-weight:400;line-height:1.35;color:#666}
 .sempro .sempro-row>.sempro-venue,.sempro .sempro-row>.sempro-category{display:none!important}
 .sempro .sempro-row>.sempro-title{grid-column:2;grid-row:1;align-self:start}
 .sempro .sempro-row>.sempro-when{grid-column:1;grid-row:1;align-self:start}
}

/* 0.1.56 — one native sticky list header; no detached duplicate.
   Selector deliberately overrides the old 0.1.17 position:static declaration.
   The header remains in normal document flow until it reaches the top offset. */
@media (min-width:601px){
 .sempro:not(.sempro-sticky-portal) .sempro-results .sempro-head{
  position:sticky!important;
  top:104px!important;
  z-index:5!important;
  background:#fff!important;
  box-shadow:0 5px 10px -10px rgba(0,0,0,.4)!important;
 }
 .sempro.sempro-sticky-portal{display:none!important}
}

/* 0.1.57: body-level header, unaffected by Elementor containing blocks. */
@media (min-width:601px){
 .sempro:not(.sempro-sticky-portal) .sempro-results .sempro-head{
  position:static!important;top:auto!important;z-index:auto!important;
 }
 body>.sempro.sempro-sticky-portal{
  display:block!important;position:fixed!important;top:104px!important;
  z-index:99999!important;margin:0!important;padding:0!important;
  background:#fff!important;pointer-events:auto!important;
  box-shadow:0 6px 12px rgba(0,0,0,.1)!important;
 }
 body>.sempro.sempro-sticky-portal[hidden]{display:none!important}
 body>.sempro.sempro-sticky-portal .sempro-head{
  margin:0!important;padding:12px 0!important;
  border-top:0!important;border-bottom:2px solid #111!important;
  background:#fff!important;box-shadow:none!important;
 }
}
@media (max-width:600px){body>.sempro.sempro-sticky-portal{display:none!important}}

/* 0.1.58 — safe overlap under Elementor headers: white masking strip extends
   above the detached list heading, while headings have breathing room.
   Keep the existing scroll detection and fixed offset from 0.1.57. */
@media (min-width:601px){
 body>.sempro.sempro-sticky-portal:not([hidden]){
  background:#fff!important;
  box-shadow:0 -36px 0 0 #fff, 0 6px 12px rgba(0,0,0,.10)!important;
 }
 body>.sempro.sempro-sticky-portal .sempro-head{
  padding-top:32px!important;
  padding-bottom:20px!important;
  background:#fff!important;
 }
}

/* 0.1.59 — The detached list header must sit BEHIND SEMINCI's sticky
   navigation and red programme bar. The 0.1.57 portal's z-index:99999
   had been overriding the original intended site layer order. */
@media (min-width:601px){
 body>.sempro.sempro-sticky-portal{z-index:2!important}
}

/* 0.1.60: reduce top breathing room by 10px and remove the floating
   heading's drop shadow. Retain the white safety overlap without shadows. */
@media (min-width:601px){
 body>.sempro.sempro-sticky-portal,
 body>.sempro.sempro-sticky-portal:not([hidden]){
  box-shadow:none!important;
 }
 body>.sempro.sempro-sticky-portal .sempro-head{
  padding-top:22px!important;
  box-shadow:none!important;
 }
 body>.sempro.sempro-sticky-portal::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:100%;
  height:36px;
  background:#fff;
  pointer-events:none;
 }
}

/* SEMINCI 0.1.61 — restore room and section immediately below film details on phones.
   These values are rendered inside .sempro-title so the heart/time column
   cannot introduce a vertical gap before them. */
@media (max-width:600px){
 .sempro .sempro-row .sempro-title > .sempro-mobile-meta{
   display:flex!important;
   flex-direction:column!important;
   align-items:stretch;
   gap:5px!important;
   margin:10px 0 0!important;
   padding:0!important;
   color:#666!important;
   font-size:13px!important;
   line-height:1.35!important;
   font-weight:400!important;
   visibility:visible!important;
   opacity:1!important;
   height:auto!important;
 }
 .sempro .sempro-row .sempro-title > .sempro-mobile-meta > div{
   display:block!important;
   margin:0!important;
   padding:0!important;
   visibility:visible!important;
 }
}

/* SEMINCI 0.1.62 — iPhone/Safari: show the *original* venue and section cells.
   Do not rely on a duplicated .sempro-mobile-meta block, which was not
   consistently visible on iOS. Spanning the date column avoids the large
   vertical gap formerly created by the favourite/ticket controls. */
@media (max-width:600px){
 .sempro .sempro-row{
  grid-template-columns:82px minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;
  column-gap:10px!important;
  row-gap:5px!important;
  align-content:start!important;
 }
 .sempro .sempro-row > .sempro-when{
  grid-column:1!important;
  grid-row:1 / span 3!important;
  align-self:start!important;
 }
 .sempro .sempro-row > .sempro-title{
  grid-column:2!important;
  grid-row:1!important;
  align-self:start!important;
 }
 .sempro .sempro-row > .sempro-title > .sempro-mobile-meta{
  display:none!important;
 }
 .sempro .sempro-row > .sempro-venue,
 .sempro .sempro-row > .sempro-category{
  display:block!important;
  grid-column:2!important;
  align-self:start!important;
  margin:0!important;
  padding:0!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.4!important;
  color:#666!important;
  visibility:visible!important;
  opacity:1!important;
 }
 .sempro .sempro-row > .sempro-venue{grid-row:2!important}
 .sempro .sempro-row > .sempro-category{grid-row:3!important}
 .sempro .sempro-row > .sempro-buy-desktop{display:none!important}
}
