/* HS Stages — affichage public */

.hss{
  --hss-a1:#B33CC9; --hss-a2:#8300E9;
  --hss-grad:linear-gradient(102deg,#B33CC9,#8300E9);
  --hss-taupe:#998A6E; --hss-ink:#140E1C; --hss-ink2:#3B3348;
  --hss-muted:#6E6580; --hss-line:#E5DDF0; --hss-line2:#EFEAF6;
  --hss-cream:#F6F2F9;
  --hss-disp:"Fraunces",Georgia,serif;
  --hss-body:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-family:var(--hss-body);color:var(--hss-ink);line-height:1.6;
}
.hss *{box-sizing:border-box}
/* Divi impose ses propres marges et décorations aux titres, listes et liens.
   On les neutralise dans le périmètre du plugin, sans toucher au reste. */
.hss h2,.hss h3{padding:0}
.hss a{text-decoration:none;box-shadow:none}
.hss ul{list-style:disc}
.hss p:last-child{margin-bottom:0}

/* ---------- filtres ---------- */
.hss-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 26px}
.hss-chip{
  border:1px solid var(--hss-line);background:#fff;color:var(--hss-muted);
  font:inherit;font-size:13.5px;font-weight:500;padding:7px 16px;
  border-radius:40px;cursor:pointer;transition:.18s;
}
.hss-chip:hover{border-color:var(--hss-a1)}
.hss-chip.is-on{background:var(--hss-grad);border-color:transparent;color:#fff}

/* ---------- liste ---------- */
.hss-list{display:flex;flex-direction:column}
.hss-item[hidden]{display:none}

.hss-card{
  display:flex;align-items:center;gap:26px;
  padding:26px 0;border-top:1px solid var(--hss-line);transition:padding-left .3s;
}
.hss-card:hover{padding-left:12px}
.hss-list>.hss-item:last-of-type .hss-card,
.hss-list>.hss-card:last-of-type{border-bottom:1px solid var(--hss-line)}

.hss-date{
  flex:0 0 88px;
  border:1px solid var(--hss-line);border-radius:14px;background:#fff;
  text-align:center;padding:12px 4px;
}
.hss-date b{display:block;font-family:var(--hss-disp);font-size:29px;line-height:1;font-weight:500}
.hss-date span{
  display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--hss-taupe);margin-top:4px;font-weight:700;
}

.hss-thumb{flex:0 0 150px;display:block;border-radius:14px;overflow:hidden;line-height:0}
.hss-thumb img{width:100%;height:104px;object-fit:cover;display:block}

.hss-disc{
  display:block;font-size:10px;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--hss-taupe);margin-bottom:7px;
}
.hss-body h3{
  font-family:var(--hss-disp);font-size:22px;font-weight:600;
  letter-spacing:-.02em;margin:0 0 6px;line-height:1.25;
}
.hss-body h3 a{color:inherit;text-decoration:none}
.hss-body h3 a:hover{color:var(--hss-a2)}
.hss-meta{font-size:13.5px;color:var(--hss-muted);margin:0}
.hss-excerpt{font-size:14px;color:var(--hss-ink2);margin:8px 0 0;max-width:62ch}

.hss-body{flex:1 1 auto;min-width:0}
.hss-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:9px;text-align:right}
.hss-price{font-family:var(--hss-disp);font-size:19px;font-weight:500}
.hss-seats{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--hss-taupe)}

.hss-btn{
  display:inline-block;padding:11px 22px;border-radius:999px;white-space:nowrap;
  background:var(--hss-grad);color:#fff !important;text-decoration:none;
  font-size:13.5px;font-weight:600;box-shadow:0 8px 20px -10px var(--hss-a2);
  transition:transform .22s;
}
.hss-btn:hover{transform:translateY(-2px);color:#fff !important}
.hss-btn--ghost{
  background:#fff;color:var(--hss-ink) !important;
  border:1px solid var(--hss-line);box-shadow:none;
}
.hss-btn--ghost:hover{border-color:var(--hss-a1);color:var(--hss-a2) !important}

.hss-pill{
  display:inline-block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;padding:4px 11px;border-radius:999px;
}
.hss-pill--open{background:rgba(131,0,233,.1);color:var(--hss-a2)}
.hss-pill--few{background:rgba(153,138,110,.2);color:#6F6349}
.hss-pill--full{background:#EFEAF6;color:#8A8195}
.hss-pill--cancelled{background:#FBE9E7;color:#B3261E}

.hss-card--cancelled .hss-body h3{text-decoration:line-through;color:var(--hss-muted)}
.hss-card--full{opacity:.72}

.hss-empty{color:var(--hss-muted);font-size:14.5px;padding:26px 0}

/* ---------- calendrier ---------- */
.hss-cal{border:1px solid var(--hss-line);border-radius:22px;padding:24px;background:#fff;max-width:420px}
.hss-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.hss-cal-title{font-family:var(--hss-disp);font-size:18px;font-weight:500}
.hss-nav{
  flex:0 0 auto;
  border:1px solid var(--hss-line);background:#fff;border-radius:50%;
  width:32px;height:32px;padding:0;font-size:18px;line-height:1;
  cursor:pointer;color:var(--hss-muted);text-transform:none;letter-spacing:0;
}
.hss-nav:hover{border-color:var(--hss-a1);color:var(--hss-a2)}
.hss-nav[disabled]{opacity:.35;cursor:default}

.hss-cal *{margin:0}
.hss-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;align-items:stretch}
.hss-dow{
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--hss-taupe);font-weight:700;padding:6px 0;
}
.hss-day{
  padding:9px 0;border-radius:10px;font-size:13.5px;line-height:1.2;
  color:var(--hss-ink2);text-decoration:none;display:block;
  background:none;border:0;
}
.hss-day--out{visibility:hidden}
.hss-day--on{background:var(--hss-grad);color:#fff !important;font-weight:700}
.hss-day--on:hover{filter:brightness(1.08)}

/* ---------- fiche ---------- */
/* Aucune marge : le bloc est posé dans un module Divi, c'est au module
   de gérer son espacement. */
.hss-panel{
  border:1px solid var(--hss-line);border-radius:22px;
  padding:32px;background:var(--hss-cream);
}
.hss-panel h2{font-family:var(--hss-disp);font-size:24px;font-weight:500;margin:0 0 22px;letter-spacing:-.02em}
.hss-panel dl{margin:0;display:grid;gap:0}
.hss-panel dl>div{
  display:grid;grid-template-columns:170px 1fr;gap:16px;
  padding:12px 0;border-top:1px solid var(--hss-line);
}
.hss-panel dl>div:first-child{border-top:0;padding-top:0}
.hss-panel dt{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--hss-taupe)}
.hss-panel dd{margin:0;font-size:15px}
.hss-bring{margin-top:26px;padding-top:22px;border-top:1px solid var(--hss-line)}
.hss-bring h3{font-family:var(--hss-disp);font-size:18px;font-weight:600;margin:0 0 10px}
.hss-bring ul{margin:0;padding-left:20px;font-size:14.5px;color:var(--hss-ink2)}
.hss-panel-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}

@media(max-width:782px){
  .hss-card{flex-wrap:wrap;gap:16px}
  .hss-date{flex:0 0 68px}
  .hss-thumb{display:none}
  .hss-body{flex:1 1 60%}
  .hss-side{flex:1 1 100%;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;flex-wrap:wrap}
  .hss-panel{padding:24px}
  .hss-panel dl>div{grid-template-columns:1fr;gap:2px}
}
