.entrv-bp-notice { padding: 12px 16px; border-radius: 6px; margin-bottom: 20px; }
.entrv-bp-notice-success { background: #e6f4ea; color: #1e4620; border: 1px solid #b7dfc0; }
.entrv-bp-notice-cancelled { background: #fdecea; color: #611a15; border: 1px solid #f3b3ac; }

.entrv-bp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.entrv-bp-card { border: 1px solid #e2e8f0; border-radius: 8px; padding: 14px; text-align: left; }
.entrv-bp-card img { width: 100%; height: 160px; object-fit: cover; border-radius: 6px; margin-bottom: 10px; }
.entrv-bp-card h3 { margin: 0 0 4px; font-size: 16px; }
.entrv-bp-unit, .entrv-bp-rate { margin: 2px 0; font-size: 13px; color: #4a5568; }
.entrv-bp-book-btn { margin-top: 10px; width: 100%; }

.entrv-bp-modal { position: fixed; inset: 0; background: rgba(0,0,0,.5); display: flex; align-items: center; justify-content: center; z-index: 9999; padding: 16px; }
.entrv-bp-modal[hidden] { display: none; }
.entrv-bp-modal-inner { background: #fff; border-radius: 8px; padding: 24px; max-width: 420px; width: 100%; position: relative; max-height: 90vh; overflow-y: auto; }
.entrv-bp-modal-close { position: absolute; top: 10px; right: 14px; background: none; border: none; font-size: 22px; cursor: pointer; line-height: 1; }
#entrv-bp-form label { display: block; margin-bottom: 10px; font-size: 13px; }
#entrv-bp-form input { display: block; width: 100%; padding: 7px 8px; margin-top: 4px; box-sizing: border-box; }
.entrv-bp-quote { margin: 12px 0; font-size: 13px; min-height: 1.2em; }
.entrv-bp-fineprint { color: #718096; font-size: 12px; }
#entrv-bp-form-message { color: #b32d2e; font-size: 13px; margin-top: 8px; }
#entrv-bp-submit { width: 100%; }
