:root {
	--bxd-accent: #009bdb;
	--bxd-accent-fg: #ffffff;
	--bxd-navy: #1f3b71;
	--bxd-border: #e2e8f0;
	--bxd-muted: #64748b;
	--bxd-bg: #ffffff;
	--bxd-range-bg: rgba(0, 155, 219, 0.12);
	--bxd-radius: 12px;
	--bxd-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.12), 0 4px 6px -4px rgba(15, 23, 42, 0.1);
}

/* Trigger input (the actual Divi contact-field input, enhanced in place) */
.bxd-date-trigger {
	cursor: pointer !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 18px 18px;
	padding-right: 42px !important;
	caret-color: transparent;
}

.bxd-date-trigger.bxd-open {
	outline: 2px solid var(--bxd-accent);
	outline-offset: 1px;
}

/* Popover shell */
.bxd-popover {
	position: absolute;
	z-index: 9999;
	background: var(--bxd-bg);
	border: 1px solid var(--bxd-border);
	border-radius: var(--bxd-radius);
	box-shadow: var(--bxd-shadow);
	padding: 14px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;
	color: var(--bxd-navy);
	animation: bxd-pop-in 0.14s ease-out;
}

@keyframes bxd-pop-in {
	from { opacity: 0; transform: translateY(-4px) scale(0.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

.bxd-popover-months {
	display: flex;
	gap: 20px;
}

@media (max-width: 640px) {
	.bxd-popover-months {
		flex-direction: column;
		gap: 12px;
	}
}

.bxd-month {
	width: 252px;
}

.bxd-month-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.bxd-month-title {
	font-weight: 600;
	font-size: 14px;
	color: var(--bxd-navy);
}

.bxd-nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	border: 1px solid var(--bxd-border);
	background: transparent;
	color: var(--bxd-muted);
	cursor: pointer;
	transition: background-color 0.12s ease, color 0.12s ease;
}

.bxd-nav-btn:hover {
	background: #f1f5f9;
	color: var(--bxd-navy);
}

.bxd-nav-btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.bxd-nav-btn:disabled:hover {
	background: transparent;
	color: var(--bxd-muted);
}

.bxd-weekdays,
.bxd-days {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
}

.bxd-weekdays {
	margin-bottom: 4px;
}

.bxd-weekday {
	text-align: center;
	font-size: 11px;
	font-weight: 600;
	color: var(--bxd-muted);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	padding: 4px 0;
}

.bxd-day-cell {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bxd-day {
	width: 32px;
	height: 32px;
	line-height: 32px;
	text-align: center;
	font-size: 13px;
	border: none;
	background: transparent;
	border-radius: 999px;
	cursor: pointer;
	color: var(--bxd-navy);
	position: relative;
	z-index: 1;
}

.bxd-day:hover:not(:disabled) {
	background: #f1f5f9;
}

.bxd-day:disabled {
	color: #cbd5e1;
	cursor: not-allowed;
}

.bxd-day.bxd-outside {
	color: #cbd5e1;
}

.bxd-day.bxd-today:not(.bxd-selected)::after {
	content: "";
	position: absolute;
	bottom: 3px;
	left: 50%;
	transform: translateX(-50%);
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--bxd-accent);
}

.bxd-day.bxd-selected,
.bxd-day.bxd-range-start,
.bxd-day.bxd-range-end {
	background: var(--bxd-accent);
	color: var(--bxd-accent-fg);
	font-weight: 600;
}

.bxd-day-cell.bxd-in-range::before {
	content: "";
	position: absolute;
	inset: 0 0 0 0;
	background: var(--bxd-range-bg);
	z-index: 0;
}

.bxd-day-cell.bxd-range-start::before {
	left: 50%;
}

.bxd-day-cell.bxd-range-end::before {
	right: 50%;
}

.bxd-popover-footer {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--bxd-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.bxd-popover-hint {
	font-size: 12px;
	color: var(--bxd-muted);
}

.bxd-popover-actions {
	display: flex;
	gap: 8px;
}

.bxd-btn {
	font-size: 12px;
	font-weight: 600;
	padding: 6px 12px;
	border-radius: 8px;
	border: 1px solid var(--bxd-border);
	background: transparent;
	color: var(--bxd-navy);
	cursor: pointer;
}

.bxd-btn:hover {
	background: #f1f5f9;
}

.bxd-btn-primary {
	background: var(--bxd-accent);
	border-color: var(--bxd-accent);
	color: var(--bxd-accent-fg);
}

.bxd-btn-primary:hover {
	background: #0089c2;
}
