/* Pryntd Spaces Map — frontend + embed styles. Light mode, accessible focus. */

/* Persistent navigation shown on every seat map surface. */
.pryntd-space-nav { display:flex; flex-wrap:wrap; gap:.5rem 1rem; align-items:center; justify-content:space-between; max-width:1000px; margin:0 auto 1rem; padding:.6rem .8rem; border:1px solid #e5e8ee; border-radius:12px; background:#fbfcfe; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.pryntd-space-nav__group { display:flex; flex-wrap:wrap; gap:.35rem .5rem; align-items:center; }
.pryntd-space-nav__group--connected { margin-left:auto; }
.pryntd-space-nav__link { text-decoration:none; color:#2456c9; font-weight:600; font-size:.88rem; padding:.35rem .7rem; border-radius:8px; border:1px solid transparent; }
.pryntd-space-nav__link:hover { background:#eef3ff; }
.pryntd-space-nav__link.is-active { background:#2456c9; color:#fff; }
.pryntd-space-nav__link--connected { color:#4b5563; font-weight:500; }
.pryntd-space-nav__link--connected:hover { color:#2456c9; background:#eef3ff; }
@media (max-width:640px){ .pryntd-space-nav__group--connected { margin-left:0; } }

.pryntd-space-map { --psm-avail:#2f9e63; --psm-reserved:#c2c7cf; --psm-selected:#2456c9; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:#1a1f2b; }
.pryntd-space-map * { box-sizing: border-box; }
.psm-wrap { max-width: 920px; margin: 0 auto; }
.psm-title { font-size: 1.25rem; margin: 0 0 .75rem; }
.psm-controls { margin-bottom: .75rem; display:flex; gap:.75rem; flex-wrap:wrap; }
.psm-ctl { display:flex; flex-direction:column; gap:.2rem; font-size:.78rem; color:#4b5563; font-weight:600; }
.psm-date, .psm-time { padding: .5rem .6rem; border:1px solid #cdd3dd; border-radius:10px; font: inherit; background:#fff; }
.psm-stage { position: relative; background-size: 100% 100%; background-repeat: no-repeat; background-position: center; border:1px solid #e5e8ee; border-radius:16px; overflow:hidden; aspect-ratio: 16 / 10; }
.psm-svg { position:absolute; inset:0; width: 100%; height: 100%; display: block; }
.psm-seat { cursor: pointer; outline: none; }
.psm-seat__shape { fill: var(--psm-avail); opacity: .85; transition: opacity .12s ease, fill .12s ease; stroke: rgba(0,0,0,.2); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.psm-seat:hover .psm-seat__shape { opacity: 1; }
.psm-seat:focus-visible .psm-seat__shape { stroke:#111; stroke-width: 3; }
.psm-seat.is-selected .psm-seat__shape { fill: var(--psm-selected); opacity: 1; }
.psm-seat.is-reserved { cursor: not-allowed; }
.psm-seat.is-reserved .psm-seat__shape { fill: var(--psm-reserved); opacity: .7; }
.psm-seat__label { font-size: 3px; fill: #fff; pointer-events: none; font-weight: 600; }
.psm-summary { margin: .75rem 0; font-weight: 600; }
.psm-form { display: grid; gap: .5rem; grid-template-columns: 1fr 1fr auto; align-items: start; }
.psm-form input { padding: .6rem .7rem; border:1px solid #cdd3dd; border-radius:10px; font: inherit; }
.psm-reserve { padding: .6rem 1.1rem; border:0; border-radius:10px; background:#2456c9; color:#fff; font-weight:600; cursor:pointer; }
.psm-reserve:hover { background:#1c46a6; }
.psm-message { grid-column: 1 / -1; font-size: .9rem; color:#2f9e63; }
/* Framed embed chrome */
body.pryntd-space-map-embed { margin: 0; padding: 16px; background: #fff; }
.pryntd-space-map--framed { max-width: none; }
.pryntd-space-map__error { padding: 32px; text-align:center; color:#8a2020; font-family: system-ui, sans-serif; }
.pryntd-space-map__attribution { display:flex; gap:.5rem; align-items:center; justify-content:flex-end; margin-top:12px; font:600 .72rem system-ui,sans-serif; color:#6b7280; }
.pryntd-space-map__badge { background:#eef3ff; color:#2456c9; padding:2px 8px; border-radius:999px; }
@media (max-width: 560px) { .psm-form { grid-template-columns: 1fr; } }
