.vemoriq-essentials { position: fixed; z-index: 9990; right: 18px; bottom: 22px; }
.vemoriq-essentials-toggle { min-height: 46px; padding: .72rem 1rem; border: 1px solid #e0cfe7; border-radius: 999px; background: linear-gradient(120deg,#fff1f8,#eee6ff); box-shadow: 0 10px 28px rgba(64,38,75,.18); color: #44314b; font: inherit; font-size: .82rem; font-weight: 850; cursor: pointer; }
.vemoriq-essentials-panel { position: absolute; right: 0; bottom: 58px; width: min(320px,calc(100vw - 32px)); padding: 1rem; border: 1px solid #e2d3e6; border-radius: 18px; background: rgba(255,252,254,.98); box-shadow: 0 16px 42px rgba(53,34,61,.2); }
.vemoriq-essentials-close { position:absolute; top:.55rem; right:.55rem; display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; border:0; border-radius:999px; background:#f3e8f5; color:#44314b; font:inherit; font-size:1.45rem; cursor:pointer; }
.vemoriq-essentials-panel p { margin: 0 3rem .6rem 0; color: #8a548b; font-size: .68rem; font-weight: 900; letter-spacing: .1em; }
.vemoriq-essentials-panel a { display: block; margin-top: .45rem; padding: .72rem; border-radius: 12px; background: #f8f2f9; color: #433747; font-size: .84rem; font-weight: 750; line-height: 1.35; text-decoration: none; }
.vemoriq-essentials-panel a:hover,.vemoriq-essentials-panel a:focus-visible { background: #eee2f2; }
.vemoriq-mobile-save { display: none; }
.vemoriq-save-notice { position: fixed; z-index: 10001; left: 50%; bottom: 24px; width: max-content; max-width: calc(100vw - 32px); padding: .85rem 1rem; border-radius: 999px; background: #33283a; box-shadow: 0 12px 30px rgba(31,20,36,.28); color: #fff; font-size: .84rem; font-weight: 750; text-align: center; opacity: 0; pointer-events: none; transform: translate(-50%,24px); transition: opacity .2s ease,transform .2s ease; }
.vemoriq-save-notice.is-visible { opacity: 1; transform: translate(-50%,0); }

@media (max-width:782px) {
	body.vemoriq-has-mobile-save { padding-bottom: 76px; }
	.header-cover .wp-block-cover__inner-container { box-sizing: border-box; padding-top: 84px !important; }
	.vemoriq-mobile-save { position: fixed !important; z-index: 9989; right: 0 !important; bottom: 0 !important; left: 0 !important; display: flex; box-sizing: border-box; min-height: 66px; align-items: center; justify-content: flex-end; padding: 10px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) 172px; border-top: 1px solid #e4d6e7; background: rgba(255,251,253,.98); box-shadow: 0 -8px 24px rgba(61,39,70,.12); backdrop-filter: blur(12px); }
	.vemoriq-mobile-save p { display: none; }
	.vemoriq-mobile-save button { flex: 0 0 auto; min-height: 46px; padding: .72rem 1rem; border: 0; border-radius: 999px; background: #8f5aa5; color: #fff; font: inherit; font-size: .86rem; font-weight: 850; cursor: pointer; }
	.vemoriq-essentials { right: auto; bottom: max(10px,env(safe-area-inset-bottom)); left: max(12px,env(safe-area-inset-left)); z-index: 9990; }
	body.vemoriq-has-mobile-save .vemoriq-essentials { bottom: calc(76px + env(safe-area-inset-bottom)); }
	.vemoriq-essentials-toggle { min-height: 46px; padding: .72rem 1rem; font-size: .86rem; box-shadow: none; }
	.vemoriq-essentials-panel { position: fixed; right: 12px; bottom: 74px; left: 12px; width: auto; max-height: min(62vh,480px); overflow-y: auto; padding: 1rem; }
	.vemoriq-essentials-panel p { font-size: .78rem; }
	.vemoriq-essentials-panel a { min-height: 48px; padding: .85rem; font-size: .92rem; }
	.vemoriq-save-notice { bottom: 82px; font-size: .88rem; }
}

.vq-contact { max-width: 760px; margin: 2rem auto; padding: clamp(1.2rem,4vw,2rem); border: 1px solid #eaddea; border-radius: 24px; background: #fffafd; box-shadow: 0 16px 44px rgba(68,49,75,.08); }
.vq-contact-kicker { margin: 0 0 .45rem; color: #8f5aa5; font-size: .76rem; font-weight: 900; letter-spacing: .1em; }
.vq-contact form { display: grid; gap: .65rem; margin-top: 1.25rem; }
.vq-contact label { margin-top: .5rem; color: #44314b; font-weight: 800; }
.vq-contact input,.vq-contact select,.vq-contact textarea { box-sizing: border-box; width: 100%; min-height: 48px; padding: .8rem .9rem; border: 1px solid #d9c9dd; border-radius: 12px; background: #fff; color: #33283a; font: inherit; }
.vq-contact textarea { min-height: 150px; resize: vertical; }
.vq-contact input:focus,.vq-contact select:focus,.vq-contact textarea:focus { outline: 3px solid rgba(143,90,165,.18); border-color: #8f5aa5; }
.vq-contact button { justify-self: start; min-height: 48px; padding: .78rem 1.15rem; border: 0; border-radius: 999px; background: #8f5aa5; color: #fff; font: inherit; font-weight: 850; cursor: pointer; }
.vq-contact-privacy { color: #65586a; font-size: .85rem; line-height: 1.55; }
.vq-contact-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.vq-contact-notice { padding: .85rem 1rem; border-radius: 12px; font-weight: 750; }
.vq-contact-notice.is-success { background: #e9f8f0; color: #245d3c; }
.vq-contact-notice.is-error { background: #fff0f2; color: #8a3341; }

@media (prefers-reduced-motion:reduce) { .vemoriq-save-notice { transition: none; } }
