.he-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:24px 0}.he-event-card{overflow:hidden;border:1px solid #e8dfd0;border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(40,30,15,.06);color:#171717}.he-event-image{height:210px;background:#f4efe7}.he-event-image img{width:100%;height:100%;object-fit:cover;display:block}.he-event-content{padding:20px}.he-event-content h3{margin:0 0 12px;font-size:21px;font-weight:700;color:#171717}.he-event-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px;color:#745d37}.he-event-description{margin:12px 0;color:#666;font-size:14px;line-height:1.6}.he-event-seats{font-size:12px;color:#806b49}.he-event-button,.he-submit{border:0;border-radius:8px;background:#c99b25;color:#fff;padding:12px 20px;font-weight:700;cursor:pointer}.he-event-button:hover,.he-submit:hover{background:#171717;color:#d8b34e}.he-event-button:disabled{background:#aaa;cursor:not-allowed}.he-modal{display:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:18px}.he-modal.is-open{display:flex}.he-modal-backdrop{position:absolute;inset:0;background:rgba(12,12,12,.68);backdrop-filter:blur(5px)}.he-modal-dialog{position:relative;width:min(540px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:30px;box-shadow:0 20px 70px rgba(0,0,0,.25)}.he-modal-close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:30px;cursor:pointer;color:#777}.he-modal-kicker{font-size:10px;letter-spacing:2px;font-weight:800;color:#a7832c}.he-modal-dialog h3{font-size:25px;margin:8px 0;color:#171717}.he-modal-event-name{margin:0 0 20px;color:#8b6d2e;font-weight:600}.he-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.he-form-grid label{font-size:12px;font-weight:700;color:#4b4338}.he-form-grid input{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #e4ded4;border-radius:8px;padding:12px;font:inherit;font-size:14px}.he-form-grid input:focus{outline:2px solid #c99b2544;border-color:#c99b25}.he-full{grid-column:1/-1}.he-submit{width:100%;margin-top:18px}.he-form-message{font-size:13px;margin:12px 0 0}.he-empty{grid-column:1/-1;text-align:center;padding:30px;color:#777}@media(max-width:900px){.he-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.he-events-grid{grid-template-columns:1fr;gap:16px}.he-event-image{height:190px}.he-event-content{padding:16px}.he-modal-dialog{padding:24px 18px}.he-form-grid{grid-template-columns:1fr}.he-full{grid-column:auto}}
.he-selected-tariffs{grid-column:1/-1}.he-tariff-choice{display:grid;grid-template-columns:1fr 105px;gap:12px;align-items:center;padding:12px;margin:8px 0;border:1px solid #e8dfd0;border-radius:9px;background:#fbfaf7}.he-tariff-choice label{font-size:13px;font-weight:700;color:#4b4338}.he-tariff-choice input{width:100%;box-sizing:border-box;border:1px solid #e4ded4;border-radius:7px;padding:9px}.he-total-line{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid #e8dfd0;color:#4b4338}.he-total-line strong{color:#9a7420}@media(max-width:600px){.he-tariff-choice{grid-template-columns:1fr 85px}}

.he-tariff-choice{display:grid;grid-template-columns:22px minmax(0,1fr) 100px;gap:10px;align-items:center;padding:12px;margin:8px 0;border:1px solid #e8dfd0;border-radius:9px;background:#fbfaf7}.he-ticket-pick{width:18px!important;height:18px;margin:0!important;accent-color:#a7832c}.he-tariff-choice .he-ticket-label{display:block;font-size:13px;font-weight:700;color:#4b4338}.he-tariff-choice .he-ticket-quantity{width:100%;box-sizing:border-box;border:1px solid #e4ded4;border-radius:7px;padding:9px;margin:0}.he-tariff-choice .he-ticket-quantity:disabled{background:#eee;color:#999}.he-no-tariffs{font-size:13px;color:#9a3d30}@media(max-width:600px){.he-tariff-choice{grid-template-columns:22px minmax(0,1fr) 76px;gap:7px}}

/* Compatibilité renforcée avec les styles des thèmes WordPress */
.he-modal .he-tariff-choices{display:block!important;visibility:visible!important;opacity:1!important;width:100%}
.he-modal .he-tariff-choice{display:grid!important;grid-template-columns:24px minmax(0,1fr) 100px!important;align-items:center!important;gap:10px!important;visibility:visible!important;opacity:1!important;min-height:54px!important}
.he-modal .he-tariff-choice .he-ticket-pick{display:block!important;visibility:visible!important;opacity:1!important;position:static!important;appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;padding:0!important;cursor:pointer!important}
.he-modal .he-tariff-choice .he-ticket-label{display:block!important;visibility:visible!important;opacity:1!important;position:static!important;margin:0!important;padding:0!important;color:#3f382f!important;font-size:13px!important;line-height:1.45!important;cursor:pointer!important}
.he-modal .he-tariff-choice .he-ticket-quantity{display:block!important;visibility:visible!important;opacity:1!important;position:static!important;width:100%!important;min-width:0!important;height:40px!important;margin:0!important;padding:7px!important;background:#fff!important;color:#222!important;border:1px solid #cfc7ba!important;border-radius:7px!important}
.he-modal .he-tariff-choice .he-ticket-quantity:disabled{background:#eee!important;color:#999!important}
.he-modal .he-no-tariffs{display:block!important;visibility:visible!important;color:#9a3d30!important;padding:10px 0!important}
@media(max-width:600px){.he-modal .he-tariff-choice{grid-template-columns:22px minmax(0,1fr) 76px!important;gap:7px!important}}

.he-floor-selection{grid-column:1/-1;padding:14px;border:1px solid #e8dfd0;border-radius:12px;background:#fbfaf7}
.he-floor-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:11px;color:#71695d;margin:8px 0 14px}
.he-floor-legend span{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:-7px}
.he-floor-legend .available{background:#e7f3e9;border:1px solid #78a985}.he-floor-legend .selected{background:#c99b25}.he-floor-legend .unavailable{background:#e8e5e1}
.he-floor-zone{margin:12px 0}.he-floor-zone h4{margin:0 0 9px;font-size:13px;color:#8a6b2c}
.he-floor-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.he-floor-table{padding:12px;border:1px dashed #d8cdb9;border-radius:10px;background:#fff;text-align:center}
.he-floor-table strong{display:block;font-size:12px;color:#554a39;margin-bottom:9px}
.he-floor-seats{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}
.he-seat{width:37px;height:37px;border:1px solid #78a985!important;border-radius:9px!important;background:#e7f3e9!important;color:#32663e!important;font-size:11px;font-weight:700;cursor:pointer}
.he-seat.selected{background:#c99b25!important;border-color:#a77c20!important;color:#fff!important}
.he-seat.unavailable{background:#e8e5e1!important;border-color:#d0cbc3!important;color:#999!important;cursor:not-allowed}
.he-floor-help{font-size:11px;color:#81796e;margin:10px 0 0}
@media(max-width:600px){.he-floor-tables{grid-template-columns:1fr}.he-seat{width:34px;height:34px}}

/* Plan public : disposition spatiale issue de l'éditeur d'administration */
.he-public-floor-canvas{width:100%;border:1px solid #ded5c6;border-radius:12px;background:#f8f6f1;padding:12px;box-sizing:border-box}
.he-public-floor-canvas .he-floor-zone{margin:0 0 16px}
.he-floor-zone-area{position:relative;min-height:340px;border:1px dashed #d4c7b1;border-radius:10px;background-color:#fffdf9;background-image:linear-gradient(rgba(190,177,153,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(190,177,153,.16) 1px,transparent 1px);background-size:28px 28px;overflow:hidden}
.he-floor-zone-area .he-floor-table{position:absolute;transform:translate(-50%,-50%);min-width:112px;max-width:180px;padding:10px 8px;border:1px solid #b89a5a;border-radius:13px;background:#fff;box-shadow:0 4px 12px rgba(55,42,20,.09)}
.he-floor-zone-area .he-floor-table strong{font-size:11px;margin-bottom:7px}
.he-floor-zone-area .he-floor-seats{gap:5px}
.he-floor-zone-area .he-seat{width:29px;height:29px;border-radius:50%!important;padding:0;font-size:10px}
.he-floor-seats .he-seat.booked{background:#e7e3dc!important;border-color:#c8c1b5!important;color:#8e887f!important}
.he-floor-seats .he-seat.locked{background:#f4e6c8!important;border-color:#d7b66f!important;color:#8a6826!important}
.he-individual-zone{padding-top:8px;border-top:1px solid #e6ddce}
.he-individual-seats{justify-content:flex-start;padding:8px 2px}
@media(max-width:600px){.he-floor-zone-area{min-height:300px}.he-floor-zone-area .he-floor-table{min-width:90px;padding:7px 5px}.he-floor-zone-area .he-floor-seats{gap:3px}.he-floor-zone-area .he-seat{width:25px;height:25px}}

/* Configuration permanente de la salle */
.he-floor-admin .he-floor-table-row{display:grid;grid-template-columns:1fr 100px 1.3fr 1.3fr auto;gap:10px;align-items:end;background:#f7f5f0;border:1px solid #e7dfd0;border-radius:9px;padding:12px;margin:10px 0}
.he-floor-admin .he-floor-table-row label{font-size:12px;font-weight:600}
.he-floor-admin .he-floor-table-row input,.he-floor-admin .he-floor-table-row select{display:block;width:100%;margin-top:5px}
.he-floor-admin .he-floor-editor{position:relative;min-height:460px;border:1px solid #d9cfbd;border-radius:14px;background:#fbfaf7;overflow:hidden;margin:12px 0;background-image:linear-gradient(#e9e2d5 1px,transparent 1px),linear-gradient(90deg,#e9e2d5 1px,transparent 1px);background-size:25px 25px}
.he-floor-admin .he-floor-object{position:absolute;z-index:2;transform:translate(-50%,-50%);width:96px;height:76px;border:2px solid #a7832c;border-radius:14px;background:#fff9eb;box-shadow:0 4px 12px #34230d18;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:grab;touch-action:none;user-select:none}
.he-floor-admin .he-floor-object strong{font-size:14px;color:#654d20}.he-floor-admin .he-floor-object small{font-size:10px;color:#81796e}
@media(max-width:800px){.he-floor-admin .he-floor-table-row{grid-template-columns:1fr 1fr}.he-floor-admin .he-floor-editor{min-height:340px}}

/* 2.1.3 — éditeur permanent : styles appliqués au conteneur réel */
.he-floor-admin .he-floor-editor{display:block!important;position:relative!important;width:100%;min-height:480px!important;box-sizing:border-box;background-color:#fbfaf7!important;background-image:linear-gradient(#e9e2d5 1px,transparent 1px),linear-gradient(90deg,#e9e2d5 1px,transparent 1px)!important;background-size:25px 25px!important;border:1px solid #d9cfbd!important;border-radius:14px!important;overflow:hidden!important}
.he-floor-admin .he-floor-object{position:absolute!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;width:100px!important;height:78px!important;transform:translate(-50%,-50%)!important;z-index:5!important;background:#fff9eb!important;border:2px solid #a7832c!important;border-radius:14px!important;box-shadow:0 4px 12px rgba(52,35,13,.12)!important;cursor:grab!important;color:#654d20!important}
.he-floor-admin .he-floor-table-row{display:grid!important;grid-template-columns:minmax(100px,1fr) 90px minmax(150px,1.2fr) minmax(150px,1.2fr) auto!important;gap:10px!important;align-items:end!important;padding:12px!important;margin:10px 0!important;background:#f7f5f0!important;border:1px solid #e7dfd0!important;border-radius:9px!important}
.he-public-floor:empty{display:none}
.he-public-floor-canvas{min-height:160px}
.he-public-floor-canvas .he-floor-zone-area{min-height:360px!important;position:relative!important}
.he-public-floor-canvas .he-floor-table{position:absolute!important;transform:translate(-50%,-50%)!important;z-index:2}
@media(max-width:800px){.he-floor-admin .he-floor-table-row{grid-template-columns:1fr 1fr!important}.he-floor-admin .he-floor-editor{min-height:360px!important}}

/* Page de réservation dédiée HERITAGE */
.he-reservation-page{max-width:1120px;margin:35px auto;padding:0 18px}
.he-reservation-page-heading{margin:0 0 24px;padding:28px 30px;background:#171717;color:#fff;border-radius:16px}
.he-reservation-page-heading span{color:#d0aa4b;font-size:11px;font-weight:800;letter-spacing:2px}
.he-reservation-page-heading h2{margin:8px 0;color:#fff;font-size:30px}
.he-reservation-page-heading p{margin:0;color:#e3ded4}
.he-reservation-page .he-events-grid{display:none!important}
.he-reservation-page .he-modal{display:flex!important;position:static!important;inset:auto!important;z-index:1!important;padding:0!important;align-items:stretch!important;justify-content:stretch!important;background:transparent!important}
.he-reservation-page .he-modal-backdrop{display:none!important}
.he-reservation-page .he-modal-dialog{width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;padding:30px!important;box-sizing:border-box!important;border:1px solid #e8dfd0!important;border-radius:16px!important;box-shadow:0 8px 30px rgba(0,0,0,.06)!important}
.he-reservation-page .he-modal-close{display:none!important}
.he-reservation-page .he-modal-event-name{font-size:18px}
.he-reservation-page .he-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.he-reservation-page .he-floor-selection,.he-reservation-page .he-selected-tariffs{grid-column:1/-1}
.he-reservation-page .he-public-floor{margin-top:14px}
.he-reservation-page .he-reservation-page-error{padding:16px;background:#fff2ee;color:#9a3d30;border-radius:8px}
@media(max-width:700px){.he-reservation-page-heading{padding:22px 18px}.he-reservation-page-heading h2{font-size:24px}.he-reservation-page .he-modal-dialog{padding:20px 16px!important}.he-reservation-page .he-form-grid{grid-template-columns:1fr}}

/* 2.1.6 — réservation intégrée à une page dédiée */
body.he-dedicated-reservation-page .he-reservation-page{display:block!important;max-width:1120px!important;margin:28px auto!important;padding:0 18px!important}
body.he-dedicated-reservation-page .he-reservation-page .he-events-grid{display:none!important}
body.he-dedicated-reservation-page .he-reservation-page .he-modal,
body.he-dedicated-reservation-page .he-reservation-page .he-modal.is-open,
body.he-dedicated-reservation-page .he-reservation-page .he-modal.he-inline-reservation-modal{
 position:static!important;inset:auto!important;display:block!important;visibility:visible!important;
 opacity:1!important;transform:none!important;width:100%!important;height:auto!important;
 padding:0!important;margin:0!important;background:transparent!important;z-index:1!important;
}
body.he-dedicated-reservation-page .he-reservation-page .he-modal-backdrop{display:none!important}
body.he-dedicated-reservation-page .he-reservation-page .he-modal-dialog{
 position:static!important;display:block!important;visibility:visible!important;opacity:1!important;
 transform:none!important;width:100%!important;max-width:none!important;max-height:none!important;
 overflow:visible!important;margin:0!important;padding:28px!important;box-sizing:border-box!important;
 background:#fff!important;border:1px solid #e7dfd0!important;border-radius:16px!important;
 box-shadow:0 8px 28px rgba(0,0,0,.06)!important;
}
body.he-dedicated-reservation-page .he-reservation-page .he-modal-close{display:none!important}
body.he-dedicated-reservation-page .he-reservation-page .he-public-floor{display:block!important;min-height:180px!important;width:100%!important}
body.he-dedicated-reservation-page .he-reservation-page .he-public-floor-canvas{display:block!important;min-height:180px!important;width:100%!important}
body.he-dedicated-reservation-page .he-reservation-page .he-floor-zone-area{position:relative!important;display:block!important;min-height:300px!important;width:100%!important;border:1px solid #d9cfbd!important;border-radius:12px!important;background:#fbfaf7!important;margin:12px 0!important}
body.he-dedicated-reservation-page .he-reservation-page .he-floor-table{position:absolute!important;display:block!important;min-width:130px!important;min-height:82px!important;transform:translate(-50%,-50%)!important;background:#fff9eb!important;border:2px solid #a7832c!important;border-radius:12px!important;padding:8px!important;z-index:2!important}
body.he-dedicated-reservation-page .he-reservation-page .he-floor-seats{display:flex!important;flex-wrap:wrap!important;gap:5px!important;justify-content:center!important}
body.he-dedicated-reservation-page .he-reservation-page .he-seat{display:inline-flex!important;min-width:30px!important;min-height:30px!important;align-items:center!important;justify-content:center!important;cursor:pointer!important}
body.he-dedicated-reservation-page .he-reservation-page .he-seat:disabled{cursor:not-allowed!important}
body.he-dedicated-reservation-page .he-reservation-page .he-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
body.he-dedicated-reservation-page .he-reservation-page .he-full{grid-column:1/-1!important}
body.he-dedicated-reservation-page .he-reservation-page .he-tariff-choice{display:grid!important;grid-template-columns:auto 1fr 90px!important;gap:10px!important;align-items:center!important;padding:12px!important;border-bottom:1px solid #eee!important}
body.he-dedicated-reservation-page .he-reservation-page .he-ticket-quantity{width:80px!important}
@media(max-width:700px){body.he-dedicated-reservation-page .he-reservation-page .he-form-grid{grid-template-columns:1fr!important}body.he-dedicated-reservation-page .he-reservation-page .he-modal-dialog{padding:18px!important}}

/* HERITAGE ÉVÉNEMENTS 3.0.0 — réservation autonome */
.he-reservation-page .he-modal.he-inline-reservation-modal{display:block!important;position:static!important;inset:auto!important;width:100%!important;height:auto!important;padding:0!important;margin:24px 0 0!important;background:transparent!important;visibility:visible!important;opacity:1!important;transform:none!important}
.he-reservation-page .he-modal.he-inline-reservation-modal .he-modal-backdrop{display:none!important}
.he-reservation-page .he-modal.he-inline-reservation-modal .he-modal-dialog{display:block!important;position:static!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;overflow:visible!important;margin:0!important;transform:none!important;visibility:visible!important;opacity:1!important}
.he-reservation-page .he-single-reservation-event{display:none!important}
.he-public-floor-canvas{display:flex;flex-direction:column;gap:20px;width:100%;min-height:240px}
.he-floor-zone-area{position:relative;min-height:360px;width:100%;overflow:hidden;border:1px solid #ded5c5;border-radius:14px;background-color:#faf8f3;background-image:linear-gradient(rgba(145,125,88,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(145,125,88,.08) 1px,transparent 1px);background-size:24px 24px}
.he-floor-table{position:absolute;min-width:150px;min-height:88px;padding:10px;background:#fff;border:2px solid #b38b2e;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.08);transform:translate(-50%,-50%);text-align:center}
.he-floor-seats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}
.he-seat{min-width:32px;min-height:32px;border-radius:50%;border:1px solid #8b7443;background:#f4eddd;color:#332b1c}
.he-seat.selected{background:#c99b24;color:#fff;border-color:#a47b13}
.he-seat.unavailable{background:#ddd;color:#777;border-color:#bbb;opacity:.7}
.he-seat.booked{background:#9e3939;color:#fff}
.he-seat.locked{background:#777;color:#fff}

/* 3.1.0 — formulaire autonome, sans carte événement ni popup */
.he-reservation-standalone{display:block!important;max-width:1120px;margin:28px auto;padding:0 18px}
.he-reservation-standalone .he-reservation-page-heading{display:block;background:#171717;color:#fff;padding:28px 30px;border-radius:14px;margin-bottom:22px}
.he-reservation-standalone .he-reservation-page-heading h2{color:#fff;margin:8px 0}
.he-reservation-standalone .he-modal-standalone{display:block!important;position:static!important;inset:auto!important;width:100%!important;height:auto!important;padding:0!important;margin:0!important;background:transparent!important;opacity:1!important;visibility:visible!important;transform:none!important}
.he-reservation-standalone .he-modal-dialog{display:block!important;position:static!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;overflow:visible!important;margin:0!important;padding:28px!important;transform:none!important;background:#fff!important;border:1px solid #e8dfd0!important;border-radius:14px!important;box-shadow:0 8px 28px rgba(0,0,0,.06)!important}
.he-reservation-standalone .he-modal-close,.he-reservation-standalone .he-modal-backdrop{display:none!important}
.he-reservation-standalone .he-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.he-reservation-standalone .he-full{grid-column:1/-1}
.he-reservation-standalone .he-public-floor{display:block!important;min-height:220px;width:100%}
.he-reservation-standalone .he-floor-zone-area{position:relative;min-height:360px;width:100%;overflow:hidden;border:1px solid #ded5c5;border-radius:14px;background:#faf8f3;background-image:linear-gradient(rgba(145,125,88,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(145,125,88,.08) 1px,transparent 1px);background-size:24px 24px}
.he-reservation-standalone .he-floor-table{position:absolute;min-width:150px;min-height:88px;padding:10px;background:#fff;border:2px solid #b38b2e;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.08);transform:translate(-50%,-50%);text-align:center}
.he-reservation-standalone .he-floor-seats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}
.he-reservation-standalone .he-seat{min-width:32px;min-height:32px;border-radius:50%;border:1px solid #8b7443;background:#f4eddd;color:#332b1c;cursor:pointer}
.he-reservation-standalone .he-seat.selected{background:#c99b24;color:#fff;border-color:#a47b13}
.he-reservation-standalone .he-seat.unavailable{background:#ddd;color:#777;border-color:#bbb;opacity:.75;cursor:not-allowed}
.he-reservation-standalone .he-tariff-choice{display:grid;grid-template-columns:auto 1fr 90px;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #eee}
.he-reservation-standalone .he-ticket-quantity{width:85px}
.he-reservation-standalone .he-submit{margin-top:18px;width:100%}
@media(max-width:700px){.he-reservation-standalone .he-form-grid{grid-template-columns:1fr}.he-reservation-standalone .he-modal-dialog{padding:18px!important}.he-reservation-standalone .he-floor-zone-area{min-height:300px}}

/* 3.2.1 — rendu compact : petit plateau rond et sièges autour */
.he-public-floor-canvas .he-floor-zone-area.he-round-floor-area{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(168px,1fr))!important;
  grid-auto-rows:166px!important;
  align-items:center!important;
  justify-items:center!important;
  gap:8px!important;
  min-height:0!important;
  height:auto!important;
  padding:12px!important;
  overflow:visible!important;
  background:#fbfaf7!important;
  border:1px solid #e6ddcd!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
}
.he-public-floor-canvas .he-round-table{
  position:relative!important;
  display:block!important;
  width:150px!important;
  height:150px!important;
  min-width:150px!important;
  min-height:150px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.he-public-floor-canvas .he-round-tabletop{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:58px!important;
  height:58px!important;
  transform:translate(-50%,-50%)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  border:3px solid #b68b2e!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#fffdf8,#e9dfc9)!important;
  box-shadow:0 2px 8px rgba(48,35,13,.16)!important;
  z-index:1!important;
  pointer-events:none!important;
  padding:0!important;
}
.he-public-floor-canvas .he-round-table-name{
  color:#60491c!important;
  font-size:12px!important;
  line-height:1!important;
  margin:0!important;
}
.he-public-floor-canvas .he-round-table-mode{
  display:block!important;
  color:#806b45!important;
  font-size:8px!important;
  line-height:1!important;
  margin-top:3px!important;
}
.he-public-floor-canvas .he-round-table .he-round-seat{
  position:absolute!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:29px!important;
  height:29px!important;
  min-width:29px!important;
  min-height:29px!important;
  padding:0!important;
  margin:0!important;
  border-radius:50%!important;
  font-size:10px!important;
  line-height:1!important;
  z-index:2!important;
  box-sizing:border-box!important;
  box-shadow:0 1px 4px rgba(0,0,0,.12)!important;
}
.he-public-floor-canvas .he-round-table .he-round-seat.available{
  color:#28633b!important;
  background:#e8f4eb!important;
  border:1px solid #7bb28b!important;
}
.he-public-floor-canvas .he-round-table .he-round-seat.selected{
  color:#fff!important;
  background:#c99b24!important;
  border:1px solid #a47b13!important;
}
.he-public-floor-canvas .he-round-table .he-round-seat.unavailable{
  color:#777!important;
  background:#e5e5e5!important;
  border:1px solid #c8c8c8!important;
  cursor:not-allowed!important;
}
@media(max-width:560px){
 .he-public-floor-canvas .he-floor-zone-area.he-round-floor-area{
  grid-template-columns:repeat(2,minmax(145px,1fr))!important;
  grid-auto-rows:150px!important;
  gap:2px!important;
  padding:8px 2px!important;
 }
 .he-public-floor-canvas .he-round-table{transform:scale(.9)!important}
}

/* 3.2.4 — public floor: explicit high-specificity round table layout */
body .he-public-floor .he-public-floor-canvas .he-floor-zone-area.he-round-floor-area{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(166px,166px))!important;
  grid-auto-rows:166px!important;
  justify-content:center!important;
  align-items:center!important;
  justify-items:center!important;
  gap:12px!important;
  min-height:0!important;
  height:auto!important;
  padding:14px!important;
  overflow:visible!important;
  position:relative!important;
}
body .he-public-floor .he-public-floor-canvas .he-round-table{
  position:relative!important;
  display:block!important;
  width:150px!important;height:150px!important;
  min-width:150px!important;min-height:150px!important;
  max-width:150px!important;
  margin:0!important;padding:0!important;
  border:0!important;border-radius:50%!important;
  background:transparent!important;box-shadow:none!important;
  transform:none!important;overflow:visible!important;
  box-sizing:border-box!important;
}
body .he-public-floor .he-public-floor-canvas .he-round-tabletop{
  position:absolute!important;left:50%!important;top:50%!important;
  width:62px!important;height:62px!important;
  margin:0!important;padding:0!important;
  transform:translate(-50%,-50%)!important;
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  border:3px solid #b68b2e!important;border-radius:50%!important;
  background:linear-gradient(145deg,#fffdf8,#e9dfc9)!important;
  box-shadow:0 3px 9px rgba(52,35,13,.16)!important;
  z-index:3!important;pointer-events:none!important;box-sizing:border-box!important;
}
body .he-public-floor .he-public-floor-canvas .he-round-tabletop strong{
  display:block!important;margin:0!important;padding:0!important;
  color:#60491c!important;font-size:12px!important;line-height:1!important;
}
body .he-public-floor .he-public-floor-canvas .he-round-tabletop small{
  display:block!important;margin:3px 0 0!important;padding:0!important;
  color:#806b45!important;font-size:8px!important;line-height:1!important;
}
body .he-public-floor .he-public-floor-canvas .he-round-table .he-round-seat{
  position:absolute!important;display:flex!important;
  align-items:center!important;justify-content:center!important;
  width:29px!important;height:29px!important;
  min-width:29px!important;min-height:29px!important;
  margin:0!important;padding:0!important;
  border-radius:50%!important;box-sizing:border-box!important;
  font-size:10px!important;line-height:1!important;
  z-index:4!important;
}
body .he-public-floor .he-public-floor-canvas .he-round-table .he-round-seat.available{
  background:#e8f4eb!important;color:#28633b!important;border:1px solid #78a987!important;
}
body .he-public-floor .he-public-floor-canvas .he-round-table .he-round-seat.selected{
  background:#c99b24!important;color:#fff!important;border:1px solid #a47b13!important;
}
body .he-public-floor .he-public-floor-canvas .he-round-table .he-round-seat.unavailable{
  background:#e5e5e5!important;color:#777!important;border:1px solid #c8c8c8!important;
}
@media(max-width:560px){
 body .he-public-floor .he-public-floor-canvas .he-floor-zone-area.he-round-floor-area{
  grid-template-columns:repeat(2,minmax(145px,1fr))!important;
  grid-auto-rows:155px!important;gap:2px!important;padding:8px 2px!important;
 }
}
