.yvbs-lock, .yvbs-lock body { overflow: hidden; }

.yvbs-overlay {
	position: fixed; inset: 0; z-index: 2147483000;
	display: flex; align-items: center; justify-content: center;
	padding: 16px; box-sizing: border-box;
	background: rgba(20, 22, 23, 0.65);
	opacity: 0; transition: opacity .2s ease;
}
.yvbs-overlay[hidden] { display: none; }
.yvbs-overlay.is-open { opacity: 1; }

.yvbs-dialog {
	position: relative; width: 100%; max-width: 440px; max-height: calc(100vh - 32px); overflow-y: auto;
	background: #FFFFFF; color: #212326; border-radius: 12px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
	font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	transform: translateY(12px); transition: transform .2s ease;
}
.yvbs-overlay.is-open .yvbs-dialog { transform: none; }

.yvbs-art { display: block; height: 110px; background: #212326; border-radius: 12px 12px 0 0; overflow: hidden; }
.yvbs-art svg { display: block; width: 100%; height: 100%; }

.yvbs-x {
	position: absolute; top: 8px; right: 8px; width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #FFFFFF; cursor: pointer; padding: 0;
}
.yvbs-x:hover, .yvbs-x:focus-visible { background: rgba(255, 255, 255, .25); }

.yvbs-content { padding: 22px 26px 18px; }
.yvbs-kicker { margin: 0 0 4px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #7B6A58; }
.yvbs-summer .yvbs-kicker { color: #7B6A58; }
.yvbs-title { margin: 0 0 8px; font-family: "Raleway", "Open Sans", system-ui, sans-serif; font-weight: 800; font-size: 26px; line-height: 1.1; color: #212326; }
.yvbs-body { margin: 0 0 16px; font-size: 16px; line-height: 1.5; color: #434549; }

.yvbs-form { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.yvbs-label { font-size: 14px; font-weight: 700; color: #212326; margin-top: 4px; }
.yvbs-input {
	width: 100%; box-sizing: border-box; min-height: 46px; padding: 10px 12px;
	font-size: 16px; color: #212326; background: #FFFFFF;
	border: 1px solid #8A8D92; border-radius: 6px; margin: 0;
}
.yvbs-input:focus { outline: 2px solid #F9B233; outline-offset: 1px; border-color: #7B6A58; }
.yvbs-input[aria-invalid="true"] { border-color: #B42318; }

.yvbs-consent { display: flex; gap: 10px; align-items: flex-start; margin: 10px 0 4px; font-size: 14px; line-height: 1.45; color: #434549; cursor: pointer; }
.yvbs-consent input { margin: 3px 0 0; width: 18px; height: 18px; flex-shrink: 0; accent-color: #7B6A58; }

.yvbs-submit {
	min-height: 48px; margin-top: 8px; padding: 0 20px; border: 0; border-radius: 6px;
	background: #F9B233; color: #212326; font-size: 16px; font-weight: 700; cursor: pointer;
}
.yvbs-submit:hover, .yvbs-submit:focus-visible { background: #E9A325; }
.yvbs-submit:disabled { opacity: .7; cursor: wait; }

.yvbs-status { margin: 4px 0 0; min-height: 1em; font-size: 14px; }
.yvbs-status.is-error { color: #B42318; }
.yvbs-privacy { margin: 2px 0 0; font-size: 12px; line-height: 1.4; color: #5E6166; }
.yvbs-done { margin: 6px 0 8px; font-size: 18px; font-weight: 700; color: #7B6A58; outline: none; }

.yvbs-later {
	display: block; width: 100%; min-height: 44px; margin-top: 6px;
	background: none; border: 0; color: #434549; font-size: 14px; text-decoration: underline; cursor: pointer;
}

.yvbs-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
	.yvbs-overlay, .yvbs-dialog { transition: none; }
}
