.wcvv-field { margin: 0 0 1.25em; width: 100%; max-width: 420px; }
.wcvv-label { display: block; font-weight: 600; margin-bottom: .5em; }

.wcvv-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.wcvv-preset {
	appearance: none; cursor: pointer; font: inherit; line-height: 1.2;
	padding: .55em 1em; min-height: 44px; border-radius: 6px;
	border: 1.5px solid currentColor; background: transparent; color: inherit; opacity: .8;
	transition: opacity .15s, background-color .15s, color .15s;
}
.wcvv-preset:hover { opacity: 1; }
.wcvv-preset.is-active { opacity: 1; background: #1f2937; border-color: #1f2937; color: #fff; }
.wcvv-preset:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }

.wcvv-input { display: flex; align-items: stretch; border: 1.5px solid #c7c9cc; border-radius: 6px; overflow: hidden; background: #fff; max-width: 240px; }
.wcvv-input:focus-within { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, .15); }
.wcvv-input.has-error { border-color: #b91c1c; }
.wcvv-currency { display: flex; align-items: center; padding: 0 .75em; background: #f3f4f6; color: #374151; font-weight: 600; }
.wcvv-input input[type=text] { flex: 1; min-width: 0; border: 0 !important; box-shadow: none !important; outline: none; padding: .6em .75em; font-size: 1.15em; font-weight: 600; background: transparent; margin: 0; }

.wcvv-help { margin: .5em 0 0; font-size: .875em; opacity: .75; }
.wcvv-error { margin: .35em 0 0; font-size: .875em; color: #b91c1c; min-height: 0; }
.wcvv-error:empty { display: none; }

.wcvv-price-range { white-space: nowrap; }
