.vmc { --vmc-bg: var(--vm-cream, #f8f4e9); --vmc-ink: var(--vm-ink, #2c2a20); --vmc-soft: var(--vm-ink-soft, #57503f); --vmc-accent: var(--vm-olive-deep, #5a604a);
	position: fixed; z-index: 99999; left: 1rem; right: 1rem; bottom: 1rem; max-width: 640px; margin-inline: auto;
	background: var(--vmc-bg); color: var(--vmc-ink); border-radius: 10px; box-shadow: 0 18px 50px -12px rgba(44,42,32,.45);
	padding: 1.3rem 1.4rem; font: 400 .92rem/1.55 var(--vm-font-body, "Jost", system-ui, sans-serif); }
.vmc[hidden] { display: none; }
.vmc h2 { margin: 0 0 .4rem; font: 500 1.3rem/1.2 var(--vm-font-display, "Cormorant Garamond", Georgia, serif); }
.vmc p { margin: 0 0 1rem; color: var(--vmc-soft); }
.vmc a { color: var(--vmc-accent); }
.vmc__actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.vmc__btn { flex: 1 1 auto; cursor: pointer; padding: .7em 1.2em; border-radius: 999px; border: 1px solid var(--vmc-accent);
	background: transparent; color: var(--vmc-accent); font: 500 .78rem/1 inherit; letter-spacing: .1em; text-transform: uppercase; font-family: inherit; }
.vmc__btn--fill { background: var(--vmc-accent); color: #fff; }
.vmc__btn:hover { opacity: .88; }
.vmc__btn:focus-visible, .vmc input:focus-visible { outline: 2px solid var(--vmc-ink); outline-offset: 2px; }
.vmc__prefs { margin: 0 0 1rem; display: grid; gap: .6rem; }
.vmc__prefs label { display: flex; gap: .7rem; align-items: flex-start; background: rgba(44,42,32,.05); padding: .7rem .8rem; border-radius: 8px; cursor: pointer; }
.vmc__prefs input { margin-top: .25rem; accent-color: var(--vmc-accent); width: 1.05rem; height: 1.05rem; }
.vmc__prefs strong { display: block; color: var(--vmc-ink); }
.vmc__prefs span { color: var(--vmc-soft); font-size: .85rem; }
@media (max-width: 520px) { .vmc { left: .6rem; right: .6rem; bottom: .6rem; padding: 1.1rem; } .vmc__btn { flex-basis: 100%; } }
@media (prefers-reduced-motion: no-preference) { .vmc { animation: vmcIn .35s ease; } @keyframes vmcIn { from { opacity: 0; transform: translateY(12px); } } }
.vmc__prefs[hidden] { display: none; }
