/* Bid On My Event - Front-end Styles
   Palette: deep navy #0b132b, white cards, blue/gold accents */

.bome-wrap * , .bome-wrap *::before, .bome-wrap *::after { box-sizing: border-box; }

:root {
	--bome-navy: #0b132b;
	--bome-navy-light: #14213d;
	--bome-blue: #1a3a8f;
	--bome-gold: #d4af37;
	--bome-text: #1f2937;
	--bome-muted: #6b7280;
	--bome-border: #e5e7eb;
	--bome-bg: #f7f8fa;
	--bome-radius: 10px;
}

.bome-wrap { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: var(--bome-text); max-width: 1200px; margin: 0 auto; padding: 20px; }

.bome-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border-radius: 8px; font-weight: 600; font-size: 14px; cursor: pointer; border: 1px solid transparent; text-decoration: none; transition: all .15s ease; }
.bome-btn-solid { background: var(--bome-blue); color: #fff; }
.bome-btn-solid:hover { background: #142f73; }
.bome-btn-dark { background: var(--bome-navy); color: #fff; }
.bome-btn-dark:hover { background: #060c1a; }
.bome-btn-outline { background: transparent; color: var(--bome-navy); border-color: var(--bome-border); }
.bome-btn-outline:hover { background: var(--bome-bg); }
.bome-btn-block { width: 100%; }
.bome-btn-large { padding: 16px 22px; font-size: 15px; }
.bome-link-btn { background: none; border: none; color: var(--bome-blue); font-size: 13px; cursor: pointer; padding: 4px 0; display: inline-flex; align-items: center; gap: 4px; }

/* ---------------- Auth header ---------------- */
.bome-auth-header { display: flex; align-items: center; gap: 14px; }
.bome-auth-buttons { display: flex; gap: 10px; }
.bome-user-menu { display: flex; align-items: center; gap: 14px; position: relative; }
.bome-notif-bell { background: none; border: none; cursor: pointer; font-size: 20px; }
.bome-avatar-btn { background: none; border: none; cursor: pointer; border-radius: 50%; overflow: hidden; }
.bome-avatar-btn img { border-radius: 50%; display: block; }
.bome-dropdown-menu { display: none; position: absolute; right: 0; top: 44px; background: #fff; border: 1px solid var(--bome-border); border-radius: 8px; padding: 12px; min-width: 180px; box-shadow: 0 8px 24px rgba(0,0,0,.12); z-index: 50; }
.bome-user-dropdown:hover .bome-dropdown-menu { display: block; }
.bome-dropdown-name { display: block; font-weight: 600; }
.bome-dropdown-role { display: block; font-size: 12px; color: var(--bome-muted); margin-bottom: 8px; }
.bome-dropdown-menu a { display: block; padding: 6px 0; color: var(--bome-text); text-decoration: none; }
.bome-dropdown-warning { font-size: 11px; color: #c0392b; background: #fdecec; border-radius: 6px; padding: 6px 8px; margin: 4px 0 8px; }

/* ---------------- Modals ---------------- */
.bome-modal {
	display: none;
	position: fixed !important;
	inset: 0 !important;
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	box-sizing: border-box;
	padding: 24px;
	background: rgba(11,19,43,.6);
	z-index: 2147483000;
	align-items: center;
	justify-content: center;
	overflow-y: auto;
	overscroll-behavior: contain;
}
.bome-modal.is-open { display: flex !important; }
.bome-modal-inner {
	background: #fff;
	border-radius: var(--bome-radius);
	padding: 28px;
	width: min(100%, 620px);
	max-width: 620px;
	max-height: calc(100vh - 48px);
	max-height: calc(100dvh - 48px);
	overflow-y: auto;
	box-sizing: border-box;
	position: relative;
	margin: auto;
}
.bome-auth-modal-inner { max-width: 620px; }
.bome-modal-close { position: absolute; top: 12px; right: 16px; background: none; border: none; font-size: 22px; cursor: pointer; color: var(--bome-muted); z-index: 2; }
body.bome-modal-open { overflow: hidden !important; }

/* ---------------- Forms ---------------- */
.bome-form { display: flex; flex-direction: column; gap: 12px; }
.bome-form label { font-size: 13px; font-weight: 600; display: flex; flex-direction: column; gap: 6px; color: var(--bome-text); }
.bome-form input[type=text], .bome-form input[type=email], .bome-form input[type=password],
.bome-form input[type=number], .bome-form input[type=date], .bome-form input[type=time],
.bome-form input[type=tel], .bome-form select, .bome-form textarea {
	border: 1px solid var(--bome-border); border-radius: 8px; padding: 10px 12px; font-size: 14px; font-weight: 400; width: 100%;
}
.bome-form-msg { font-size: 13px; min-height: 18px; }

.bome-field { display: flex; flex-direction: column; gap: 6px; }
.bome-field label { font-weight: 600; font-size: 13px; }
.bome-field-hint { font-size: 12px; color: var(--bome-muted); margin: 2px 0 8px; }
.bome-field-hint.bome-center { text-align: center; }
/* Expected guests: keep preset selector and manual entry side-by-side at 50/50 width. */
.bome-guests-input-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; width: 100%; align-items: stretch; }
.bome-guests-input-row > select, .bome-guests-input-row > input { width: 100%; min-width: 0; margin: 0; }
.bome-field input, .bome-field select, .bome-field textarea {
	border: 1px solid var(--bome-border); border-radius: 8px; padding: 10px 12px; font-size: 14px; width: 100%;
}

/* ---------------- Post Event Form ---------------- */
.bome-post-event-wrap h2 { font-size: 26px; margin-bottom: 20px; }
.bome-post-event-wrap h3 { font-size: 16px; margin: 24px 0 10px; }
.bome-post-event-grid { display: grid; grid-template-columns: 1fr 320px; gap: 32px; align-items: start; }
.bome-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 14px; }
.bome-form-row-3 { grid-template-columns: 1fr 1fr 1fr; }

.bome-checkbox-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.bome-checkbox { display: flex; align-items: center; gap: 8px; border: 1px solid var(--bome-border); border-radius: 8px; padding: 10px 12px; font-size: 13px; font-weight: 500; cursor: pointer; }
.bome-checkbox input { width: 16px; height: 16px; }

.bome-radio-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.bome-pill { border: 1px solid var(--bome-border); border-radius: 8px; padding: 10px 16px; font-size: 13px; font-weight: 500; cursor: pointer; }
.bome-pill input { display: none; }
.bome-pill:has(input:checked) { border-color: var(--bome-blue); color: var(--bome-blue); }

.bome-char-counter { align-self: flex-end; font-size: 12px; color: var(--bome-muted); }

.bome-upload-area { border: 2px dashed var(--bome-border); border-radius: var(--bome-radius); padding: 40px 20px; text-align: center; cursor: pointer; }
.bome-upload-area.is-dragover { border-color: var(--bome-blue); background: #f0f4ff; }
.bome-upload-area .dashicons { font-size: 32px; width: 32px; height: 32px; color: var(--bome-blue); }
.bome-upload-preview { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.bome-file-chip { background: var(--bome-bg); border-radius: 6px; padding: 4px 10px; font-size: 12px; }

.bome-summary-box { background: #fff; border: 1px solid var(--bome-border); border-radius: var(--bome-radius); padding: 22px; position: sticky; top: 20px; }
.bome-summary-box h3 { margin-top: 0; }
.bome-summary-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.bome-summary-list li { display: flex; align-items: flex-start; gap: 12px; border-bottom: 1px solid var(--bome-border); padding-bottom: 14px; }
.bome-summary-list li .dashicons { background: #eef2ff; color: var(--bome-blue); border-radius: 50%; padding: 6px; font-size: 16px; width: 16px; height: 16px; }
.bome-summary-list li strong { display: block; font-size: 13px; }
.bome-summary-list li span[data-summary] { font-size: 13px; color: var(--bome-muted); }
.bome-privacy-note { display: flex; gap: 10px; background: #eef4ff; border-radius: 8px; padding: 14px; margin-top: 6px; }
.bome-privacy-note strong { display: block; font-size: 13px; color: var(--bome-blue); }
.bome-privacy-note p { font-size: 12px; margin: 4px 0 0; color: var(--bome-muted); }

/* ---------------- Home Search ---------------- */
.bome-home-search { background: #fff; border-radius: var(--bome-radius); padding: 24px; display: grid; grid-template-columns: repeat(5, 1fr) auto; gap: 16px; align-items: end; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.bome-search-field { display: flex; flex-direction: column; gap: 6px; }
.bome-search-field label { font-size: 12px; font-weight: 600; color: var(--bome-muted); }
.bome-search-field input, .bome-search-field select { border: 1px solid var(--bome-border); border-radius: 8px; padding: 10px 12px; font-size: 13px; }

/* ---------------- Listing Page ---------------- */
.bome-filter-bar { background: #fff; border-radius: var(--bome-radius); padding: 20px; display: grid; grid-template-columns: repeat(5, 1fr) auto; gap: 14px; align-items: end; margin-bottom: 30px; }
.bome-listing-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.bome-sort-by { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.bome-sort-by select { border: 1px solid var(--bome-border); border-radius: 8px; padding: 6px 10px; }
.bome-radius-note { font-size: 13px; color: var(--bome-muted); margin-bottom: 12px; }

.bome-event-list { display: flex; flex-direction: column; gap: 14px; }
.bome-event-card { display: grid; grid-template-columns: 140px 1fr auto 1fr auto; gap: 20px; align-items: center; background: #fff; border: 1px solid var(--bome-border); border-radius: var(--bome-radius); padding: 14px; }
.bome-event-thumb { width: 140px; height: 100px; border-radius: 8px; overflow: hidden; background: var(--bome-bg); }
.bome-event-thumb img { width: 100%; height: 100%; object-fit: cover; }
.bome-thumb-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #dfe7ff, #f5f5f5); }
.bome-event-info h3 { margin: 0 0 8px; font-size: 16px; }
.bome-event-info h3 a { color: var(--bome-text); text-decoration: none; }
.bome-event-meta { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--bome-muted); }
.bome-event-meta span { display: flex; align-items: center; gap: 6px; }
.bome-event-bids { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.bome-bid-badge { background: var(--bome-bg); border-radius: 20px; padding: 6px 12px; font-size: 12px; font-weight: 600; cursor: pointer; }
.bome-status-pill { border-radius: 20px; padding: 4px 12px; font-size: 11px; font-weight: 600; }
.bome-status-pill.is-open { background: #e7f8ef; color: #1e8449; }
.bome-status-pill.is-closed { background: #fdecec; color: #c0392b; }
.bome-services-label { font-size: 11px; color: var(--bome-muted); display: block; margin-bottom: 6px; }
.bome-service-tags { display: flex; flex-wrap: wrap; gap: 6px; max-width: 240px; }
.bome-tag { background: var(--bome-bg); border-radius: 6px; padding: 4px 8px; font-size: 11px; }
.bome-event-price { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.bome-price { font-weight: 700; font-size: 16px; }
.bome-no-results, .bome-loading { text-align: center; padding: 40px 0; color: var(--bome-muted); }

.bome-bid-range-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--bome-border); }

/* ---------------- Event Details ---------------- */
.bome-event-details-wrap { }
.bome-event-header { background: var(--bome-navy); color: #fff; border-radius: var(--bome-radius); padding: 26px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; margin-bottom: 24px; }
.bome-event-header h1 { margin: 0 0 8px; font-size: 24px; }
.bome-event-header-meta { display: flex; gap: 18px; font-size: 13px; opacity: .85; flex-wrap: wrap; }
.bome-event-header-meta span { display: flex; align-items: center; gap: 6px; }
.bome-event-header-right { display: flex; align-items: center; gap: 10px; }
.bome-price-lg { font-size: 20px; font-weight: 700; }
.bome-pill-outline { border: 1px solid rgba(255,255,255,.3); border-radius: 20px; padding: 4px 12px; font-size: 12px; }

.bome-event-details-grid { display: grid; grid-template-columns: 1fr 340px; gap: 24px; align-items: start; }
.bome-card { background: #fff; border: 1px solid var(--bome-border); border-radius: var(--bome-radius); padding: 22px; margin-bottom: 20px; }
.bome-card h3 { margin-top: 0; }
.bome-about-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 16px; }
.bome-about-grid > div { display: flex; flex-direction: column; gap: 4px; font-size: 12px; }
.bome-about-grid strong { font-size: 12px; }
.bome-about-grid span { color: var(--bome-muted); }

.bome-services-detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.bome-service-detail-item { border: 1px solid var(--bome-border); border-radius: 8px; padding: 12px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.bome-service-detail-item .dashicons { color: var(--bome-blue); }

.bome-details-two-col { display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px; }
.bome-map-embed { height: 180px; border-radius: 8px; background: var(--bome-bg); overflow: hidden; }
.bome-map-placeholder { display: flex; align-items: center; justify-content: center; height: 100%; }
.bome-map-address { font-size: 13px; color: var(--bome-muted); margin-top: 10px; }

.bome-submit-bid-box .bome-input-prefix { display: flex; align-items: center; border: 1px solid var(--bome-border); border-radius: 8px; overflow: hidden; }
.bome-input-prefix span { padding: 10px 12px; background: var(--bome-bg); font-weight: 600; }
.bome-input-prefix input { border: none !important; }
.bome-tip-box { display: flex; gap: 8px; background: #eef4ff; border-radius: 8px; padding: 12px; font-size: 12px; color: var(--bome-blue); }

.bome-bid-item { display: grid; grid-template-columns: 2fr 1fr 1fr 2fr auto; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--bome-border); }
.bome-bid-vendor { display: flex; align-items: center; gap: 10px; }
.bome-bid-vendor img { border-radius: 50%; }
.bome-bid-date { font-size: 11px; color: var(--bome-muted); }
.bome-bid-amount { font-weight: 700; }

.bome-login-prompt { text-align: center; padding: 60px 20px; }
.bome-login-prompt .dashicons { font-size: 40px; width: 40px; height: 40px; color: var(--bome-muted); }
.bome-notice { background: #fdecec; color: #c0392b; padding: 14px; border-radius: 8px; }


@media (max-width: 900px) {
	.bome-post-event-grid, .bome-event-details-grid, .bome-details-two-col { grid-template-columns: 1fr; }
	.bome-form-row, .bome-form-row-3, .bome-checkbox-grid, .bome-about-grid, .bome-services-detail-grid { grid-template-columns: repeat(2, 1fr); }
	.bome-home-search, .bome-filter-bar { grid-template-columns: 1fr 1fr; }
	.bome-event-card { grid-template-columns: 1fr; }
}

/* Unified BOME buttons: clean black CTA treatment requested for the plugin. */
.bome-wrap .bome-btn,
.bome-home-search .bome-btn,
.bome-modal .bome-btn,
.bome-auth-header .bome-btn {
	background: #000 !important;
	color: #fff !important;
	border: 1px solid #000 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	text-decoration: none !important;
	transition: background .18s ease, transform .18s ease, opacity .18s ease;
}
.bome-wrap .bome-btn:hover,
.bome-home-search .bome-btn:hover,
.bome-modal .bome-btn:hover,
.bome-auth-header .bome-btn:hover {
	background: #1b1b1b !important;
	color: #fff !important;
	transform: translateY(-1px);
}
.bome-wrap .bome-btn:disabled,
.bome-home-search .bome-btn:disabled {
	opacity: .55;
	cursor: not-allowed;
	transform: none;
}
.bome-link-btn {
	background: #000 !important;
	color: #fff !important;
	border: 1px solid #000 !important;
	border-radius: 10px !important;
	padding: 8px 12px !important;
	text-decoration: none !important;
}

.bome-upload-area {
	display: block;
	position: relative;
}
.bome-upload-area #reference_images {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	overflow: hidden !important;
	pointer-events: none;
}
.bome-file-preview {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 230px;
}
.bome-file-preview img {
	width: 42px;
	height: 42px;
	border-radius: 7px;
	object-fit: cover;
	flex: 0 0 42px;
}

.bome-location-status{display:block;min-height:16px;margin-top:4px;font-size:11px;color:#6b7280}.bome-location-status.is-ok{color:#15803d}.bome-location-status.is-error{color:#b42318}
.bome-radius-panel{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px 20px;margin:-12px 0 26px;box-shadow:0 10px 26px rgba(11,19,43,.06)}
.bome-radius-panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.bome-radius-panel-head>div:first-child{display:flex;align-items:center;gap:10px}
.bome-radius-panel-head .dashicons{width:36px;height:36px;border-radius:50%;background:#f3f4f6;display:inline-flex;align-items:center;justify-content:center;font-size:18px}
.bome-radius-panel-head strong,.bome-radius-panel-head small{display:block}.bome-radius-panel-head strong{font-size:14px;color:#111}.bome-radius-panel-head small{margin-top:2px;color:#6b7280;font-size:11px}
.bome-radius-value{background:#000;color:#fff;border-radius:10px;padding:8px 13px;font-size:13px;font-weight:700;white-space:nowrap}
#bome-radius-miles{width:100%;height:6px;appearance:none;-webkit-appearance:none;border-radius:999px;background:#d1d5db;outline:none;padding:0}
#bome-radius-miles::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#000;border:4px solid #fff;box-shadow:0 0 0 2px #000;cursor:pointer}
#bome-radius-miles::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#000;border:4px solid #fff;box-shadow:0 0 0 2px #000;cursor:pointer}
.bome-radius-scale{display:flex;justify-content:space-between;margin-top:7px;color:#9ca3af;font-size:10px}.bome-radius-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.bome-radius-presets button{background:#fff;color:#111;border:1px solid #d1d5db;border-radius:999px;padding:6px 11px;font-size:11px;cursor:pointer}.bome-radius-presets button:hover,.bome-radius-presets button.is-active{background:#000;color:#fff;border-color:#000}
.bome-no-results-card{text-align:center;border:1px dashed #d1d5db;background:#fafafa;border-radius:14px;padding:34px 20px;color:#374151}.bome-no-results-card strong{display:block;font-size:18px;color:#111;margin-bottom:6px}.bome-no-results-card p{margin:5px 0;color:#6b7280}.bome-no-results-card .bome-expand-radius-btn{margin-top:14px}
#bome-event-map{min-height:220px;border-radius:10px;overflow:hidden;z-index:1}#bome-event-map .leaflet-control-attribution{font-size:9px}
@media(max-width:700px){.bome-radius-panel-head{align-items:flex-start}.bome-radius-panel-head small{max-width:230px}.bome-radius-presets{gap:6px}}

/* Round 3: listing location alignment */
.bome-filter-bar {
	align-items: start;
}
.bome-filter-bar > .bome-search-field,
.bome-filter-bar > .bome-btn {
	margin-top: 0;
}
.bome-location-filter-field {
	min-width: 0;
}
.bome-location-input-row {
	display: grid;
	grid-template-columns: minmax(0,1fr) 44px;
	gap: 0;
	align-items: stretch;
}
.bome-location-input-row #bome-filter-location,
.bome-location-input-row #bome-hs-location {
	border-radius: 8px 0 0 8px;
	min-height: 42px;
	border-right: 0;
}
.bome-location-icon-btn {
	width: 44px;
	min-height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #000;
	color: #fff;
	border: 1px solid #000;
	border-radius: 0 10px 10px 0;
	cursor: pointer;
}
.bome-location-icon-btn .dashicons {
	margin: 0;
}
#bome-listing-location-status {
	min-height: 16px;
	margin: 5px 0 -21px;
	line-height: 16px;
}

/* Uploaded event image always fills the listing thumbnail box. */
.bome-event-thumb img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}
.bome-thumb-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #9ca3af;
}
.bome-thumb-placeholder .dashicons {
	font-size: 28px;
	width: 28px;
	height: 28px;
}

/* Reliable OpenStreetMap iframe on the event details page. */
#bome-event-map {
	width: 100%;
	min-height: 230px;
	background: #f3f4f6;
	border-radius: 10px;
	overflow: hidden;
}
.bome-osm-frame {
	display: block;
	width: 100%;
	height: 230px;
	border: 0;
}
.bome-map-placeholder {
	min-height: 230px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #6b7280;
}


/* Round 4: upload area centered and balanced */
.bome-upload-area {
	min-height: 190px;
	display: flex !important;
	flex-direction: column;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	gap: 8px;
}
.bome-upload-area .dashicons {
	display: block !important;
	margin: 0 auto 4px !important;
	width: 38px !important;
	height: 38px !important;
	font-size: 38px !important;
	line-height: 38px !important;
}
.bome-upload-area p {
	margin: 0 !important;
	text-align: center !important;
}
.bome-upload-preview {
	justify-content: center;
}

/* Round 4: one clean baseline for every listing filter control */
.bome-filter-bar {
	grid-template-columns: 1fr 1.08fr 1fr 1fr 1fr auto;
	align-items: start !important;
	gap: 16px;
}
.bome-filter-bar .bome-search-field {
	display: grid;
	grid-template-rows: 18px 52px 18px;
	gap: 5px;
	align-content: start;
	min-width: 0;
}
.bome-filter-bar .bome-search-field > label {
	height: 18px;
	line-height: 18px;
	margin: 0;
}
.bome-filter-bar .bome-search-field > input,
.bome-filter-bar .bome-search-field > select {
	height: 52px !important;
	min-height: 52px !important;
	padding: 0 14px !important;
	border-radius: 10px !important;
}
.bome-location-input-row {
	height: 52px;
	grid-template-columns: minmax(0, 1fr) 52px;
}
.bome-location-input-row #bome-filter-location {
	height: 52px !important;
	min-height: 52px !important;
	border-radius: 10px 0 0 10px !important;
	padding: 0 14px !important;
}
.bome-location-icon-btn {
	width: 52px;
	height: 52px;
	min-height: 52px;
	border-radius: 0 10px 10px 0 !important;
	background: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
	transition: background .18s ease, transform .18s ease;
}
.bome-location-icon-btn:hover {
	background: #202020 !important;
	transform: none;
}
.bome-location-icon-btn .dashicons {
	width: 20px;
	height: 20px;
	font-size: 20px;
	line-height: 20px;
}
#bome-listing-location-status {
	position: static;
	display: block;
	height: 18px;
	min-height: 18px;
	line-height: 18px;
	margin: 0 !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.bome-filter-action {
	display: grid;
	grid-template-rows: 18px 52px 18px;
	gap: 5px;
	align-content: start;
}
.bome-filter-action-spacer {
	display: block;
	height: 18px;
	line-height: 18px;
}
#bome-filter-submit {
	height: 52px !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 0 22px !important;
	border-radius: 10px !important;
	white-space: nowrap;
	align-self: stretch;
}
#bome-filter-submit .dashicons {
	width: 19px;
	height: 19px;
	font-size: 19px;
	line-height: 19px;
}
@media (max-width: 980px) {
	.bome-filter-bar {
		grid-template-columns: repeat(3, minmax(0,1fr));
	}
	.bome-filter-action {
		width: 100%;
	}
	#bome-filter-submit {
		width: 100%;
	}
}
@media (max-width: 620px) {
	.bome-filter-bar {
		grid-template-columns: 1fr;
	}
}


/* Round 5: simplified authentication header */
.bome-auth-header {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.bome-user-menu {
	display: flex;
	align-items: center;
	gap: 0 !important;
}
.bome-notif-bell { display: none !important; }
.bome-user-dropdown {
	position: relative;
	display: inline-flex;
	align-items: center;
}
.bome-avatar-btn {
	width: 46px !important;
	height: 46px !important;
	padding: 0 !important;
	border: 2px solid #fff !important;
	border-radius: 50% !important;
	background: #111827 !important;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0,0,0,.12);
}
.bome-avatar-btn img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 50%;
}
.bome-dropdown-menu {
	display: block;
	visibility: hidden;
	opacity: 0;
	transform: translateY(8px);
	position: absolute;
	right: 0;
	top: calc(100% + 10px);
	width: 220px;
	min-width: 220px;
	padding: 10px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	box-shadow: 0 16px 38px rgba(0,0,0,.14);
	z-index: 9999;
	transition: opacity .16s ease, transform .16s ease, visibility .16s;
}
.bome-user-dropdown:hover .bome-dropdown-menu,
.bome-user-dropdown:focus-within .bome-dropdown-menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}
.bome-dropdown-user {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 7px 11px;
	border-bottom: 1px solid #eef0f2;
	margin-bottom: 6px;
}
.bome-dropdown-user img {
	width: 38px;
	height: 38px;
	border-radius: 50%;
}
.bome-dropdown-name {
	display: block;
	color: #111827;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}
.bome-dropdown-role {
	display: block;
	color: #6b7280;
	font-size: 11px;
	margin: 2px 0 0 !important;
}
.bome-dropdown-link {
	display: block !important;
	padding: 10px 11px !important;
	border-radius: 8px;
	color: #111827 !important;
	font-size: 13px;
	text-decoration: none !important;
}
.bome-dropdown-link:hover {
	background: #f3f4f6;
}

/* Logged-out auth stays simple: only Login + Create Account */
.bome-auth-buttons {
	display: flex;
	align-items: center;
	gap: 10px;
}

/* Round 5: homepage filter is accurate but has no radius interface */
.bome-home-search {
	display: grid;
	grid-template-columns: repeat(5,minmax(0,1fr)) auto;
	gap: 14px;
	align-items: start;
}
.bome-home-search .bome-search-field {
	display: grid;
	grid-template-rows: 18px 48px 16px;
	gap: 5px;
	min-width: 0;
}
.bome-home-search .bome-search-field label {
	height: 18px;
	line-height: 18px;
	margin: 0;
}
.bome-home-search .bome-search-field input,
.bome-home-search .bome-search-field select {
	height: 48px !important;
	min-height: 48px !important;
	border-radius: 10px !important;
	padding: 0 12px !important;
}
.bome-home-search #bome-hs-submit {
	height: 48px !important;
	min-height: 48px !important;
	margin-top: 23px !important;
	border-radius: 10px !important;
	white-space: nowrap;
}

/* Clean OpenStreetMap presentation */
#bome-event-map {
	height: 250px;
	min-height: 250px;
	border-radius: 10px;
	overflow: hidden;
	background: #f3f4f6;
}
.bome-map-credit {
	display: block;
	margin: 5px 0 0;
	color: #9ca3af;
	font-size: 9px;
	line-height: 1.2;
}
.bome-osm-frame { display:none !important; }

@media(max-width:900px){
	.bome-home-search{grid-template-columns:repeat(2,minmax(0,1fr))}
	.bome-home-search #bome-hs-submit{width:100%}
}
@media(max-width:560px){
	.bome-home-search{grid-template-columns:1fr}
	.bome-home-search #bome-hs-submit{margin-top:0 !important}
}

/* Round 6: customer editing + vendor bid contact details */
.bome-edit-event-btn {
	margin-bottom: 8px;
}
.bome-bid-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 6px;
}
.bome-bid-contact-grid > div {
	min-width: 0;
}
.bome-bid-contact-grid input {
	width: 100%;
}
.bome-existing-images {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	margin: 12px 0;
}
.bome-existing-images img {
	width: 74px;
	height: 74px;
	object-fit: cover;
	border-radius: 9px;
	border: 1px solid #dfe3e7;
}
.bome-bid-contact {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 12px;
}
.bome-bid-contact a {
	color: #0b4b83;
	text-decoration: none;
}
@media(max-width:560px){
	.bome-bid-contact-grid{grid-template-columns:1fr}
}


/* Round 7: professional anonymous access states */
.bome-login-prompt-card {
	max-width: 620px;
	margin: 90px auto;
	padding: 42px 34px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	box-shadow: 0 18px 55px rgba(15, 23, 42, .10);
	text-align: center;
}
.bome-login-prompt-card h2 {
	margin: 12px 0 8px;
	font-size: 28px;
	color: #111827;
}
.bome-login-prompt-card > p {
	max-width: 470px;
	margin: 0 auto 24px;
	color: #6b7280;
	line-height: 1.65;
}
.bome-access-icon {
	width: 52px;
	height: 52px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #f3f4f6;
	color: #111827;
}
.bome-access-icon .dashicons {
	width: 24px;
	height: 24px;
	font-size: 24px;
	line-height: 24px;
}
.bome-access-actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}
.bome-access-actions .bome-btn {
	min-width: 132px;
	height: 48px;
	border-radius: 10px !important;
}
.bome-bid-auth-gate {
	text-align: center;
	padding: 8px 2px 4px;
}
.bome-bid-auth-gate h3 {
	margin: 14px 0 8px;
}
.bome-bid-auth-gate > p {
	max-width: 290px;
	margin: 0 auto 20px;
	color: #667085;
	line-height: 1.55;
}
.bome-bid-auth-gate > small {
	display: block;
	margin-top: 16px;
	color: #98a2b3;
	font-size: 11px;
	line-height: 1.45;
}

/* Round 7: centered, consistent authentication modals */
.bome-modal {
	padding: 20px;
	backdrop-filter: blur(2px);
}
.bome-auth-modal-inner {
	max-width: 500px !important;
	padding: 38px 34px 32px !important;
	border-radius: 16px !important;
	box-shadow: 0 24px 70px rgba(0,0,0,.20);
	text-align: center;
}
.bome-modal-heading {
	text-align: center;
	margin: 4px auto 24px;
}
.bome-modal-heading h3 {
	margin: 0 0 7px !important;
	font-size: 30px;
	line-height: 1.2;
	color: #111827;
}
.bome-modal-heading p {
	margin: 0;
	color: #7b8490;
	font-size: 13px;
}
.bome-auth-modal-form {
	max-width: 390px;
	margin: 0 auto;
	text-align: left;
}
.bome-auth-modal-form label {
	text-align: left;
}
.bome-auth-modal-form .bome-btn {
	height: 50px;
	border-radius: 10px !important;
	margin-top: 4px;
}
.bome-modal-close {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	width: 38px !important;
	height: 38px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: #344054 !important;
	font-size: 23px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	box-shadow: 0 3px 10px rgba(0,0,0,.06);
	cursor: pointer;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
.bome-modal-close:hover {
	background: #111827 !important;
	color: #fff !important;
	border-color: #111827 !important;
	transform: rotate(90deg);
}
@media(max-width:560px){
	.bome-login-prompt-card{margin:45px 16px;padding:32px 20px}
	.bome-login-prompt-card h2{font-size:23px}
	.bome-access-actions{flex-direction:column}
	.bome-access-actions .bome-btn{width:100%}
	.bome-auth-modal-inner{padding:34px 20px 24px !important}
	.bome-modal-heading h3{font-size:25px}
}


/* Round 8: global design variables */
.bome-wrap,
.bome-modal,
.bome-auth-header {
	font-family: var(--bome-font-family, Poppins, Arial, sans-serif) !important;
}
.bome-wrap p,
.bome-wrap li,
.bome-wrap label,
.bome-wrap input,
.bome-wrap select,
.bome-wrap textarea {
	font-size: var(--bome-text-desktop, 16px);
}
.bome-wrap h1,
.bome-wrap h2 {
	font-size: var(--bome-heading-desktop, 32px);
}
.bome-wrap h3 {
	font-size: calc(var(--bome-heading-desktop, 32px) * .68);
}

/* All primary plugin buttons are always black */
.bome-wrap .bome-btn,
.bome-modal .bome-btn,
.bome-auth-header .bome-btn,
#bome-filter-submit {
	background: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
	border-radius: 10px !important;
}
.bome-wrap .bome-btn:hover,
.bome-modal .bome-btn:hover,
.bome-auth-header .bome-btn:hover,
#bome-filter-submit:hover {
	background: #1b1b1b !important;
	border-color: #1b1b1b !important;
	color: #fff !important;
}

/* Figma-accurate listing rows */
.bome-listing-header {
	margin: 32px 0 22px;
	padding-bottom: 0;
}
.bome-listing-header h2 {
	margin: 0;
	font-weight: 700;
}
.bome-listing-header h2::after {
	content: "";
	display: block;
	width: 42px;
	height: 2px;
	background: #111;
	margin-top: 9px;
}
.bome-event-list {
	gap: 14px;
}
.bome-event-card {
	grid-template-columns: 190px 1.05fr .62fr 1.65fr .9fr !important;
	gap: 0 !important;
	min-height: 122px;
	padding: 0 !important;
	overflow: hidden;
	border: 1px solid #d9dee5 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	background: #fff;
}
.bome-event-thumb {
	width: 190px !important;
	height: 122px !important;
	border-radius: 9px 0 0 9px !important;
}
.bome-event-info,
.bome-event-bids,
.bome-event-services,
.bome-event-price {
	min-height: 96px;
	padding: 15px 18px;
	align-self: center;
}
.bome-event-bids,
.bome-event-services,
.bome-event-price {
	border-left: 1px solid #e5e7eb;
}
.bome-event-info h3 {
	font-size: 15px !important;
	margin-bottom: 7px !important;
}
.bome-event-meta {
	gap: 3px;
	font-size: 11px !important;
}
.bome-event-meta .dashicons {
	font-size: 15px;
	width: 15px;
	height: 15px;
}
.bome-event-bids {
	align-items: flex-start;
	justify-content: center;
}
.bome-bid-badge {
	padding: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
}
.bome-status-pill {
	padding: 6px 9px !important;
	border-radius: 4px !important;
	font-size: 9px !important;
}
.bome-event-services {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.bome-services-label {
	font-size: 12px !important;
	font-weight: 700;
	margin-bottom: 8px;
}
.bome-service-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.bome-tag {
	padding: 4px 7px !important;
	border: 1px solid #e4e7ec;
	background: #fafafa !important;
	border-radius: 4px !important;
	font-size: 9px !important;
}
.bome-event-price {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 15px;
}
.bome-price {
	font-size: 19px !important;
	font-weight: 700;
	white-space: nowrap;
}
.bome-event-price .bome-btn {
	min-height: 42px;
	padding: 10px 16px !important;
	font-size: 11px !important;
}

/* Full-width vendor contact fields */
.bome-bid-contact-stack {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-bottom: 6px;
}
.bome-bid-contact-stack > div {
	width: 100%;
}
.bome-bid-contact-stack input {
	width: 100% !important;
}

/* Required service icon controls */
.bome-service-detail-item {
	flex-direction: row !important;
	align-items: center;
	gap: 12px !important;
	min-height: 78px;
}
.bome-service-detail-item .dashicons {
	color: var(--bome-service-icon-color, #000) !important;
	font-size: var(--bome-service-icon-size, 30px) !important;
	width: var(--bome-service-icon-size, 30px) !important;
	height: var(--bome-service-icon-size, 30px) !important;
	line-height: var(--bome-service-icon-size, 30px) !important;
	flex: 0 0 var(--bome-service-icon-size, 30px);
}

/* Cleaner single-event banner */
.bome-event-header {
	border-radius: 12px !important;
	padding: 28px 32px !important;
	min-height: 150px;
}
.bome-event-header-left {
	min-width: 0;
}
.bome-event-header h1 {
	font-size: 28px !important;
	line-height: 1.25;
}
.bome-event-header-right {
	margin-left: auto;
	justify-content: flex-end;
	flex-wrap: wrap;
}

/* Mobile */
@media (max-width: 900px) {
	.bome-event-card {
		grid-template-columns: 140px 1fr 1fr !important;
	}
	.bome-event-thumb {
		width: 140px !important;
		height: 124px !important;
		grid-row: 1 / span 2;
	}
	.bome-event-info {
		border: 0 !important;
	}
	.bome-event-bids {
		border-left: 1px solid #e5e7eb;
	}
	.bome-event-services {
		grid-column: 2;
		border-left: 0;
		border-top: 1px solid #e5e7eb;
	}
	.bome-event-price {
		grid-column: 3;
		grid-row: 1 / span 2;
		border-left: 1px solid #e5e7eb;
	}
}
@media (max-width: 620px) {
	.bome-wrap p,
	.bome-wrap li,
	.bome-wrap label,
	.bome-wrap input,
	.bome-wrap select,
	.bome-wrap textarea {
		font-size: var(--bome-text-mobile, 15px);
	}
	.bome-wrap h1,
	.bome-wrap h2 {
		font-size: var(--bome-heading-mobile, 26px);
	}
	.bome-wrap h3 {
		font-size: calc(var(--bome-heading-mobile, 26px) * .74);
	}

	.bome-listing-header {
		align-items: center;
		gap: 12px;
	}
	.bome-listing-header h2 {
		font-size: 24px !important;
	}
	.bome-sort-by {
		flex-direction: column;
		align-items: flex-end;
		gap: 4px;
	}
	.bome-sort-by select {
		min-height: 42px;
	}

	.bome-event-card {
		display: grid !important;
		grid-template-columns: 112px minmax(0,1fr) !important;
	}
	.bome-event-thumb {
		width: 112px !important;
		height: 112px !important;
		grid-row: auto !important;
		border-radius: 9px 0 0 0 !important;
	}
	.bome-event-info {
		min-height: 112px;
		padding: 12px !important;
	}
	.bome-event-bids,
	.bome-event-services,
	.bome-event-price {
		grid-column: 1 / -1 !important;
		grid-row: auto !important;
		min-height: auto !important;
		border-left: 0 !important;
		border-top: 1px solid #e5e7eb;
		padding: 12px 14px !important;
	}
	.bome-event-bids {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
	.bome-event-price {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
	.bome-event-price .bome-btn {
		min-width: 125px;
	}

	/* Single page mobile centered and clean */
	.bome-event-details-wrap {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
	.bome-event-header {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		text-align: center;
		padding: 26px 20px !important;
		min-height: 0;
		border-radius: 12px !important;
	}
	.bome-event-header-left,
	.bome-event-header-right {
		width: 100%;
		text-align: center;
		justify-content: center !important;
		margin-left: 0 !important;
	}
	.bome-event-header h1 {
		font-size: 28px !important;
		margin-bottom: 16px !important;
	}
	.bome-event-header-meta {
		justify-content: center !important;
		gap: 12px 16px !important;
		line-height: 1.45;
	}
	.bome-event-header-meta span {
		justify-content: center;
	}
	.bome-event-header-right {
		margin-top: 14px;
	}
	.bome-price-lg {
		width: 100%;
		font-size: 25px !important;
		margin-bottom: 4px;
	}
	.bome-pill-outline {
		font-size: 11px !important;
	}
	.bome-card {
		padding: 20px 18px !important;
		text-align: left;
	}
	.bome-card > h3 {
		text-align: center;
	}
	.bome-about-grid {
		grid-template-columns: 1fr 1fr !important;
		text-align: center;
	}
	.bome-about-grid > div {
		align-items: center;
	}
	.bome-services-detail-grid {
		grid-template-columns: 1fr !important;
	}
	.bome-service-detail-item {
		justify-content: flex-start;
	}
	.bome-details-two-col {
		grid-template-columns: 1fr !important;
	}
	.bome-event-details-grid {
		grid-template-columns: 1fr !important;
	}
	.bome-event-side-col {
		width: 100%;
	}
}


/* Round 9: admin-configurable typography weights */
.bome-wrap h1,
.bome-wrap h2,
.bome-wrap h3,
.bome-modal h1,
.bome-modal h2,
.bome-modal h3 {
	font-weight: var(--bome-heading-weight, 700) !important;
}
.bome-wrap p,
.bome-wrap li,
.bome-wrap label,
.bome-wrap input,
.bome-wrap select,
.bome-wrap textarea,
.bome-modal p,
.bome-modal label,
.bome-modal input,
.bome-modal select {
	font-weight: var(--bome-text-weight, 400);
}
.bome-wrap .bome-btn,
.bome-modal .bome-btn,
.bome-auth-header .bome-btn {
	font-weight: var(--bome-button-weight, 600) !important;
}


/* Vendor trial + Stripe access */
.bome-trial-status{margin:0 0 18px;padding:12px 14px;border:1px solid #d9e5ef;border-radius:10px;background:#f6faff}
.bome-trial-status strong,.bome-trial-status span{display:block}.bome-trial-status strong{font-size:12px;color:#111827}.bome-trial-status span{margin-top:3px;font-size:11px;color:#667085}
.bome-trial-billing-link{margin-top:8px;padding:0;border:0;background:transparent;color:#111;font-size:11px;font-weight:700;text-decoration:underline;cursor:pointer}
.bome-vendor-paywall{text-align:center;padding:10px 2px}.bome-vendor-paywall h3{margin:14px 0 8px}.bome-vendor-paywall p{color:#667085;line-height:1.55}.bome-vendor-paywall .bome-btn{width:100%;min-height:48px}
.bome-stripe-msg{color:#b42318!important;font-size:11px!important;margin-top:8px!important}


/* Round 13: standard frontend action-button policy.
   Radius preset chips and modal close controls intentionally keep their own UI. */
.bome-wrap .bome-btn,
.bome-modal .bome-btn,
.bome-auth-header .bome-btn,
.bome-vendor-paywall .bome-btn,
.bome-trial-status .bome-btn,
.bome-bid-box .bome-btn,
.bome-event-price .bome-btn {
	background: #000 !important;
	border: 1px solid #000 !important;
	color: #fff !important;
	border-radius: 10px !important;
	text-decoration: none !important;
	box-shadow: none;
}
.bome-wrap .bome-btn:hover,
.bome-modal .bome-btn:hover,
.bome-auth-header .bome-btn:hover,
.bome-vendor-paywall .bome-btn:hover,
.bome-trial-status .bome-btn:hover,
.bome-bid-box .bome-btn:hover,
.bome-event-price .bome-btn:hover {
	background: #1a1a1a !important;
	border-color: #1a1a1a !important;
	color: #fff !important;
	text-decoration: none !important;
}
.bome-trial-billing-button {
	margin-top: 10px !important;
	min-height: 44px;
	width: 100%;
	font-size: 13px !important;
}


/* Document-completion features */
.bome-vendor-service-area{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding:16px 18px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;box-shadow:0 4px 18px rgba(16,24,40,.05)}
.bome-vendor-service-area>div{margin-right:auto}.bome-vendor-service-area strong,.bome-vendor-service-area small{display:block}.bome-vendor-service-area small{color:#667085}
.bome-nationwide-toggle{font-weight:600;font-size:13px}.bome-radius-panel.is-disabled{opacity:.48;pointer-events:none}
.bome-distance-away{font-weight:700;color:#101828}
.bome-bid-intelligence{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px}.bome-bid-intelligence>div{padding:10px;border:1px solid #e4e7ec;border-radius:10px;background:#f8fafc}.bome-bid-intelligence span,.bome-bid-intelligence strong{display:block}.bome-bid-intelligence span{font-size:11px;color:#667085}.bome-bid-intelligence strong{margin-top:2px;font-size:14px;color:#101828}
.bome-review-card .bome-form{max-width:620px}.bome-existing-review strong{letter-spacing:2px;font-size:20px}.bome-existing-review p{margin-bottom:0}
@media(max-width:767px){.bome-vendor-service-area{align-items:stretch;flex-direction:column}.bome-vendor-service-area .bome-btn{width:100%}.bome-bid-intelligence{grid-template-columns:1fr 1fr}}


/* Future Scope: notification bell, listing map, recommendations */
.bome-notification-wrap{position:relative;margin-right:10px;display:inline-flex;align-items:center}
.bome-notification-bell{position:relative;width:42px;height:42px;border:1px solid #e5e7eb;border-radius:50%;background:#fff;color:#111;display:flex;align-items:center;justify-content:center;cursor:pointer}
.bome-notification-bell .dashicons{font-size:21px;width:21px;height:21px}
.bome-notification-count{position:absolute;right:-3px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:#000;color:#fff;font-size:10px;line-height:18px;text-align:center;font-weight:700}
.bome-notification-panel{display:none;position:absolute;right:0;top:50px;width:360px;max-height:460px;overflow:auto;background:#fff;border:1px solid #e4e7ec;border-radius:12px;box-shadow:0 18px 50px rgba(16,24,40,.16);z-index:99999}
.bome-notification-panel.is-open{display:block}
.bome-notification-panel-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff;border-bottom:1px solid #eee;z-index:1}
.bome-notification-panel-head button{border:0;background:transparent;font-size:11px;font-weight:700;cursor:pointer}
.bome-notification-item{display:block;padding:13px 16px;border-bottom:1px solid #f0f1f3;color:#101828;text-decoration:none}
.bome-notification-item.is-unread{background:#f7f9fc}
.bome-notification-item strong,.bome-notification-item span,.bome-notification-item small{display:block}
.bome-notification-item strong{font-size:13px}.bome-notification-item span{font-size:12px;color:#475467;margin-top:3px}.bome-notification-item small{font-size:10px;color:#98a2b3;margin-top:5px}
.bome-empty-notifications{padding:20px;text-align:center;color:#667085}
.bome-listing-map-card{margin:0 0 20px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;overflow:hidden}
.bome-listing-map-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}
.bome-listing-map{height:360px;width:100%}
@media(max-width:600px){.bome-notification-panel{position:fixed;left:12px;right:12px;top:70px;width:auto}.bome-listing-map{height:300px}}


/* v1.3.1 notification-center polish */
.bome-auth-header{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.bome-notification-wrap{position:relative!important;margin:0!important;display:flex!important;align-items:center!important}
.bome-notification-bell{
	position:relative!important;width:44px!important;height:44px!important;min-width:44px!important;
	padding:0!important;border:1px solid #111!important;border-radius:50%!important;
	background:#000!important;color:#fff!important;display:flex!important;align-items:center!important;
	justify-content:center!important;cursor:pointer!important;box-shadow:none!important;transition:.18s ease!important
}
.bome-notification-bell:hover{background:#1b1b1b!important;transform:translateY(-1px)}
.bome-notification-bell .dashicons{font-size:20px!important;width:20px!important;height:20px!important;color:#fff!important}
.bome-notification-count{
	position:absolute!important;right:-5px!important;top:-5px!important;min-width:19px!important;height:19px!important;
	padding:0 5px!important;border:2px solid #fff!important;border-radius:12px!important;background:#d92d20!important;
	color:#fff!important;font-size:10px!important;line-height:15px!important;text-align:center!important;font-weight:700!important
}
.bome-notification-panel{
	display:none;position:absolute!important;right:0!important;top:54px!important;width:390px!important;max-height:500px!important;
	overflow:hidden!important;background:#fff!important;border:1px solid #e4e7ec!important;border-radius:14px!important;
	box-shadow:0 22px 55px rgba(16,24,40,.18)!important;z-index:999999!important
}
.bome-notification-panel.is-open{display:block!important}
.bome-notification-panel-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:16px 18px!important;border-bottom:1px solid #eef0f2!important;background:#fff!important}
.bome-notification-panel-head>div{display:flex;flex-direction:column;gap:2px}
.bome-notification-panel-head strong{font-size:17px!important;line-height:1.2!important;color:#101828!important}
.bome-notification-panel-head small{font-size:11px!important;color:#667085!important}
.bome-notification-close{width:30px!important;height:30px!important;border:0!important;border-radius:8px!important;background:#f2f4f7!important;color:#101828!important;font-size:22px!important;line-height:1!important;cursor:pointer!important}
.bome-notification-toolbar{display:flex!important;justify-content:flex-end!important;gap:8px!important;padding:9px 14px!important;background:#fafafa!important;border-bottom:1px solid #f0f1f3!important}
.bome-notification-toolbar button{border:0!important;background:transparent!important;color:#101828!important;font-size:11px!important;font-weight:700!important;cursor:pointer!important;padding:5px 7px!important}
.bome-notification-toolbar button:hover{text-decoration:underline!important}
#bome-notification-list{max-height:390px!important;overflow:auto!important}
.bome-notification-item-wrap{position:relative!important;display:flex!important;align-items:stretch!important;border-bottom:1px solid #f0f1f3!important;background:#fff!important}
.bome-notification-item-wrap.is-unread{background:#f7faff!important}
.bome-notification-item{flex:1!important;display:block!important;padding:14px 42px 14px 16px!important;color:#101828!important;text-decoration:none!important}
.bome-notification-item:hover{background:rgba(0,0,0,.025)!important;text-decoration:none!important}
.bome-notification-item strong{display:block!important;font-size:13px!important;line-height:1.35!important;color:#101828!important}
.bome-notification-item span{display:block!important;font-size:12px!important;line-height:1.45!important;color:#475467!important;margin-top:4px!important}
.bome-notification-item small{display:block!important;font-size:10px!important;color:#98a2b3!important;margin-top:6px!important}
.bome-delete-notification{position:absolute!important;right:10px!important;top:12px!important;width:26px!important;height:26px!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#98a2b3!important;font-size:18px!important;cursor:pointer!important}
.bome-delete-notification:hover{background:#f2f4f7!important;color:#101828!important}
.bome-empty-notifications{padding:34px 20px!important;margin:0!important;text-align:center!important;color:#667085!important;font-size:13px!important}
@media(max-width:600px){
	.bome-notification-panel{position:fixed!important;left:12px!important;right:12px!important;top:68px!important;width:auto!important;max-height:calc(100vh - 90px)!important}
	#bome-notification-list{max-height:calc(100vh - 200px)!important}
}


/* v1.3.2 - Notification right-side drawer */
body.bome-notification-drawer-open{overflow:hidden!important}
.bome-notification-overlay{
	position:fixed!important;inset:0!important;background:rgba(15,23,42,.34)!important;
	opacity:0!important;visibility:hidden!important;transition:opacity .22s ease,visibility .22s ease!important;
	z-index:999998!important
}
.bome-notification-overlay.is-open{opacity:1!important;visibility:visible!important}

.bome-notification-drawer{
	display:flex!important;flex-direction:column!important;position:fixed!important;
	top:0!important;right:0!important;bottom:0!important;left:auto!important;
	width:min(420px,92vw)!important;height:100vh!important;max-height:none!important;
	background:#fff!important;border:0!important;border-left:1px solid #e4e7ec!important;
	border-radius:0!important;box-shadow:-18px 0 45px rgba(16,24,40,.16)!important;
	transform:translateX(100%)!important;opacity:1!important;visibility:visible!important;
	transition:transform .26s ease!important;overflow:hidden!important;z-index:999999!important
}
.bome-notification-drawer.is-open{transform:translateX(0)!important}

.bome-notification-panel-head{
	position:relative!important;top:auto!important;flex:0 0 auto!important;
	display:flex!important;align-items:center!important;justify-content:space-between!important;
	padding:22px 22px 16px!important;background:#fff!important;border-bottom:1px solid #eef0f2!important
}
.bome-notification-panel-head>div{display:flex!important;flex-direction:column!important;gap:3px!important}
.bome-notification-panel-head strong{font-size:20px!important;line-height:1.2!important;color:#0f172a!important}
.bome-notification-panel-head small{font-size:12px!important;color:#64748b!important}

.bome-notification-close{
	display:flex!important;align-items:center!important;justify-content:center!important;
	width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;
	border:0!important;border-radius:50%!important;background:transparent!important;color:#0f172a!important;
	font-size:0!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important
}
.bome-notification-close span{font-size:28px!important;line-height:1!important;font-weight:300!important;transform:translateY(-1px)}
.bome-notification-close:hover{background:#f2f4f7!important}

.bome-notification-toolbar{
	flex:0 0 auto!important;display:flex!important;justify-content:flex-end!important;gap:8px!important;
	padding:10px 16px!important;background:#fafafa!important;border-bottom:1px solid #f0f1f3!important
}
.bome-notification-toolbar button{
	border:0!important;background:transparent!important;color:#101828!important;
	font-size:12px!important;font-weight:700!important;cursor:pointer!important;padding:7px 8px!important;
	border-radius:7px!important
}
.bome-notification-toolbar button:hover{background:#f2f4f7!important;text-decoration:none!important}

#bome-notification-list{
	flex:1 1 auto!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;
	background:#fff!important
}
.bome-notification-item-wrap{min-height:82px!important}
.bome-empty-notifications{
	display:flex!important;align-items:center!important;justify-content:center!important;
	min-height:220px!important;padding:30px!important;margin:0!important;text-align:center!important
}

@media(max-width:600px){
	.bome-notification-drawer{
		width:100vw!important;max-width:100vw!important;
	}
	.bome-notification-panel-head{padding:18px 18px 14px!important}
}


/* v1.3.3 - final primary button + location control cleanup */
.bome-login-prompt-card .bome-access-actions .bome-btn,
.bome-bid-auth-gate .bome-btn,
.bome-access-actions .bome-btn {
	background:#000!important;
	background-image:none!important;
	border:1px solid #000!important;
	color:#fff!important;
	border-radius:10px!important;
	box-shadow:none!important;
	text-decoration:none!important;
	font-weight:var(--bome-button-weight,600)!important;
}
.bome-login-prompt-card .bome-access-actions .bome-btn:hover,
.bome-bid-auth-gate .bome-btn:hover,
.bome-access-actions .bome-btn:hover {
	background:#1a1a1a!important;
	border-color:#1a1a1a!important;
	color:#fff!important;
	text-decoration:none!important;
}
.bome-location-icon-btn{
	width:52px!important;
	min-width:52px!important;
	min-height:52px!important;
	padding:0!important;
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	background:#000!important;
	background-image:none!important;
	border:1px solid #000!important;
	border-radius:0 10px 10px 0!important;
	color:#fff!important;
	cursor:pointer!important;
	box-shadow:none!important;
}
.bome-location-icon-btn:hover{background:#1a1a1a!important;border-color:#1a1a1a!important}
.bome-location-pin-svg{display:block!important;width:21px!important;height:21px!important;color:#fff!important;fill:currentColor!important;pointer-events:none}
.bome-location-input-row{grid-template-columns:minmax(0,1fr) 52px!important}
.bome-location-input-row #bome-filter-location{min-height:52px!important;border-radius:10px 0 0 10px!important}

/* Home search location button uses same attached style as listing */
.bome-home-location-input-row { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:0; align-items:stretch; }
.bome-home-location-input-row #bome-hs-location { border-radius:8px 0 0 8px; min-height:42px; }


/* Final fix: home search location control matches event listing exactly */
.bome-home-location-input-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 52px!important;
    gap:0!important;
    align-items:stretch!important;
}
.bome-home-location-input-row #bome-hs-location{
    border-radius:10px 0 0 10px!important;
    min-height:52px!important;
}
.bome-home-location-input-row .bome-location-icon-btn{
    border-radius:0 10px 10px 0!important;
    min-height:52px!important;
}


/* v1.3.9: Post Event interactive location picker */
.bome-location-map-modal{display:none;position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.55);align-items:center;justify-content:center;padding:20px}
.bome-location-map-modal.is-open{display:flex}
.bome-location-map-dialog{background:#fff;width:min(900px,96vw);max-height:92vh;overflow:auto;border-radius:14px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.bome-location-map-header{display:flex;align-items:center;justify-content:space-between;gap:15px}
.bome-location-map-header h3{margin:0}
.bome-map-close{border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer}
.bome-map-search-row{display:flex;gap:8px;margin:15px 0}
.bome-map-search-row input[type=text]{flex:1;min-width:0}
.bome-post-location-map{height:420px;border-radius:10px;overflow:hidden;border:1px solid #ddd}
.bome-map-actions{display:flex;justify-content:flex-end;margin-top:10px}
.bome-map-location-btn{border-left:1px solid rgba(255,255,255,.25)!important}
@media(max-width:640px){
 .bome-location-map-modal{padding:10px}
 .bome-location-map-dialog{padding:14px}
 .bome-post-location-map{height:55vh;min-height:320px}
 .bome-map-search-row{flex-wrap:wrap}
 .bome-map-search-row input[type=text]{flex-basis:100%}
}

.bome-post-event-wrap .bome-location-input-row{grid-template-columns:minmax(0,1fr) 44px 44px}
.bome-post-event-wrap .bome-location-input-row #venue{border-radius:8px 0 0 8px;border-right:0;min-height:42px}
.bome-post-event-wrap .bome-location-input-row .bome-location-icon-btn{border-radius:0}
.bome-post-event-wrap .bome-location-input-row .bome-map-location-btn{border-radius:0 10px 10px 0}

/* v1.3.10: Post Event location uses the map-open control as the only location button. */
.bome-post-event-wrap .bome-location-input-row {
	grid-template-columns: minmax(0,1fr) auto;
}
.bome-post-event-wrap .bome-location-input-row #venue {
	border-radius: 8px 0 0 8px;
	border-right: 0;
	min-height: 42px;
}
.bome-post-event-wrap .bome-map-open-field-btn {
	min-height: 42px;
	height: 100%;
	padding: 10px 16px;
	border-radius: 0 10px 10px 0;
	white-space: nowrap;
	gap: 7px;
}
.bome-post-event-wrap .bome-map-open-field-btn .dashicons {
	width: 18px;
	height: 18px;
	font-size: 18px;
	line-height: 18px;
}


/* v1.3.13: Consistent location-map controls and compact map opener. */
.bome-post-event-wrap .bome-location-input-row {
	grid-template-columns: minmax(0, 1fr) 44px;
}
.bome-post-event-wrap .bome-map-open-field-btn {
	width: 44px;
	min-width: 44px;
	height: 42px;
	min-height: 42px;
	padding: 0;
	border-radius: 0 10px 10px 0;
	gap: 0;
}
.bome-post-event-wrap .bome-map-open-field-btn .dashicons {
	margin: 0;
	width: 18px;
	height: 18px;
	font-size: 18px;
	line-height: 18px;
}

/* Keep the map modal controls consistent with the site's dark button theme. */
.bome-location-map-dialog {
	position: relative;
}
.bome-location-map-dialog .bome-btn-solid,
.bome-location-map-dialog .bome-btn-outline {
	background: var(--bome-navy);
	color: #fff;
	border-color: var(--bome-navy);
	border-radius: 10px;
}
.bome-location-map-dialog .bome-btn-solid:hover,
.bome-location-map-dialog .bome-btn-outline:hover {
	background: #060c1a;
	color: #fff;
	border-color: #060c1a;
}

/* Match the authentication popup's close-button treatment. */
.bome-location-map-dialog .bome-map-close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid #e5e7eb;
	border-radius: 50%;
	background: #fff;
	color: #344054;
	font-size: 23px;
	font-weight: 400;
	line-height: 1;
	box-shadow: 0 3px 10px rgba(0,0,0,.06);
	cursor: pointer;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
.bome-location-map-dialog .bome-map-close:hover {
	background: #111827;
	color: #fff;
	border-color: #111827;
	transform: rotate(90deg);
}
.bome-location-map-header {
	padding-right: 48px;
}


/* v1.3.14: Post Event location control — perfectly joined, equal-height field/button. */
.bome-post-event-wrap .bome-location-input-row {
	grid-template-columns: minmax(0, 1fr) 44px !important;
	gap: 0 !important;
	align-items: stretch !important;
}
.bome-post-event-wrap .bome-location-input-row #venue {
	width: 100% !important;
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	border-radius: 10px 0 0 10px !important;
	border-right: 0 !important;
}
.bome-post-event-wrap .bome-location-input-row .bome-map-open-field-btn {
	width: 44px !important;
	height: 42px !important;
	min-width: 44px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 10px 10px 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.bome-post-event-wrap .bome-location-input-row .bome-map-open-field-btn .dashicons {
	margin: 0 !important;
	width: 18px !important;
	height: 18px !important;
	font-size: 18px !important;
	line-height: 18px !important;
}

/* v1.3.17 Elementor/Header Footer Builder compatibility isolation */
.bome-shortcode-wrapper,
.bome-shortcode-wrapper * {
    box-sizing: border-box;
}
.bome-auth-header-wrapper {
    display: block;
    line-height: normal;
}
.bome-auth-header-wrapper .bome-auth-header {
    all: initial;
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: inherit;
}
.bome-auth-header-wrapper .bome-auth-header * {
    box-sizing: border-box;
}
.bome-auth-header-wrapper .bome-auth-header a {
    text-decoration: none;
}

@media (max-width: 640px) {
	.bome-modal { padding: 12px; align-items: flex-start; }
	.bome-modal-inner {
		padding: 24px 18px;
		max-height: calc(100vh - 24px);
		max-height: calc(100dvh - 24px);
		margin: 12px auto;
	}
}


/* Auth password visibility + forgot-password helpers */
.bome-password-field {
	position: relative;
	display: block;
	width: 100%;
}
.bome-password-field input {
	width: 100%;
	padding-right: 48px !important;
}
.bome-password-toggle {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #52606d;
	cursor: pointer;
	border-radius: 8px;
}
.bome-password-toggle:hover,
.bome-password-toggle:focus {
	background: #f3f5f7;
	color: #111827;
	outline: none;
}
.bome-password-toggle .dashicons {
	width: 20px;
	height: 20px;
	font-size: 20px;
	line-height: 20px;
}
.bome-auth-help {
	display: flex;
	justify-content: flex-end;
	margin: -4px 0 4px;
}
.bome-auth-help a {
	font-size: 14px;
	text-decoration: none;
}
.bome-auth-help a:hover,
.bome-auth-help a:focus {
	text-decoration: underline;
}
.bome-auth-modal-form .bome-form-msg {
	margin: 14px 0 0;
	line-height: 1.45;
	overflow-wrap: anywhere;
}


/* v1.3.24 — keep auth helpers aligned with BOME's black UI */
.bome-password-toggle,
.bome-password-toggle:hover,
.bome-password-toggle:focus,
.bome-password-toggle:active {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	color: #000 !important;
}
.bome-password-toggle .dashicons {
	color: #000 !important;
}
.bome-password-toggle:focus-visible {
	outline: 2px solid #000 !important;
	outline-offset: 2px;
	border-radius: 4px;
}
.bome-auth-help a,
.bome-auth-help a:visited,
.bome-auth-help a:hover,
.bome-auth-help a:focus,
.bome-auth-help a:active {
	color: #000 !important;
}


/* v1.3.25 — Frontend Customer/Vendor Account Dashboard */
.bome-account-dashboard{--bome-account-black:#000;--bome-account-border:#e5e7eb;--bome-account-muted:#6b7280;max-width:1240px;margin:24px auto;color:#111827;font-family:inherit}
.bome-account-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}
.bome-account-kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6b7280;margin-bottom:6px}
.bome-account-head h2{margin:0;font-size:30px;line-height:1.15;color:#111827}
.bome-account-shell{display:grid;grid-template-columns:240px minmax(0,1fr);border:1px solid var(--bome-account-border);border-radius:16px;overflow:hidden;background:#fff;min-height:560px}
.bome-account-nav{display:flex;flex-direction:column;background:#fafafa;border-right:1px solid var(--bome-account-border);padding:16px}
.bome-account-nav a{display:block;color:#111827!important;text-decoration:none!important;padding:13px 14px;border-radius:10px;font-weight:600;margin:2px 0;border:0!important;box-shadow:none!important}
.bome-account-nav a:hover{background:#f1f1f1;color:#000!important}
.bome-account-nav a.is-active{background:#000;color:#fff!important}
.bome-account-nav .bome-account-logout{margin-top:auto;color:#000!important;border-top:1px solid var(--bome-account-border)!important;border-radius:0;padding-top:18px}
.bome-account-content{min-width:0;padding:28px}
.bome-account-section-head{margin-bottom:22px}
.bome-account-section-head h3{margin:0 0 6px;font-size:24px;color:#111827}
.bome-account-section-head p{margin:0;color:var(--bome-account-muted)}
.bome-account-table-wrap{overflow-x:auto;border:1px solid var(--bome-account-border);border-radius:12px}
.bome-account-table{width:100%;border-collapse:collapse;min-width:720px}
.bome-account-table th,.bome-account-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #eee;vertical-align:middle}
.bome-account-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;background:#fafafa}
.bome-account-table tr:last-child td{border-bottom:0}
.bome-account-table td small{display:block;color:#6b7280;margin-top:4px}
.bome-account-actions{display:flex;gap:8px;flex-wrap:wrap}
.bome-account-btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:40px;padding:9px 14px!important;background:#000!important;color:#fff!important;border:1px solid #000!important;border-radius:8px!important;text-decoration:none!important;font-weight:700!important;box-shadow:none!important;cursor:pointer}
.bome-account-btn:hover{background:#222!important;color:#fff!important}
.bome-account-btn.is-outline{background:#fff!important;color:#000!important}
.bome-account-btn.is-outline:hover{background:#f5f5f5!important}
.bome-account-status{display:inline-block;padding:5px 9px;border-radius:999px;background:#f3f4f6;color:#111827;font-size:12px;font-weight:700}
.bome-account-card{border:1px solid var(--bome-account-border);border-radius:12px;padding:20px}
.bome-account-profile-grid,.bome-account-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}
.bome-account-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.bome-account-profile-grid>div,.bome-account-stats>div{padding:16px;background:#fafafa;border:1px solid #eee;border-radius:10px}
.bome-account-profile-grid span,.bome-account-stats span{display:block;color:#6b7280;font-size:12px;margin-bottom:6px}
.bome-account-form{display:grid;gap:15px;max-width:680px}
.bome-account-form label{display:grid;gap:7px;font-weight:600}
.bome-account-form input[type=text],.bome-account-form select{width:100%;min-height:46px;border:1px solid #d1d5db!important;border-radius:8px!important;padding:10px 12px!important;background:#fff!important;color:#111827!important;box-shadow:none!important}
.bome-account-check{display:flex!important;align-items:center;gap:8px}
.bome-account-empty,.bome-account-note{padding:18px;border:1px dashed #d1d5db;border-radius:10px;color:#6b7280;background:#fafafa}
.bome-review-list{display:grid;gap:14px}
.bome-review-card{border:1px solid var(--bome-account-border);border-radius:12px;padding:18px}
.bome-review-card p{margin:10px 0;color:#374151}
.bome-review-card small{color:#6b7280}
.bome-review-stars{color:#000;letter-spacing:2px;margin-bottom:8px}
.bome-account-notification-list{display:grid;border:1px solid var(--bome-account-border);border-radius:12px;overflow:hidden}
.bome-account-notification-list a{display:grid;gap:4px;padding:14px 16px;color:#111827!important;text-decoration:none!important;border-bottom:1px solid #eee}
.bome-account-notification-list a:last-child{border-bottom:0}
.bome-account-notification-list a.is-unread{background:#f7f7f7}
.bome-account-notification-list span,.bome-account-notification-list small{color:#6b7280}
.bome-notification-actions{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.bome-notification-actions form{margin:0}
.bome-account-message{padding:12px 14px;border-radius:9px;margin-bottom:18px;background:#f3f4f6;color:#111827}
.bome-account-message.is-error{border-left:3px solid #b91c1c}
.bome-account-message.is-success{border-left:3px solid #000}
@media(max-width:800px){.bome-account-shell{grid-template-columns:1fr}.bome-account-nav{border-right:0;border-bottom:1px solid var(--bome-account-border);display:flex;flex-direction:row;overflow-x:auto;white-space:nowrap}.bome-account-nav .bome-account-logout{margin-top:2px;border-top:0!important;padding-top:13px}.bome-account-content{padding:20px}.bome-account-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.bome-account-head h2{font-size:24px}.bome-account-content{padding:16px}.bome-account-profile-grid,.bome-account-stats{grid-template-columns:1fr}}


/* v1.3.26 — simplified account dashboard actions */
.bome-account-top-action{
	display:flex;
	justify-content:flex-end;
	margin:-52px 0 22px;
}
.bome-account-billing{
	margin-top:18px;
	padding:16px;
	border:1px solid #e5e7eb;
	border-radius:10px;
	background:#fafafa;
}
.bome-account-billing .bome-stripe-msg{
	margin:10px 0 0;
	color:#374151;
}
@media(max-width:640px){
	.bome-account-top-action{
		justify-content:flex-start;
		margin:-8px 0 18px;
	}
}

/* [bome_login_account] — tabbed login/create-account shortcode (mobile-page friendly) */
.bome-login-account-wrapper {
	display: block;
	line-height: normal;
}
.bome-login-account-card {
	max-width: 460px;
	margin: 60px auto;
	padding: 34px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	box-shadow: 0 18px 55px rgba(15, 23, 42, .10);
}
.bome-login-account-card.bome-login-account-loggedin {
	max-width: 620px;
	padding: 42px 34px;
	text-align: center;
}
.bome-login-account-card .bome-modal-heading {
	text-align: left;
	margin-bottom: 18px;
}
.bome-auth-tab-nav {
	display: flex;
	gap: 6px;
	padding: 4px;
	margin-bottom: 24px;
	background: #f3f4f6;
	border-radius: 10px;
}
.bome-auth-tab-btn {
	flex: 1;
	border: 0;
	background: transparent;
	padding: 10px 12px;
	font-size: 14px;
	font-weight: 600;
	color: #6b7280;
	border-radius: 8px;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.bome-auth-tab-btn.is-active {
	background: #fff;
	color: #111827;
	box-shadow: 0 2px 6px rgba(15, 23, 42, .08);
}
.bome-auth-tab-panel {
	display: none;
}
.bome-auth-tab-panel.is-active {
	display: block;
}
@media (max-width: 560px) {
	.bome-login-account-card {
		margin: 24px 16px;
		padding: 26px 20px;
	}
}

/* ---------------------------------------------------------------
   Vendor coupon redemption (v1.3.34)
   --------------------------------------------------------------- */
.bome-coupon-box{margin-top:22px;padding:18px;background:#fafafa;border:1px solid #eee;border-radius:10px}
.bome-coupon-box h4{margin:0 0 6px;font-size:15px;font-weight:700}
.bome-coupon-note{margin:0 0 12px;color:#6b7280;font-size:13px}
.bome-coupon-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.bome-coupon-form input[type=text]{flex:1 1 220px;min-width:180px;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;text-transform:uppercase}
.bome-coupon-form input[type=text]:focus{outline:none;border-color:#1f2a44;box-shadow:0 0 0 3px rgba(31,42,68,.08)}
.bome-coupon-form .bome-account-btn{flex:0 0 auto}
@media(max-width:520px){.bome-coupon-form{flex-direction:column;align-items:stretch}.bome-coupon-form .bome-account-btn{width:100%}}

/* Coupon discount pricing (v1.3.35) */
.bome-plan-was{color:#9ca3af;font-weight:400;margin-right:6px;text-decoration:line-through}

/* ---------------------------------------------------------------
   Button loading state + Load More (v1.3.36)
   --------------------------------------------------------------- */
@keyframes bome-spin { to { transform: rotate(360deg); } }
.bome-btn-spinner {
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	opacity: .85;
	animation: bome-spin .6s linear infinite;
	flex: 0 0 auto;
}
button.is-loading,
.bome-btn.is-loading,
.bome-account-btn.is-loading {
	cursor: progress !important;
	opacity: .85;
	pointer-events: none;
}
button.is-loading:disabled,
.bome-btn.is-loading:disabled,
.bome-account-btn.is-loading:disabled { opacity: .85; }

.bome-pagination { display: flex; justify-content: center; margin-top: 24px; }
.bome-wrap .bome-load-more-btn,
.bome-load-more-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 26px;
	border-radius: 10px !important;
	background: #000 !important;
	color: #fff !important;
	border: 1px solid #000 !important;
	box-shadow: none !important;
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	text-decoration: none !important;
	transition: background .18s ease, transform .18s ease, opacity .18s ease;
}
.bome-wrap .bome-load-more-btn:hover,
.bome-load-more-btn:hover { background: #1b1b1b !important; color: #fff !important; transform: translateY(-1px); }
.bome-wrap .bome-load-more-btn:disabled,
.bome-load-more-btn:disabled { opacity: .55 !important; cursor: not-allowed; transform: none; }
.bome-pagination-note { text-align: center; color: var(--bome-muted); font-size: 13px; margin-top: 24px; width: 100%; }

/* Past-date guard on the Post Event form (v1.3.37) */
.bome-date-hint.is-error { color: #c0392b; font-weight: 600; }
