/* VPZ Core — component styles. Uses the VPZ Water theme tokens when present, sensible fallbacks otherwise.
   Selectors in :where() have zero specificity, so a theme can restyle them freely. */

/* Favourite button */
:where(.vpz-fav) { position: absolute; z-index: 3; top: 12px; right: 12px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #0f1520; cursor: pointer; }
:where(.vpz-fav.is-active) { color: #ff4d6d; }
:where(.vpz-fav.is-active svg) { fill: currentColor; }
:where(li.product):has(> .vpz-fav) { position: relative; }
.vpz-fav-empty { display: grid; justify-items: start; gap: 8px; padding: 28px 24px; border-radius: var(--r-lg, 24px); background: var(--soft, #f4f6f8); }
.vpz-fav-empty p { margin: 0 0 6px; }

/* Choice chips: delivery day and time */
.vpz-delivery { margin: 8px 0 18px; }
.vpz-choice { display: flex; gap: 8px; margin: 0 calc(var(--pad, 0px) * -1) 10px; padding: 2px var(--pad, 0px); overflow-x: auto; scrollbar-width: none; }
.vpz-choice::-webkit-scrollbar { display: none; }
.vpz-choice__item { position: relative; flex: none; margin: 0; cursor: pointer; }
.vpz-choice__item input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.vpz-choice__item span { display: grid; place-items: center; height: 56px; padding: 0 22px; border-radius: var(--r-md, 20px); background: var(--soft, #f4f6f8); font-size: .95rem; font-weight: 500; white-space: nowrap; transition: background .25s, color .25s, transform .25s; }
.vpz-choice__item input:checked + span { background: var(--ink, #0f1520); color: #fff; }
.vpz-choice__item input:focus-visible + span { outline: 2px solid var(--accent, #27b4f5); outline-offset: 2px; }
.vpz-choice__item input:disabled + span { opacity: .35; text-decoration: line-through; }
.vpz-choice__item:active span { transform: scale(.95); }
@media (min-width: 1000px) {
	.vpz-choice { flex-wrap: wrap; margin-inline: 0; padding-inline: 0; }
}

/* Saved address pill */
.vpz-address-pill { display: none; align-items: center; gap: 16px; min-height: 76px; margin: 0 0 12px; padding: 8px 22px 8px 8px; border-radius: 999px; background: var(--soft, #f4f6f8); font-size: 1.1rem; font-weight: 500; cursor: pointer; }
.vpz-address-pill.is-collapsed { display: flex; }
.vpz-address-pill.is-collapsed ~ .woocommerce-billing-fields__field-wrapper { display: none; }
.vpz-address-pill__icon { flex: none; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: #fff; }
.vpz-address-pill__text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vpz-address-pill__edit { flex: none; display: grid; place-items: center; width: 40px; height: 40px; min-height: 0; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; }

/* Empties stepper */
tr.vpz-empties th { font-weight: 400; }
.vpz-stepper { display: inline-flex; align-items: center; gap: 2px; padding: 4px; border-radius: 999px; background: var(--soft, #f4f6f8); }
.vpz-stepper button { display: grid; place-items: center; width: 32px; height: 32px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: #fff; color: var(--ink, #0f1520); cursor: pointer; }
.vpz-stepper input { width: 40px; min-height: 0; height: 32px; padding: 0; border: 0; background: none; text-align: center; font-weight: 600; font-size: 1rem; -moz-appearance: textfield; appearance: textfield; }
.vpz-stepper input::-webkit-outer-spin-button, .vpz-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Free delivery progress */
.vpz-progress { margin: 0 0 16px; }
.vpz-progress p { margin: 0 0 8px; font-size: .9rem; }
.vpz-progress__bar { height: 8px; border-radius: 4px; background: rgba(128, 140, 160, .28); overflow: hidden; }
.vpz-progress__bar span { display: block; height: 100%; border-radius: 4px; background: var(--accent, #27b4f5); transition: width .6s cubic-bezier(.22, 1, .36, 1); }
.vpz-progress.is-done .vpz-progress__bar span { background: #2fbf71; }

/* Delivery card (thank-you / order page) */
:where(.vpz-delivery-card) { margin: 24px 0; padding: 24px; border-radius: 28px; background: #0f1520; color: #fff; }
:where(.vpz-delivery-card ul) { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; }
:where(.vpz-delivery-card li) { display: grid; grid-template-columns: 56px 1fr; column-gap: 14px; align-items: center; }
:where(.vpz-delivery-card li svg) { grid-row: span 2; box-sizing: content-box; padding: 16px; border-radius: 50%; background: rgba(255, 255, 255, .12); }
:where(.vpz-delivery-card li span) { font-size: .9rem; opacity: .85; }

/* Delivery date button + calendar */
.vpz-date-btn { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 64px; padding: 0 22px; border: 1.500px solid transparent; border-radius: var(--r-md, 20px); background: var(--soft, #f4f6f8); color: #8a93a0; font: inherit; text-align: left; cursor: pointer; }
.vpz-date-btn.is-set { color: var(--ink, #0f1520); }
.vpz-date-btn:disabled { opacity: .5; cursor: not-allowed; }
.vpz-date-btn svg { flex: none; color: var(--ink, #0f1520); }
.woocommerce-invalid .vpz-date-btn { border-color: #e14d4d; }
.vpz-cal-wrap { position: fixed; z-index: 99999; inset: 0; display: flex; align-items: flex-end; justify-content: center; background: rgba(15, 21, 32, .4); opacity: 0; transition: opacity .3s; }
.vpz-cal-wrap.is-open { opacity: 1; }
.vpz-cal { width: 100%; max-width: 420px; padding: 18px 18px calc(22px + env(safe-area-inset-bottom)); border-radius: 32px 32px 0 0; background: #fff; color: var(--ink, #0f1520); transform: translateY(40px); transition: transform .45s cubic-bezier(.22, 1, .36, 1); }
.vpz-cal-wrap.is-open .vpz-cal { transform: none; }
.vpz-cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.vpz-cal__head strong { font-size: 1.15rem; font-weight: 600; }
.vpz-cal__head button { width: 44px; height: 44px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: var(--soft, #f4f6f8); color: inherit; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.vpz-cal__head button:disabled { opacity: .3; cursor: default; }
.vpz-cal__week, .vpz-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; }
.vpz-cal__week span { padding: 6px 0; font-size: .78rem; color: #8a93a0; }
.vpz-cal__grid button { aspect-ratio: 1; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: var(--soft, #f4f6f8); color: inherit; font: inherit; font-weight: 600; cursor: pointer; transition: background .2s, color .2s, transform .2s; }
.vpz-cal__grid button:disabled { background: none; color: #c3c9d1; font-weight: 400; cursor: default; }
.vpz-cal__grid button:not(:disabled):hover, .vpz-cal__grid button.is-selected { background: var(--ink, #0f1520); color: #fff; }
.vpz-cal__grid button:not(:disabled):active { transform: scale(.9); }
.vpz-cal__note { margin: 10px 0 0; text-align: center; color: #8a93a0; font-size: .9rem; }
.vpz-cal__note:empty { display: none; }
@media (min-width: 640px) {
	.vpz-cal-wrap { align-items: center; }
	.vpz-cal { border-radius: 28px; }
}

/* Selects opened as a bottom panel */
.vpz-select-native { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.vpz-select-btn { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 64px; padding: 0 20px 0 22px; border: 1.500px solid transparent; border-radius: var(--r-md, 20px); background: var(--soft, #f4f6f8); color: #8a93a0; font: inherit; text-align: left; cursor: pointer; transition: border-color .2s, background .2s; }
.vpz-select-btn span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vpz-select-btn.is-set { color: var(--ink, #0f1520); font-weight: 500; }
.vpz-select-btn svg { flex: none; color: var(--ink, #0f1520); }
.vpz-select-btn:disabled { opacity: .5; cursor: not-allowed; }
.woocommerce-invalid .vpz-select-btn { border-color: #e14d4d; }
.vpz-pick { display: flex; flex-direction: column; max-height: 78vh; }
.vpz-pick__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.vpz-pick__head strong { font-size: 1.15rem; font-weight: 600; }
.vpz-pick__close { width: 40px; height: 40px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: var(--soft, #f4f6f8); color: inherit; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.vpz-pick__list { display: grid; gap: 8px; overflow-y: auto; overscroll-behavior: contain; padding-bottom: 4px; }
.vpz-pick__list button { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 58px; padding: 0 18px 0 20px; border: 0; border-radius: 999px; background: var(--soft, #f4f6f8); color: inherit; font: inherit; font-weight: 500; text-align: left; cursor: pointer; transition: background .2s, color .2s, transform .2s; }
.vpz-pick__list button i { display: grid; place-items: center; width: 26px; height: 26px; border: 1.500px solid #9aa5b3; border-radius: 50%; color: transparent; font-style: normal; }
.vpz-pick__list button.is-selected { background: var(--ink, #0f1520); color: #fff; }
.vpz-pick__list button.is-selected i { border-color: #fff; background: #fff; color: var(--ink, #0f1520); }
.vpz-pick__list button:active { transform: scale(.98); }

/* Delivery fields appear one after another */
.vpz-delivery [hidden] { display: none !important; }
.vpz-step-in { animation: vpz-core-step .45s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes vpz-core-step { from { opacity: 0; transform: translateY(-8px); } }
@media (prefers-reduced-motion: reduce) { .vpz-step-in { animation: none; } }

/* VPN warning above the checkout */
.vpz-alert[hidden] { display: none; }
.vpz-alert[data-vpz-vpn] { opacity: 0; transform: translateY(-8px); transition: opacity .35s, transform .45s cubic-bezier(.2, .9, .3, 1.15); }
.vpz-alert[data-vpz-vpn].is-in { opacity: 1; transform: none; }
.vpz-alert { display: flex; gap: 14px; align-items: flex-start; margin: 0 0 16px; padding: 16px 18px; border-radius: var(--r-lg, 24px); background: #fff6e0; color: #5a4100; font-size: .92rem; line-height: 1.45; }
.vpz-alert__ico { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #ffd66b; color: #3d2c00; }
.vpz-alert strong { display: block; margin: 1px 0 2px; color: #2e2100; font-size: 1rem; font-weight: 600; }
.vpz-alert p { margin: 0; }

/* Required agreements */
.vpz-agree { display: grid; gap: 8px; margin: 4px 0 16px; }
.vpz-agree .form-row { margin: 0 !important; padding: 0 !important; }
.vpz-agree label.checkbox { display: flex !important; align-items: flex-start; gap: 12px; margin: 0; padding: 14px 16px; border-radius: var(--r-md, 20px); background: #fff; color: var(--ink, #0f1520); font-size: .92rem; font-weight: 500; line-height: 1.35; cursor: pointer; transition: box-shadow .2s; }
.vpz-agree input[type="checkbox"] { flex: none; appearance: none; -webkit-appearance: none; width: 24px; height: 24px; min-height: 0; margin: -1px 0 0; padding: 0; border: 2px solid rgba(15, 21, 32, .22); border-radius: 8px; background: #fff center / 14px no-repeat; cursor: pointer; transition: background-color .2s, border-color .2s; }
.vpz-agree input[type="checkbox"]:checked { border-color: var(--ink, #0f1520); background-color: var(--ink, #0f1520); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.vpz-agree input[type="checkbox"]:focus-visible { outline: 2px solid var(--accent, #27b4f5); outline-offset: 2px; }
.vpz-agree .woocommerce-invalid label.checkbox { box-shadow: inset 0 0 0 2px #ff4d6d; }
.vpz-agree a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.vpz-agree abbr.required { color: #ff4d6d; text-decoration: none; border: 0; }

/* Notice window */
.vpz-notice { position: fixed; inset: 0; z-index: 120; display: grid; align-items: end; justify-items: center; padding: 12px; }
.vpz-notice[hidden] { display: none; }
.vpz-notice__scrim { position: absolute; inset: 0; background: rgba(15, 21, 32, .42); opacity: 0; transition: opacity .3s; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.vpz-notice__card { position: relative; width: 100%; max-width: 440px; max-height: calc(100dvh - 24px); overflow: auto; padding: 30px 24px calc(22px + env(safe-area-inset-bottom)); border-radius: 32px; background: #fff; color: var(--ink, #0f1520); text-align: center; box-shadow: 0 30px 60px -30px rgba(15, 21, 32, .5); transform: translateY(40px) scale(.96); opacity: 0; transition: transform .45s cubic-bezier(.2, .9, .3, 1.15), opacity .3s; }
.vpz-notice.is-open .vpz-notice__scrim { opacity: 1; }
.vpz-notice__card:focus { outline: none; }
.vpz-notice.is-open .vpz-notice__card { transform: none; opacity: 1; }
.vpz-notice__x { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 38px; height: 38px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: var(--soft, #f4f6f8); color: inherit; cursor: pointer; }
.vpz-notice__badge { display: grid; place-items: center; width: 76px; height: 76px; margin: 0 auto 16px; border-radius: 50%; background: var(--soft, #eaf6ff); color: var(--accent, #27b4f5); overflow: hidden; }
.vpz-notice__badge img { width: 100%; height: 100%; object-fit: contain; }
.vpz-notice__title { margin: 0 0 10px; font-size: 1.45rem; font-weight: 600; line-height: 1.15; letter-spacing: -.01em; }
.vpz-notice__body { color: var(--ink-2, #4b5563); font-size: .98rem; line-height: 1.5; text-align: left; }
.vpz-notice__body > :first-child { margin-top: 0; }
.vpz-notice__body > :last-child { margin-bottom: 0; }
.vpz-notice__body a { color: var(--ink, #0f1520); }
.vpz-notice__btn { display: block; width: 100%; min-height: 56px; margin-top: 22px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--ink, #0f1520); color: #fff; font: inherit; font-size: 1.02rem; font-weight: 600; cursor: pointer; transition: transform .2s; }
.vpz-notice__btn:active { transform: scale(.97); }
.vpz-notice-open, .vpz-notice-open body { overflow: hidden; }
@media (min-width: 640px) {
	.vpz-notice { align-items: center; padding: 24px; }
	.vpz-notice__card { padding: 36px 34px 30px; }
}
@media (prefers-reduced-motion: reduce) {
	.vpz-notice__card, .vpz-notice__scrim { transition: none; }
}

/* Account details: "change password" button */
.vpz-passbtn { display: inline-flex; align-items: center; min-height: 48px; margin: 6px 0 18px; padding: 8px 22px; border: 0; border-radius: 999px; background: var(--soft, #f4f6f8) !important; color: var(--ink, #0f1520) !important; font-weight: 500; cursor: pointer; }

/* ===== Home: «Последний заказ» card ===== */
.vpz-lo { position: relative; display: flex; align-items: center; gap: 14px; min-height: 96px; margin: 2px 0 18px; padding: 14px; border-radius: 28px; text-decoration: none !important; overflow: hidden; isolation: isolate; -webkit-tap-highlight-color: transparent; transition: transform .3s cubic-bezier(.34, 1.56, .64, 1); }
.vpz-lo:active { transform: scale(.98); }
.vpz-lo:focus-visible { outline: 2px solid var(--accent, #27b4f5); outline-offset: 3px; }
.vpz-lo__txt { position: relative; flex: 1; min-width: 0; display: grid; gap: 2px; }
.vpz-lo__txt small { font-size: .74rem; font-weight: 700; letter-spacing: .05em; line-height: 1.2; text-transform: uppercase; }
.vpz-lo__txt strong { font-size: 1.25rem; font-weight: 700; line-height: 1.15; letter-spacing: -.02em; }
.vpz-lo__txt span { font-size: .86rem; line-height: 1.3; }
.vpz-lo__go { position: relative; flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; transition: transform .3s cubic-bezier(.34, 1.56, .64, 1); }
.vpz-lo:hover .vpz-lo__go { transform: translateX(3px); }
@keyframes vpz-lo-slide { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(calc(var(--w) * -1), 0, 0); } }
@keyframes vpz-lo-wv { from { transform: translateX(0); } to { transform: translateX(-32px); } }
@keyframes vpz-lo-rise { from { transform: translateY(var(--d)); } }
@keyframes vpz-lo-bub { 0% { transform: translateY(0); opacity: 0; } 15%, 80% { opacity: 1; } 100% { transform: translateY(calc(var(--up) * -1)); opacity: 0; } }
@keyframes vpz-lo-drop { 0% { transform: translateY(0); opacity: 0; } 12% { opacity: 1; } 68% { transform: translateY(64px); opacity: 1; } 69%, 100% { transform: translateY(64px); opacity: 0; } }
@keyframes vpz-lo-ripple { 0%, 68% { transform: scale(.2); opacity: 0; } 70% { transform: scale(.3); opacity: 1; } 100% { transform: scale(1.5); opacity: 0; } }
@keyframes vpz-lo-fill { from { transform: translate3d(0, 100%, 0); } }
@keyframes vpz-lo-fall { 0% { transform: translateY(0); opacity: 0; } 15% { opacity: 1; } 100% { transform: translateY(var(--fall, 96px)); opacity: 0; } }

/* Light: «стакан» */
.vpz-lo--light { background: linear-gradient(120deg, #e3f3ff 0%, #f1f9ff 60%, #e8f4ff 100%); color: var(--ink, #0f1520); }
.vpz-lo--light .vpz-lo__txt small { color: #2f7fb3; }
.vpz-lo--light .vpz-lo__txt span { color: var(--ink-2, #616b7a); }
.vpz-lo--light .vpz-lo__go { background: var(--ink, #0f1520); color: #fff; }
.vpz-lo__waves { position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; height: 30px; overflow: hidden; pointer-events: none; }
.vpz-lo__waves i { --w: 200px; position: absolute; left: 0; bottom: 0; width: calc(100% + 200px); height: 30px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 30'%3E%3Cpath fill='%23d6edff' d='M0 12C25 12 25 4 50 4S75 12 100 12S125 4 150 4S175 12 200 12V30H0Z'/%3E%3C/svg%3E") 0 100% / 200px 30px repeat-x; animation: vpz-lo-slide 9s linear infinite; will-change: transform; }
.vpz-lo__waves i + i { --w: 160px; width: calc(100% + 160px); height: 22px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 22'%3E%3Cpath fill='%23c3e5ff' d='M0 10C20 10 20 3 40 3S60 10 80 10S100 3 120 3S140 10 160 10V22H0Z'/%3E%3C/svg%3E"); background-size: 160px 22px; animation-duration: 6s; animation-direction: reverse; }
.vpz-lo__glass { position: relative; flex: none; width: 60px; height: 68px; filter: drop-shadow(0 8px 12px rgba(11, 110, 168, .2)); }
.vpz-lo__glass svg { display: block; width: 60px; height: 68px; overflow: visible; }
.vpz-lo__rise { animation: vpz-lo-rise 1.6s cubic-bezier(.2, .8, .2, 1) both; }
.vpz-lo__wv { animation: vpz-lo-wv 2.4s linear infinite; }
.vpz-lo__wv--back { animation-duration: 3.6s; animation-direction: reverse; }
.vpz-lo__bub { fill: rgba(255, 255, 255, .9); opacity: 0; animation: vpz-lo-bub 3.2s ease-in infinite; }
.vpz-lo__drop { animation: vpz-lo-drop 2.2s cubic-bezier(.55, 0, .85, .35) infinite; }
.vpz-lo__ripple { transform-box: fill-box; transform-origin: center; opacity: 0; animation: vpz-lo-ripple 2.2s ease-out infinite; }

/* Dark: «резервуар» */
.vpz-lo--dark { min-height: 104px; padding: 16px 16px 16px 18px; border-radius: 30px; background: #0f1520; color: #fff; }
.vpz-lo--dark .vpz-lo__txt { text-shadow: 0 1px 8px rgba(15, 21, 32, .35); }
.vpz-lo--dark .vpz-lo__txt small { opacity: .72; }
.vpz-lo--dark .vpz-lo__txt span { opacity: .85; }
.vpz-lo--dark .vpz-lo__go { background: #fff; color: var(--ink, #0f1520); }
.vpz-lo__tank { position: absolute; z-index: -1; inset: 0; overflow: hidden; border-radius: inherit; pointer-events: none; }
.vpz-lo__water { position: absolute; left: 0; right: 0; bottom: 0; height: var(--lvl); background: linear-gradient(180deg, #2bb5f6 0%, #1683d6 100%); animation: vpz-lo-fill 1.6s cubic-bezier(.2, .8, .2, 1) both; }
.vpz-lo__water i { --w: 120px; position: absolute; left: 0; bottom: calc(100% - 1px); width: calc(100% + 120px); height: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 14'%3E%3Cpath fill='%232bb5f6' d='M0 7C15 7 15 1 30 1S45 7 60 7S75 1 90 1S105 7 120 7V14H0Z'/%3E%3C/svg%3E") 0 0 / 120px 14px repeat-x; animation: vpz-lo-slide 3.4s linear infinite; will-change: transform; }
.vpz-lo__water i + i { bottom: calc(100% + 1px); opacity: .45; animation-duration: 5.2s; animation-direction: reverse; }
.vpz-lo__num { position: relative; flex: none; display: grid; place-items: center; align-content: center; width: 68px; height: 68px; border-radius: 22px; background: rgba(255, 255, 255, .12); color: #fff; line-height: 1; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.vpz-lo__num b { font-size: 1.9rem; font-weight: 700; letter-spacing: -.03em; }
.vpz-lo__num i { margin-top: 3px; font-size: .7rem; font-style: normal; opacity: .8; }
.vpz-lo--dark.is-empty .vpz-lo__num { background: rgba(43, 181, 246, .16); color: #2bb5f6; }
.vpz-lo__drops { position: absolute; z-index: -1; top: -8px; right: 92px; pointer-events: none; }
.vpz-lo__drops i { position: absolute; width: 7px; height: 10px; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; background: #2bb5f6; opacity: 0; animation: vpz-lo-fall 2.4s cubic-bezier(.5, 0, .8, .4) infinite; }
.vpz-lo__drops i:nth-child(2) { left: -30px; animation-delay: .8s; }
.vpz-lo__drops i:nth-child(3) { left: -58px; animation-delay: 1.6s; }

.vpz-lo-wrap .vpz-lo { margin: 0; }
@media (min-width: 1000px) {
	.vpz-lo { padding: 18px 22px; }
}
@media (prefers-reduced-motion: reduce) {
	.vpz-lo *, .vpz-lo *::before, .vpz-lo *::after { animation: none !important; }
	.vpz-lo__drop, .vpz-lo__ripple, .vpz-lo__drops { display: none; }
}
