/**
 * v1.24.393 — Le plan de salle côté public.
 *
 * Les couleurs viennent des zones du plan ; la feuille ne fixe que les états —
 * libre, choisi, occupé — pour qu'ils restent lisibles sur n'importe quel thème.
 */
.danz-seatmap{margin:24px 0;font-size:15px}
.danz-seatmap__head{text-align:center;margin-bottom:14px}
.danz-seatmap__title{margin:0 0 2px;font-size:22px;font-weight:800;letter-spacing:-.01em}
.danz-seatmap__free{margin:0;opacity:.65;font-size:14px}
.danz-seatmap__alert{margin:0 0 12px;padding:10px 14px;border-radius:10px;background:#fef3c7;color:#7c2d12;
  font-size:14px;font-weight:600;text-align:center}

.danz-seatmap__legend{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:18px;
  font-size:13px;opacity:.85}
.danz-seatmap__legend-item{display:flex;align-items:center;gap:6px}
.danz-seatmap__legend-item .danz-seat{width:20px;height:20px;pointer-events:none}
.danz-seatmap__dot{width:14px;height:14px;border-radius:50%}

.danz-seatmap__hall{padding:18px 10px 8px;border-radius:16px;background:rgba(127,127,127,.06);overflow-x:auto}
.danz-seatmap__section{margin-bottom:16px}
.danz-seatmap__section-label{text-align:center;font-size:12px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;opacity:.55;margin-bottom:8px}
.danz-seatmap__row{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px}
.danz-seatmap__rowlabel{width:22px;text-align:center;font-size:12px;font-weight:800;opacity:.5;flex:0 0 auto}
.danz-seatmap__seats{display:flex;gap:5px;align-items:center}
.danz-seatmap__gap{width:18px;flex:0 0 auto}
.danz-seatmap__gap--space{width:28px}

.danz-seat{width:28px;height:28px;flex:0 0 auto;border-radius:8px 8px 5px 5px;border:2px solid rgba(127,127,127,.5);
  background:transparent;font:inherit;font-size:11px;font-weight:700;line-height:1;padding:0;cursor:pointer;
  color:inherit;transition:transform .1s ease}
.danz-seat--free:hover{transform:translateY(-2px)}
.danz-seat--mine{background:#16a34a;border-color:#16a34a;color:#fff}
.danz-seat--taken{background:rgba(127,127,127,.4);border-color:transparent;color:transparent;cursor:not-allowed}
.danz-seat--pmr{border-style:dashed}

.danz-seatmap__stage{margin:18px auto 4px;max-width:60%;padding:7px 0;text-align:center;font-size:12px;
  font-weight:800;letter-spacing:.22em;text-transform:uppercase;opacity:.6;
  border-top:3px solid currentColor;border-radius:50%/12px}

.danz-seatmap__summary{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;justify-content:space-between;
  margin-top:20px;padding:16px 18px;border-radius:14px;border:1px solid rgba(127,127,127,.25)}
.danz-seatmap__picked{flex:1 1 220px}
.danz-seatmap__none{margin:6px 0 0;opacity:.6;font-size:14px}
.danz-seatmap__chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.danz-seatmap__chip{padding:5px 10px;border-radius:999px;border:1px solid rgba(127,127,127,.35);
  background:transparent;font:inherit;font-size:13px;font-weight:700;cursor:pointer;color:inherit}
.danz-seatmap__chip:hover{border-color:#dc2626;color:#dc2626}
.danz-seatmap__total{margin:6px 0 0;font-size:17px;font-weight:800}
.danz-seatmap__hold{margin:4px 0 0;font-size:12.5px;opacity:.6}
.danz-seatmap__book{padding:13px 22px;border-radius:11px;border:0;background:#16161a;color:#fff;
  font:inherit;font-weight:800;font-size:15px;cursor:pointer}
.danz-seatmap__book[disabled]{opacity:.4;cursor:not-allowed}

@media (max-width:640px){
  .danz-seat{width:24px;height:24px;font-size:10px}
  .danz-seatmap__hall{padding:12px 4px}
}
@media (prefers-color-scheme:dark){
  .danz-seatmap__alert{background:#422006;color:#fde68a}
  .danz-seatmap__book{background:#f2f2f5;color:#17171b}
}

/* ---------------------------------------------------------- v1.24.395
 * Les tarifs, lisibles avant de choisir : c'est la première question de
 * l'acheteur. Les repères de lecture passent en second, en plus discret.
 */
.danz-seatmap__prices{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:center;
  margin:0 0 12px;padding:12px 14px;border-radius:14px;background:rgba(127,127,127,.07)}
.danz-seatmap__prices-label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.55}
.danz-seatmap__price{display:flex;align-items:center;gap:9px;padding:7px 14px;border-radius:11px;
  background:var(--danz-seatmap-card,#fff);box-shadow:0 1px 3px rgba(0,0,0,.09)}
.danz-seatmap__price-dot{width:14px;height:14px;border-radius:4px;flex:0 0 auto}
.danz-seatmap__price-text{display:flex;flex-direction:column;line-height:1.25}
.danz-seatmap__price-zone{font-size:12px;font-weight:700;opacity:.7}
.danz-seatmap__price-amount{font-size:16px;font-weight:800}

.danz-seatmap__breakdown{margin:10px 0 0;padding:10px 0 0;border-top:1px solid rgba(127,127,127,.22)}
.danz-seatmap__line{display:flex;justify-content:space-between;gap:14px;font-size:14px;padding:3px 0}
.danz-seatmap__line-what{opacity:.75}
.danz-seatmap__line-sum{font-weight:700;white-space:nowrap}
.danz-seatmap__total{display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  margin:8px 0 0;padding-top:8px;border-top:2px solid rgba(127,127,127,.3);font-size:15px;font-weight:700}
.danz-seatmap__total strong{font-size:22px;font-weight:800}

@media (prefers-color-scheme:dark){
  .danz-seatmap__price{background:rgba(255,255,255,.07);box-shadow:none}
}
