/*!
 * Vista Checkout — front-end styles.
 * Design tokens come from settings (inline :root vars). All selectors are scoped under .vsc.
 */

:root {
	--vsc-bg: #101010;
	--vsc-card: #1a1a1a;
	--vsc-modal: #232323;
	--vsc-border: #393939;
	--vsc-field: #101010;
	--vsc-field-border: #494949;
	--vsc-text: #ffffff;
	--vsc-muted: #8f8f8f;
	--vsc-gold: #f9d376;
	--vsc-gold-dim: #836d47;
	--vsc-gold-text: #b39467;
	--vsc-gold-bg: #2c2921;
	--vsc-option-border: #919191;
	--vsc-cta-from: #f7d57c;
	--vsc-cta-to: #c58324;
	--vsc-cta-text: #1a1206;
	--vsc-toggle: #b37f4e;
	--vsc-success: #09c056;
	--vsc-error: #f05c5c;
	--vsc-radius: 0px;
	--vsc-container: 1280px;
	--vsc-font: inherit;
	--vsc-line: #2a2a2a;
	--vsc-spec-border: #484848;
	--vsc-focus: 0 0 0 2px var(--vsc-bg), 0 0 0 4px var(--vsc-gold);
	--vsc-ease: cubic-bezier(.2, .7, .2, 1);
}

body.vsc-page--dark { background: var(--vsc-bg); }

/* ---------- Base / reset (scoped) ---------- */
.vsc { direction: rtl; text-align: right; color: var(--vsc-text); font-family: var(--vsc-font); font-size: 14px; line-height: 1.75; -webkit-font-smoothing: antialiased; }
.vsc *, .vsc *::before, .vsc *::after { box-sizing: border-box; }
.vsc :where(h1, h2, h3, h4, p, ul, ol, dl, dd, figure) { margin: 0; padding: 0; }
.vsc :where(ul, ol) { list-style: none; }
.vsc :where(h1, h2, h3, h4) { color: var(--vsc-text); font-family: inherit; letter-spacing: 0; text-transform: none; }
.vsc a { color: var(--vsc-gold); text-decoration: none; }
.vsc a:hover { color: var(--vsc-gold); text-decoration: underline; text-underline-offset: 3px; }
.vsc img { max-width: 100%; height: auto; }
.vsc :where(button) { font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; line-height: inherit; text-transform: none; letter-spacing: normal; box-shadow: none; min-height: 0; border-radius: 0; }
.vsc :where(button):disabled { cursor: not-allowed; }
.vsc :where(input, select, textarea) { font: inherit; margin: 0; }
.vsc :focus { outline: none; }
.vsc :focus-visible { outline: 2px solid var(--vsc-gold); outline-offset: 2px; }
.vsc .vsc-input:focus-visible, .vsc .vsc-map__input:focus-visible, .vsc .vsc-sr-input:focus-visible { outline: none; }
.vsc bdi { unicode-bidi: isolate; }
.vsc del { text-decoration-thickness: 1px; }
.vsc .vsc-icon { flex: none; display: inline-block; vertical-align: middle; }
.vsc .vsc-sr, .vsc .screen-reader-text, .vsc .vsc-sr-input { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; opacity: 0; }
.vsc .vsc-muted { color: var(--vsc-muted); }
.vsc .vsc-center { text-align: center; }
.vsc [hidden] { display: none !important; }

.vsc-app, .vsc-result, .vsc-orderpay { background: var(--vsc-bg); padding: 0 16px 48px; }
.vsc .vsc-container { max-width: var(--vsc-container); margin-inline: auto; }

/* ---------- Breadcrumb ---------- */
.vsc .vsc-breadcrumb { display: flex; gap: 6px; align-items: center; padding: 24px 0 8px; font-size: 14px; color: var(--vsc-muted); }
.vsc .vsc-breadcrumb a { color: var(--vsc-gold); }
.vsc .vsc-breadcrumb__sep { color: var(--vsc-gold); }

/* ---------- Layout ---------- */
.vsc .vsc-layout { display: grid; grid-template-columns: minmax(0, 1fr) 305px; grid-template-areas: "stepper ." "main side"; column-gap: 16px; align-items: start; }
.vsc .vsc-layout__stepper { grid-area: stepper; }
.vsc .vsc-layout__main { grid-area: main; min-width: 0; }
.vsc .vsc-layout__side { grid-area: side; position: sticky; top: 24px; }
.vsc .vsc-main > * + *, .vsc .vsc-checkout-form > * + * { margin-top: 16px; }

/* ---------- Cards ---------- */
.vsc .vsc-card { background: var(--vsc-card); border: 1px solid var(--vsc-border); border-radius: var(--vsc-radius); padding: 24px; }
.vsc .vsc-card__label { font-size: 14px; font-weight: 500; color: var(--vsc-muted); margin-bottom: 16px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.vsc .vsc-hr { border: 0; border-top: 1px solid var(--vsc-border); margin: 20px 0; height: 0; }

/* ---------- Stepper ---------- */
.vsc .vsc-stepper { display: flex; align-items: center; gap: 8px; padding: 32px 0 24px; }
.vsc .vsc-stepper__arrow { width: 32px; height: 32px; display: grid; place-items: center; color: var(--vsc-text); flex: none; }
.vsc .vsc-stepper__arrow:disabled { opacity: .35; }
.vsc .vsc-stepper__list { flex: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid #232323; }
.vsc .vsc-step { display: flex; justify-content: center; }
.vsc .vsc-step__inner { display: flex; flex-direction: column; align-items: center; gap: 4px; padding-bottom: 8px; position: relative; color: #808080; font-size: 13px; line-height: 1.6; min-width: 100px; }
.vsc .vsc-step__inner::after { content: ""; position: absolute; inset-inline: 0; bottom: -2px; height: 3px; background: #494949; }
.vsc .vsc-step.is-current .vsc-step__inner, .vsc .vsc-step.is-done .vsc-step__inner { color: var(--vsc-gold); }
.vsc .vsc-step.is-current .vsc-step__inner::after, .vsc .vsc-step.is-done .vsc-step__inner::after { background: var(--vsc-gold); }
.vsc button.vsc-step__inner:hover .vsc-step__label { text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Notices ---------- */
.vsc .vsc-notices:not(:empty) { margin-bottom: 16px; display: grid; gap: 8px; }
.vsc .vsc-notice { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 1px solid var(--vsc-border); background: var(--vsc-card); border-inline-start: 3px solid var(--vsc-gold); font-size: 14px; animation: vsc-in .25s var(--vsc-ease); }
.vsc .vsc-notice--error { border-inline-start-color: var(--vsc-error); }
.vsc .vsc-notice--error > .vsc-icon { color: var(--vsc-error); }
.vsc .vsc-notice--success { border-inline-start-color: var(--vsc-success); }
.vsc .vsc-notice--success > .vsc-icon { color: var(--vsc-success); }
.vsc .vsc-notice--info > .vsc-icon { color: var(--vsc-gold); }
.vsc .vsc-notice__text { flex: 1; }
.vsc .vsc-notice__badge { width: 20px; height: 20px; flex: none; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 800; background: var(--vsc-gold); color: #101010; margin-top: 2px; }
.vsc .vsc-notice--error .vsc-notice__badge { background: var(--vsc-error); color: #fff; }
.vsc .vsc-notice--success .vsc-notice__badge { background: var(--vsc-success); color: #fff; }
.vsc .vsc-notice__text a { text-decoration: underline; }
.vsc .vsc-notice__close { color: var(--vsc-muted); padding: 2px; }
.vsc .vsc-notice__close:hover { color: var(--vsc-text); }
.vsc .vsc-inline-alert { display: flex; gap: 10px; align-items: flex-start; color: var(--vsc-muted); padding: 14px 16px; border: 1px dashed var(--vsc-border); }
.vsc .vsc-inline-alert .vsc-icon { color: var(--vsc-gold); margin-top: 3px; }

/* ---------- Buttons ---------- */
.vsc .vsc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 24px; font-size: 15px; font-weight: 700; border: 1px solid transparent; border-radius: var(--vsc-radius); transition: filter .15s, background-color .15s, border-color .15s, color .15s, transform .1s; text-decoration: none; white-space: nowrap; line-height: 1.4; }
.vsc .vsc-btn:hover { text-decoration: none; }
.vsc .vsc-btn:active:not(:disabled) { transform: translateY(1px); }
.vsc .vsc-btn--block { width: 100%; }
.vsc .vsc-btn--tall { min-height: 56px; }
.vsc .vsc-btn--primary { background: linear-gradient(90deg, var(--vsc-cta-from), var(--vsc-cta-to)); color: var(--vsc-cta-text); min-height: 56px; font-size: 16px; }
.vsc .vsc-btn--primary:hover:not(:disabled) { filter: brightness(1.07); color: var(--vsc-cta-text); }
.vsc .vsc-btn--outline { background: var(--vsc-gold-bg); border-color: var(--vsc-gold-dim); color: var(--vsc-gold); }
.vsc .vsc-btn--outline:hover:not(:disabled) { border-color: var(--vsc-gold); color: var(--vsc-gold); }
.vsc .vsc-btn--ghost { background: transparent; border-color: var(--vsc-border); color: var(--vsc-text); }
.vsc .vsc-btn--danger { background: var(--vsc-error); color: #fff; }
.vsc .vsc-btn:disabled, .vsc .vsc-btn.is-loading { opacity: .55; }
.vsc .vsc-btn.is-loading { position: relative; color: transparent !important; pointer-events: none; }
.vsc .vsc-btn.is-loading::after { content: ""; position: absolute; width: 20px; height: 20px; border-radius: 50%; border: 2px solid currentColor; border-color: var(--vsc-gold) transparent var(--vsc-gold) transparent; animation: vsc-spin .8s linear infinite; }
.vsc .vsc-btn--primary.is-loading::after { border-color: var(--vsc-cta-text) transparent var(--vsc-cta-text) transparent; }
.vsc .vsc-link { display: inline-flex; align-items: center; gap: 4px; color: var(--vsc-gold); font-size: 15px; font-weight: 500; }
.vsc .vsc-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.vsc .vsc-link--muted { color: var(--vsc-muted); font-size: 13px; }
.vsc .vsc-link:disabled { color: var(--vsc-muted); text-decoration: none; }
.vsc .vsc-badge { display: inline-block; font-size: 11px; font-weight: 500; line-height: 1.6; padding: 1px 8px; border: 1px solid var(--vsc-gold-dim); color: var(--vsc-gold); background: var(--vsc-gold-bg); }

/* ---------- Prices ---------- */
.vsc .vsc-price { white-space: nowrap; font-weight: 700; }
.vsc .vsc-price small { font-size: .78em; font-weight: 500; }
.vsc .vsc-price--lg { font-size: 20px; }
.vsc .vsc-free { color: var(--vsc-success); font-weight: 700; }

/* ---------- Cart items ---------- */
.vsc .vsc-items { display: grid; gap: 16px; }
.vsc .vsc-item { display: grid; grid-template-columns: 120px minmax(0, 1fr) 236px; gap: 24px; align-items: stretch; padding: 24px; }
.vsc .vsc-item__media { display: flex; align-items: center; justify-content: center; }
.vsc .vsc-item__media img, .vsc .vsc-item__img { width: 100%; max-height: 168px; object-fit: contain; display: block; }
.vsc .vsc-item__info { min-width: 0; padding-inline-end: 24px; border-inline-end: 1px solid var(--vsc-border); }
.vsc .vsc-item__title { font-size: 20px; font-weight: 800; line-height: 1.6; margin: 4px 0 16px; }
.vsc .vsc-item__title a { color: var(--vsc-text); }
.vsc .vsc-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--vsc-spec-border); max-width: 484px; }
.vsc .vsc-specs__col + .vsc-specs__col { border-inline-start: 1px solid var(--vsc-spec-border); }
.vsc .vsc-specs__row { display: flex; justify-content: space-between; gap: 8px; padding: 5px 18px; font-size: 12px; line-height: 1.7; }
.vsc .vsc-specs__row + .vsc-specs__row { border-top: 1px solid var(--vsc-spec-border); }
.vsc .vsc-specs__row dt { color: var(--vsc-muted); font-weight: 400; }
.vsc .vsc-specs__row dd { font-weight: 600; text-align: left; }
.vsc .vsc-item__buy { display: flex; flex-direction: column; justify-content: center; gap: 6px; }
.vsc .vsc-item__price-label { display: flex; align-items: center; gap: 8px; color: var(--vsc-muted); font-size: 13px; }
.vsc .vsc-live-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--vsc-gold); box-shadow: 0 0 0 3px rgba(249, 211, 118, .25); position: relative; flex: none; }
.vsc .vsc-live-dot::after { content: ""; position: absolute; inset: -3px; border-radius: 50%; border: 1px solid var(--vsc-gold); animation: vsc-ping 1.8s ease-out infinite; }
.vsc .vsc-item__price { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.5; }
.vsc .vsc-item__regular { color: var(--vsc-muted); font-size: 13px; }
.vsc .vsc-item__regular .vsc-price { font-weight: 400; }
.vsc .vsc-item__line-total { font-size: 12px; color: var(--vsc-muted); }
.vsc .vsc-qty { display: grid; grid-template-columns: 56px 1fr 56px; align-items: center; height: 48px; max-width: 180px; margin-top: 12px; border: 1px solid var(--vsc-gold); background: var(--vsc-gold-bg); color: var(--vsc-gold); }
.vsc .vsc-qty__btn { height: 100%; display: grid; place-items: center; color: var(--vsc-gold); transition: background-color .15s; }
.vsc .vsc-qty__btn:hover:not(:disabled) { background: rgba(249, 211, 118, .08); }
.vsc .vsc-qty__btn.is-trash { color: #f27171; }
.vsc .vsc-qty__btn:disabled { opacity: .35; }
.vsc .vsc-qty__val { text-align: center; font-size: 17px; font-weight: 700; color: var(--vsc-gold); }
.vsc .vsc-item.is-busy { opacity: .6; pointer-events: none; }

/* Empty */
.vsc .vsc-empty { text-align: center; padding: 56px 24px; display: grid; justify-items: center; gap: 12px; }
.vsc .vsc-empty__icon { color: var(--vsc-gold); }
.vsc .vsc-empty__title { font-size: 20px; font-weight: 800; }
.vsc .vsc-empty__text { color: var(--vsc-muted); }

/* ---------- Summary ---------- */
.vsc .vsc-summary { padding: 24px; }
.vsc .vsc-summary__rows { display: grid; }
.vsc .vsc-summary__row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 0; font-size: 12px; border-bottom: 1px solid var(--vsc-line); }
.vsc .vsc-summary__row:first-child { padding-top: 0; }
.vsc .vsc-summary__row dt { color: var(--vsc-muted); font-weight: 400; }
.vsc .vsc-summary__row dd { font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; gap: 6px; }
.vsc .vsc-summary__row.is-savings dt, .vsc .vsc-summary__row.is-savings dd { color: var(--vsc-gold); }
.vsc .vsc-summary__row.is-discount dd { color: var(--vsc-success); }
.vsc .vsc-summary__total { border-bottom: 0; padding-bottom: 0; }
.vsc .vsc-summary__total dd { font-size: 15px; }
.vsc .vsc-summary__remove { color: var(--vsc-muted); width: 18px; height: 18px; display: grid; place-items: center; border: 1px solid var(--vsc-border); }
.vsc .vsc-summary__remove:hover { color: var(--vsc-error); border-color: var(--vsc-error); }
.vsc .vsc-summary__hint { font-size: 12px; color: var(--vsc-muted); margin-top: 8px; }
.vsc .vsc-summary__cta { margin-top: 24px; }
.vsc .vsc-summary__note { color: var(--vsc-muted); font-size: 13px; line-height: 1.9; padding: 16px 6px 0; text-align: justify; }
.vsc .vsc-lock { display: flex; gap: 8px; align-items: center; margin-top: 16px; padding: 10px 12px; background: var(--vsc-gold-bg); color: var(--vsc-gold-text); font-size: 12px; line-height: 1.7; }
.vsc .vsc-lock .vsc-icon { color: var(--vsc-gold); }
.vsc .vsc-lock strong { color: var(--vsc-gold); font-variant-numeric: tabular-nums; }
.vsc .vsc-lock.is-expired { color: var(--vsc-muted); }
.vsc .vsc-support { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 16px; padding: 14px 16px; background: var(--vsc-gold-bg); border: 1px solid #3a3426; color: var(--vsc-text); font-size: 13px; }
.vsc .vsc-support:hover { text-decoration: none; border-color: var(--vsc-gold-dim); }
.vsc .vsc-support__label { display: inline-flex; gap: 6px; align-items: center; }
.vsc .vsc-support__num { color: var(--vsc-gold); font-size: 17px; font-weight: 800; }
.vsc .vsc-badges { display: flex; justify-content: space-around; align-items: center; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.vsc .vsc-badges > * + * { border-inline-start: 1px solid var(--vsc-border); padding-inline-start: 12px; }
.vsc .vsc-badges img { max-height: 80px; width: auto; }

/* ---------- Address card ---------- */
.vsc .vsc-address-card__line { display: flex; gap: 10px; align-items: flex-start; }
.vsc .vsc-address-card__pin { color: var(--vsc-text); margin-top: 3px; }
.vsc .vsc-address-card__text { font-size: 16px; line-height: 1.9; }
.vsc .vsc-address-card__recipient { color: var(--vsc-muted); font-size: 14px; padding-inline-start: 32px; margin-top: 4px; }
.vsc .vsc-dot { margin: 0 6px; }
.vsc .vsc-address-card__actions { display: flex; justify-content: flex-end; margin-top: 16px; }

/* ---------- Radio option cards ---------- */
.vsc .vsc-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.vsc .vsc-option { position: relative; display: flex; align-items: center; gap: 14px; min-height: 82px; padding: 14px 20px; border: 1px solid var(--vsc-option-border); background: transparent; cursor: pointer; transition: border-color .15s, background-color .15s; }
.vsc .vsc-option:hover { border-color: var(--vsc-gold-dim); }
.vsc .vsc-option.is-selected { border-color: var(--vsc-gold); background: var(--vsc-gold-bg); }
.vsc .vsc-option:focus-within { box-shadow: var(--vsc-focus); }
.vsc .vsc-option__logo { width: 52px; height: 52px; flex: none; display: grid; place-items: center; color: var(--vsc-gold); }
.vsc .vsc-option__logo img { max-width: 52px; max-height: 52px; object-fit: contain; }
.vsc .vsc-option__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.vsc .vsc-option__title { font-size: 16px; font-weight: 700; line-height: 1.6; }
.vsc .vsc-option__sub { font-size: 13px; color: var(--vsc-muted); line-height: 1.7; }
.vsc .vsc-option.is-selected .vsc-option__title { color: var(--vsc-gold); }
.vsc .vsc-option.is-selected .vsc-option__sub { color: var(--vsc-gold-text); }

.vsc .vsc-radio { width: 20px; height: 20px; flex: none; border-radius: 50%; border: 1.5px solid #d9d9d9; display: grid; place-items: center; transition: border-color .15s; }
.vsc .vsc-radio::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--vsc-gold); transform: scale(0); transition: transform .15s var(--vsc-ease); }
.vsc .is-selected > .vsc-radio, .vsc .vsc-sr-input:checked ~ .vsc-radio { border-color: var(--vsc-gold); }
.vsc .is-selected > .vsc-radio::after, .vsc .vsc-sr-input:checked ~ .vsc-radio::after { transform: scale(1); }

.vsc .vsc-shipcost { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--vsc-line); font-size: 13px; }
.vsc .vsc-shipcost__label { color: var(--vsc-muted); }
.vsc .vsc-shipcost__old { color: #6f6f6f; }
.vsc .vsc-shipcost__old .vsc-price { font-weight: 400; }
.vsc .vsc-shipcost__val { font-size: 14px; }

/* ---------- Delivery days & slots ---------- */
.vsc .vsc-days { display: flex; gap: 16px; overflow-x: auto; padding: 2px 2px 8px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.vsc .vsc-day { flex: 0 0 90px; height: 98px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; border: 1px solid var(--vsc-option-border); cursor: pointer; scroll-snap-align: start; transition: border-color .15s, background-color .15s; }
.vsc .vsc-day:hover { border-color: var(--vsc-gold-dim); }
.vsc .vsc-day.is-selected { border-color: var(--vsc-gold); background: var(--vsc-gold-bg); color: var(--vsc-gold); }
.vsc .vsc-day:focus-within { box-shadow: var(--vsc-focus); }
.vsc .vsc-day__wd { font-size: 15px; line-height: 1.6; }
.vsc .vsc-day__num { font-size: 22px; font-weight: 800; line-height: 1.4; }
.vsc .vsc-day__month { font-size: 14px; line-height: 1.6; }
.vsc .vsc-slot-list { margin-top: 8px; }
.vsc .vsc-slot { display: flex; align-items: center; gap: 12px; padding: 20px 4px; font-size: 16px; border-bottom: 1px solid #232323; cursor: pointer; }
.vsc .vsc-slot:focus-within { box-shadow: var(--vsc-focus); }
.vsc .vsc-slot.is-selected .vsc-slot__label { color: var(--vsc-gold); }
.vsc .vsc-slot.is-disabled { cursor: not-allowed; color: #5f5f5f; }
.vsc .vsc-slot.is-disabled .vsc-radio { border-color: #4a4a4a; }
.vsc .vsc-slot__note { font-size: 12px; margin-inline-start: auto; color: var(--vsc-muted); }
.vsc .vsc-slots .vsc-shipcost { border-top: 0; justify-content: flex-start; }

/* ---------- Forms ---------- */
.vsc .vsc-form > * + * { margin-top: 16px; }
.vsc .vsc-field { display: grid; gap: 6px; }
.vsc .vsc-field__label { font-size: 13px; font-weight: 700; color: var(--vsc-text); }
.vsc .vsc-req { color: var(--vsc-error); margin-inline-start: 2px; }
.vsc .vsc-optional { color: var(--vsc-muted); font-weight: 400; font-size: 12px; }
.vsc .vsc-input { width: 100%; height: 46px; padding: 0 14px; background: var(--vsc-field); color: var(--vsc-text); border: 1px solid var(--vsc-field-border); border-radius: var(--vsc-radius); font-size: 15px; transition: border-color .15s, box-shadow .15s; box-shadow: none; appearance: none; -webkit-appearance: none; }
.vsc .vsc-input::placeholder { color: #6e6e6e; opacity: 1; }
.vsc .vsc-input:focus { border-color: var(--vsc-gold); box-shadow: 0 0 0 3px rgba(249, 211, 118, .15); }
.vsc .vsc-input:disabled, .vsc .vsc-input[readonly] { background: #2f2f2f; color: #a8a8a8; border-color: #3d3d3d; }
.vsc .vsc-input--ltr { direction: ltr; text-align: left; }
.vsc .vsc-input--ltr::placeholder { text-align: right; direction: rtl; }
.vsc .vsc-input--xl { height: 54px; font-size: 18px; letter-spacing: .5px; }
.vsc .vsc-input--code { text-align: center; letter-spacing: 12px; font-size: 24px; font-weight: 700; }
.vsc .vsc-input--code::placeholder { letter-spacing: 0; text-align: center; }
.vsc .vsc-textarea { height: auto; min-height: 114px; padding: 12px 14px; resize: vertical; line-height: 1.8; }
.vsc .vsc-field.has-error .vsc-input { border-color: var(--vsc-error); }
.vsc .vsc-field__error { color: #ff8a8a; font-size: 12px; min-height: 0; }
.vsc .vsc-field__error:empty { display: none; }
.vsc .vsc-field__hint { color: var(--vsc-muted); font-size: 12px; }
.vsc .vsc-field__foot { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; }
.vsc .vsc-field__count { font-size: 11px; color: var(--vsc-muted); margin-inline-start: auto; font-variant-numeric: tabular-nums; }
.vsc .vsc-field__msg { font-size: 13px; min-height: 0; }
.vsc .vsc-field__msg:empty { display: none; }
.vsc .vsc-field__msg.is-ok { color: var(--vsc-success); }
.vsc .vsc-field__msg.is-err, .vsc .vsc-field__msg--warn { color: #ffb36b; }
.vsc .vsc-form__error { color: #ff8a8a; font-size: 13px; }
.vsc .vsc-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.vsc .vsc-select { position: relative; }
.vsc .vsc-select select { padding-inline-end: 14px; padding-inline-start: 40px; cursor: pointer; }
.vsc .vsc-select select option { background: var(--vsc-modal); color: var(--vsc-text); }
.vsc .vsc-select__icon { position: absolute; inset-inline-start: 14px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--vsc-muted); }
.vsc .vsc-combo { position: relative; }
.vsc .vsc-combo .vsc-input { padding-inline-start: 40px; }
.vsc .vsc-combo__toggle { position: absolute; inset-inline-start: 6px; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; display: grid; place-items: center; color: var(--vsc-muted); }
.vsc .vsc-combo__list { position: absolute; z-index: 5; inset-inline: 0; top: calc(100% + 4px); max-height: 220px; overflow: auto; background: var(--vsc-modal); border: 1px solid var(--vsc-field-border); box-shadow: 0 12px 30px rgba(0, 0, 0, .5); }
.vsc .vsc-combo__list li { padding: 9px 14px; cursor: pointer; font-size: 14px; }
.vsc .vsc-combo__list li[aria-selected="true"], .vsc .vsc-combo__list li:hover { background: var(--vsc-gold-bg); color: var(--vsc-gold); }

.vsc .vsc-check { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: 14px; position: relative; }
.vsc .vsc-check--lg { font-size: 16px; font-weight: 500; }
.vsc .vsc-check__input { position: absolute; opacity: 0; width: 20px; height: 20px; margin: 0; }
.vsc .vsc-check__box { width: 20px; height: 20px; flex: none; border: 1.5px solid var(--vsc-option-border); display: grid; place-items: center; color: transparent; transition: background-color .15s, border-color .15s; border-radius: 3px; }
.vsc .vsc-check__input:checked + .vsc-check__box { background: var(--vsc-toggle); border-color: var(--vsc-toggle); color: #fff; }
.vsc .vsc-check__input:focus-visible + .vsc-check__box { box-shadow: var(--vsc-focus); }

/* Switch (wallet) */
.vsc .vsc-switch { display: inline-flex; gap: 12px; align-items: center; cursor: pointer; }
.vsc .vsc-switch__track { width: 36px; height: 20px; border-radius: 20px; background: #4a4a4a; position: relative; flex: none; transition: background-color .2s; }
.vsc .vsc-switch__track::after { content: ""; position: absolute; top: 3px; inset-inline-start: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: transform .2s var(--vsc-ease); }
.vsc .vsc-sr-input:checked + .vsc-switch__track { background: var(--vsc-toggle); }
.vsc .vsc-sr-input:checked + .vsc-switch__track::after { transform: translateX(-16px); }
.vsc .vsc-wallet__row { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.vsc .vsc-wallet__text { font-size: 14px; }
.vsc .vsc-wallet__balance { min-width: 250px; padding: 14px 20px; background: var(--vsc-gold-bg); display: grid; justify-items: center; font-size: 13px; color: var(--vsc-muted); }
.vsc .vsc-wallet__balance strong { color: var(--vsc-text); }

/* Accordions (coupon / gift card) */
.vsc .vsc-acc { padding: 0; }
.vsc .vsc-acc__head { width: 100%; display: flex; align-items: center; gap: 6px; padding: 24px; font-size: 14px; text-align: right; }
.vsc .vsc-acc__head .vsc-link { font-weight: 700; }
.vsc .vsc-acc__body { padding: 0 24px 24px; display: grid; gap: 10px; }
.vsc .vsc-acc.is-open .vsc-acc__head { padding-bottom: 12px; }
.vsc .vsc-code-row { display: flex; gap: 10px; }
.vsc .vsc-input-wrap { position: relative; flex: 1; }
.vsc .vsc-input-wrap .vsc-input { height: 44px; padding-inline-start: 40px; }
.vsc .vsc-input-clear { position: absolute; inset-inline-start: 10px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; border-radius: 50%; background: #3a3a3a; color: #fff; font-size: 14px; line-height: 20px; text-align: center; }
.vsc .vsc-code-row .vsc-btn { min-height: 44px; min-width: 160px; font-size: 14px; }
.vsc .vsc-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.vsc .vsc-chip { display: inline-flex; gap: 6px; align-items: center; padding: 4px 10px; border: 1px dashed var(--vsc-gold-dim); color: var(--vsc-gold); font-size: 13px; font-weight: 700; }
.vsc .vsc-chip button { color: var(--vsc-muted); display: grid; place-items: center; }
.vsc .vsc-chip button:hover { color: var(--vsc-error); }
.vsc .vsc-terms { padding: 4px 4px 0; }
.vsc .vsc-gw-fields { margin-top: 16px; padding: 16px; border: 1px dashed var(--vsc-border); font-size: 13px; }

/* ---------- Trust bar ---------- */
.vsc .vsc-trust { position: relative; margin-top: 40px; background: #1d1c1c; border: 1px solid #3a3a3a; overflow: hidden; }
.vsc .vsc-trust::before { content: ""; position: absolute; top: -1px; left: 50%; width: 46%; height: 70px; transform: translateX(-50%); background: radial-gradient(ellipse at top, rgba(255, 128, 64, .45), rgba(255, 128, 64, .08) 45%, transparent 70%); pointer-events: none; }
.vsc .vsc-trust::after { content: ""; position: absolute; bottom: -1px; left: 50%; width: 70%; height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, #c9a24b, transparent); }
.vsc .vsc-trust__list { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 32px 24px; }
.vsc .vsc-trust__item { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 0 12px; }
.vsc .vsc-trust__item + .vsc-trust__item { border-inline-start: 1px solid #3a3a3a; }
.vsc .vsc-trust__icon { color: #e5e5e5; }
.vsc .vsc-trust__text { display: flex; flex-direction: column; line-height: 1.6; }
.vsc .vsc-trust__title, .vsc .vsc-trust__sub { font-size: 15px; }
.vsc .vsc-trust__sub em { font-style: normal; color: var(--vsc-gold); }

/* ---------- Mobile bar ---------- */
.vsc .vsc-mobilebar-wrap { display: none; }

/* ---------- Modals ---------- */
.vsc-modal { position: fixed; inset: 0; z-index: 99990; display: flex; align-items: center; justify-content: center; padding: 24px 16px; }
.vsc-modal[hidden] { display: none !important; }
.vsc .vsc-modal__backdrop, .vsc-modal .vsc-modal__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .78); animation: vsc-fade .2s ease; }
.vsc .vsc-modal__dialog { position: relative; width: 100%; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); overflow: auto; background: var(--vsc-modal); border-radius: var(--vsc-radius); box-shadow: 0 30px 80px rgba(0, 0, 0, .6); animation: vsc-pop .22s var(--vsc-ease); overscroll-behavior: contain; }
.vsc .vsc-modal__dialog--xs { max-width: 440px; }
.vsc .vsc-modal__dialog--sm { max-width: 518px; }
.vsc .vsc-modal__dialog--lg { max-width: 794px; }
.vsc .vsc-modal__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin: 0 40px; padding: 40px 0 16px; border-bottom: 1px solid #3a3a3a; }
.vsc .vsc-modal__head-start { display: flex; align-items: center; gap: 6px; }
.vsc .vsc-modal__title { font-size: 17px; font-weight: 800; line-height: 1.6; }
.vsc .vsc-modal__sub { font-size: 12px; color: #a8a8a8; margin-top: 2px; }
.vsc .vsc-modal__close, .vsc .vsc-modal__back { width: 32px; height: 32px; display: grid; place-items: center; color: #cfcfcf; flex: none; }
.vsc .vsc-modal__close:hover, .vsc .vsc-modal__back:hover { color: var(--vsc-text); }
.vsc .vsc-modal__body { padding: 16px 40px 40px; }
.vsc .vsc-modal__foot { margin: 0 40px; padding: 16px 0 40px; border-top: 1px solid #3a3a3a; }
.vsc .vsc-confirm__text { font-size: 16px; padding: 16px 0 24px; text-align: center; }
.vsc .vsc-confirm__actions { display: flex; gap: 12px; justify-content: center; }
.vsc-modal-open { overflow: hidden !important; }

/* Address list */
.vsc .vsc-addr-add { min-height: 58px; margin-bottom: 16px; }
.vsc .vsc-addr-list { display: grid; gap: 16px; border-top: 1px solid #3a3a3a; padding-top: 16px; }
.vsc .vsc-addr { border: 2px solid var(--vsc-option-border); padding: 16px 20px; transition: border-color .15s, background-color .15s; }
.vsc .vsc-addr.is-selected { border-color: var(--vsc-gold); background: var(--vsc-gold-bg); }
.vsc .vsc-addr:focus-within { box-shadow: var(--vsc-focus); }
.vsc .vsc-addr__main { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.vsc .vsc-addr__main .vsc-radio { margin-top: 5px; }
.vsc .vsc-addr__text { font-size: 15px; line-height: 1.75; }
.vsc .vsc-addr__meta { display: grid; gap: 10px; margin: 12px 30px 0 0; }
.vsc .vsc-addr__meta li { display: flex; gap: 8px; align-items: center; font-size: 14px; color: var(--vsc-muted); }
.vsc .vsc-addr.is-selected .vsc-addr__meta li { color: var(--vsc-gold-text); }
.vsc .vsc-addr__actions { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; }

/* Map */
.vsc .vsc-map-body { padding-top: 16px; padding-bottom: 16px; }
.vsc .vsc-map { position: relative; height: 392px; background: #2b2b30; overflow: hidden; }
.vsc .vsc-map__canvas { position: absolute; inset: 0; }
.vsc .vsc-map__canvas .maplibregl-canvas { outline: none; }
.vsc .vsc-map__pin { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -100%); pointer-events: none; z-index: 3; filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .5)); transition: transform .15s var(--vsc-ease); }
.vsc .vsc-map.is-moving .vsc-map__pin { transform: translate(-50%, calc(-100% - 10px)); }
.vsc .vsc-map__search { position: absolute; z-index: 4; top: 14px; left: 50%; transform: translateX(-50%); width: min(436px, calc(100% - 28px)); }
.vsc .vsc-map__input { width: 100%; height: 44px; padding: 0 16px 0 48px; background: #101010; color: var(--vsc-text); border: 1px solid #2a2a2a; font-size: 15px; box-shadow: 0 8px 24px rgba(0, 0, 0, .4); appearance: none; -webkit-appearance: none; }
.vsc .vsc-map__input:focus { border-color: var(--vsc-gold); }
.vsc .vsc-map__input::placeholder { color: #8c8c8c; }
.vsc .vsc-map__search-icon { position: absolute; left: 14px; top: 22px; transform: translateY(-50%); color: var(--vsc-gold); pointer-events: none; }
.vsc .vsc-map__input::-webkit-search-cancel-button, .vsc .vsc-map__input::-webkit-search-decoration { -webkit-appearance: none; appearance: none; }
.vsc .vsc-map__results { margin-top: 4px; background: #101010; border: 1px solid #2a2a2a; max-height: 240px; overflow: auto; }
.vsc .vsc-map__results li { padding: 10px 14px; cursor: pointer; border-bottom: 1px solid #1f1f1f; }
.vsc .vsc-map__results li:last-child { border-bottom: 0; }
.vsc .vsc-map__results li[aria-selected="true"], .vsc .vsc-map__results li:hover { background: var(--vsc-gold-bg); }
.vsc .vsc-map__results strong { display: block; font-size: 14px; }
.vsc .vsc-map__results span { display: block; font-size: 12px; color: var(--vsc-muted); }
.vsc .vsc-map__locate { position: absolute; z-index: 4; bottom: 40px; right: 14px; width: 44px; height: 44px; display: grid; place-items: center; background: #101010; color: var(--vsc-gold); border: 1px solid #2a2a2a; }
.vsc .vsc-map__status { position: absolute; z-index: 4; inset: auto 14px 40px 70px; padding: 8px 12px; background: rgba(16, 16, 16, .92); font-size: 13px; color: var(--vsc-text); border-inline-start: 3px solid var(--vsc-gold); }
.vsc .vsc-map.is-fallback .vsc-map__pin, .vsc .vsc-map.is-fallback .vsc-map__locate, .vsc .vsc-map.is-fallback .vsc-map__search { display: none; }
.vsc .vsc-map-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.vsc .vsc-map-foot__text { font-size: 14px; }
.vsc .vsc-map-foot__actions { display: flex; align-items: center; gap: 16px; }
.vsc .vsc-map-foot .vsc-btn { min-height: 58px; min-width: 172px; }

/* OTP */
.vsc .vsc-otp__step { display: grid; gap: 16px; }
.vsc .vsc-otp__lead { font-size: 14px; color: #cfcfcf; line-height: 1.9; }
.vsc .vsc-otp__lead .vsc-link { font-size: 13px; margin-inline-start: 6px; }
.vsc .vsc-otp__mobile { color: var(--vsc-gold); font-weight: 700; direction: ltr; }
.vsc .vsc-otp__terms { font-size: 12px; color: var(--vsc-muted); text-align: center; }
.vsc .vsc-otp__resend { text-align: center; font-size: 13px; }
.vsc .vsc-otp__resend .vsc-link { font-size: 13px; }
.vsc-login-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 6px 28px; border: 1px solid currentColor; color: #fff; background: transparent; font: inherit; font-size: 14px; cursor: pointer; text-decoration: none; }
.vsc-login-btn:hover { color: var(--vsc-gold); text-decoration: none; }
.vsc-login-inline { max-width: 460px; margin: 24px auto; }
.vsc-login-inline .vsc-login-inline__card { padding: 32px; }
.vsc-login-inline .vsc-modal__title { margin-bottom: 16px; }

/* ---------- Result pages ---------- */
.vsc .vsc-result__grid { display: grid; grid-template-columns: minmax(0, 1fr) 305px; gap: 16px; align-items: stretch; margin-top: 24px; }
.vsc .vsc-result__main { display: grid; grid-template-columns: minmax(0, 384px) 1px minmax(0, 1fr); gap: 32px; align-items: center; padding: 24px; }
.vsc .vsc-result__divider { align-self: stretch; background: var(--vsc-border); width: 1px; }
.vsc .vsc-result__status { display: grid; gap: 24px; }
.vsc .vsc-result__head { display: flex; gap: 14px; align-items: center; }
.vsc .vsc-result__icon { width: 42px; height: 42px; border-radius: 8px; display: grid; place-items: center; color: #fff; flex: none; }
.vsc .vsc-result__icon--ok { background: var(--vsc-success); }
.vsc .vsc-result__icon--err { background: var(--vsc-error); border-radius: 10px; }
.vsc .vsc-result__title { font-size: 22px; font-weight: 800; line-height: 1.5; }
.vsc .vsc-result__title--ok { color: var(--vsc-success); }
.vsc .vsc-result__title--err { color: #ff8a8a; }
.vsc .vsc-result__sub { color: var(--vsc-muted); font-size: 14px; margin-top: 2px; }
.vsc .vsc-result__timer { color: var(--vsc-text); font-variant-numeric: tabular-nums; }
.vsc .vsc-result__actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 16px; }
.vsc .vsc-result__gateways { grid-template-columns: 1fr; gap: 12px; }
.vsc .vsc-result__note { color: #cfcfcf; font-size: 14px; line-height: 2; }
.vsc .vsc-result__side { padding: 24px; }
.vsc .vsc-result__side-title { font-size: 14px; font-weight: 800; margin-bottom: 20px; }
.vsc .vsc-result__extra { margin-top: 16px; color: #cfcfcf; font-size: 14px; }
.vsc .vsc-facts { display: grid; gap: 14px; }
.vsc .vsc-facts__row { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }
.vsc .vsc-facts__row dt { color: var(--vsc-muted); font-weight: 400; }
.vsc .vsc-facts__row dd { font-weight: 700; text-align: left; }
.vsc .vsc-facts--side { gap: 22px; }

/* Order-pay (gateway receipt) */
.vsc-orderpay .vsc-orderpay__card { margin-top: 32px; }
.vsc-orderpay table { width: 100%; border-collapse: collapse; color: var(--vsc-text); }
.vsc-orderpay th, .vsc-orderpay td { padding: 10px 12px; border-bottom: 1px solid var(--vsc-border); text-align: right; }
.vsc-orderpay .button, .vsc-orderpay button[type=submit], .vsc-orderpay input[type=submit] { background: linear-gradient(90deg, var(--vsc-cta-from), var(--vsc-cta-to)); color: var(--vsc-cta-text); border: 0; padding: 14px 28px; font-weight: 700; cursor: pointer; }

/* ---------- Animations ---------- */
@keyframes vsc-spin { to { transform: rotate(360deg); } }
@keyframes vsc-ping { 0% { transform: scale(.8); opacity: .9; } 80%, 100% { transform: scale(2.2); opacity: 0; } }
@keyframes vsc-fade { from { opacity: 0; } }
@keyframes vsc-pop { from { opacity: 0; transform: translateY(12px) scale(.98); } }
@keyframes vsc-in { from { opacity: 0; transform: translateY(-4px); } }
@keyframes vsc-sheet { from { transform: translateY(100%); } }
.vsc .vsc-region-busy { opacity: .55; transition: opacity .15s; pointer-events: none; }

@media (prefers-reduced-motion: reduce) {
	.vsc *, .vsc *::before, .vsc *::after, .vsc-modal * { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* ---------- Responsive ----------
 * Component layout uses container queries (works inside narrow Elementor columns too);
 * viewport media queries are used only for fixed UI (sticky bar, bottom sheets).
 */
.vsc .vsc-container { container-type: inline-size; container-name: vsc; }
.vsc .vsc-trust { container-type: inline-size; container-name: vsctrust; }

@container vsc (max-width: 1199px) {
	.vsc .vsc-item { grid-template-columns: 100px minmax(0, 1fr) 210px; gap: 20px; }
	.vsc .vsc-layout { grid-template-columns: minmax(0, 1fr) 290px; }
	.vsc .vsc-result__main { grid-template-columns: 1fr; gap: 24px; }
	.vsc .vsc-result__divider { width: auto; height: 1px; }

}

@container vsc (max-width: 991px) {
	.vsc .vsc-layout { grid-template-columns: 1fr; grid-template-areas: "stepper" "main" "side"; }
	.vsc .vsc-layout__side { position: static; margin-top: 16px; }
	.vsc .vsc-result__grid { grid-template-columns: 1fr; }
	.vsc .vsc-item { grid-template-columns: 96px minmax(0, 1fr); }
	.vsc .vsc-item__info { border-inline-end: 0; padding-inline-end: 0; }
	.vsc .vsc-item__buy { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto; align-items: end; border-top: 1px solid var(--vsc-border); padding-top: 16px; }
	.vsc .vsc-item__price-label, .vsc .vsc-item__price, .vsc .vsc-item__line-total { grid-column: 1; }
	.vsc .vsc-item__buy .vsc-qty { grid-column: 2; grid-row: 1 / span 3; margin: 0; width: 160px; }

}

@container vsc (max-width: 720px) {
	.vsc .vsc-breadcrumb { padding-top: 16px; font-size: 13px; }
	.vsc .vsc-stepper { padding: 16px 0; gap: 0; }
	.vsc .vsc-stepper__arrow { display: none; }
	.vsc .vsc-step__inner { min-width: 0; width: 100%; font-size: 11px; padding-inline: 2px; text-align: center; }
	.vsc .vsc-step__inner .vsc-icon { width: 20px; height: 20px; }
	.vsc .vsc-card { padding: 16px; }
	.vsc .vsc-acc { padding: 0; }
	.vsc .vsc-acc__head { padding: 16px; }
	.vsc .vsc-acc__body { padding: 0 16px 16px; }
	.vsc .vsc-item { padding: 16px; gap: 14px; grid-template-columns: 76px minmax(0, 1fr); }
	.vsc .vsc-item__title { font-size: 16px; margin: 0 0 10px; }
	.vsc .vsc-specs { grid-template-columns: 1fr; }
	.vsc .vsc-specs__col + .vsc-specs__col { border-inline-start: 0; border-top: 1px solid var(--vsc-spec-border); }
	.vsc .vsc-specs__row { padding: 4px 10px; }
	.vsc .vsc-item__buy .vsc-qty { width: 136px; grid-template-columns: 44px 1fr 44px; height: 44px; }
	.vsc .vsc-price--lg { font-size: 17px; }
	.vsc .vsc-options { grid-template-columns: 1fr; gap: 12px; }
	.vsc .vsc-option { min-height: 72px; padding: 12px 14px; }
	.vsc .vsc-days { gap: 10px; }
	.vsc .vsc-day { flex-basis: 78px; height: 88px; }
	.vsc .vsc-slot { padding: 16px 4px; font-size: 15px; }
	.vsc .vsc-code-row { flex-direction: column; }
	.vsc .vsc-code-row .vsc-btn { width: 100%; }
	.vsc .vsc-wallet__balance { width: 100%; min-width: 0; }
	.vsc .vsc-trust { margin-top: 24px; }
	.vsc .vsc-result__actions { grid-template-columns: 1fr; }
	.vsc .vsc-address-card__recipient { padding-inline-start: 0; }

}

@container vsctrust (max-width: 820px) {
	.vsc .vsc-trust__list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 24px; padding: 24px 12px; }
	.vsc .vsc-trust__item:nth-child(3) { border-inline-start: 0; }

}
@container vsctrust (max-width: 520px) {
	.vsc .vsc-trust__item { flex-direction: column; text-align: center; gap: 6px; }
	.vsc .vsc-trust__icon .vsc-icon { width: 34px; height: 34px; }
	.vsc .vsc-trust__title, .vsc .vsc-trust__sub { font-size: 13px; }

}

@media (max-width: 767px) {
	.vsc-app { padding-bottom: 104px; }
	.vsc .vsc-summary .vsc-summary__cta { display: none; }
	.vsc .vsc-mobilebar-wrap { display: block; }
	.vsc .vsc-mobilebar { position: fixed; z-index: 9990; inset-inline: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: rgba(26, 26, 26, .97); border-top: 1px solid var(--vsc-border); box-shadow: 0 -10px 30px rgba(0, 0, 0, .45); backdrop-filter: blur(8px); }
	.vsc .vsc-mobilebar__total { display: flex; flex-direction: column; align-items: flex-end; text-align: left; line-height: 1.5; }
	.vsc .vsc-mobilebar__total span { font-size: 12px; color: var(--vsc-muted); }
	.vsc .vsc-mobilebar__total strong { font-size: 16px; }
	.vsc .vsc-mobilebar .vsc-btn { min-height: 50px; padding: 0 18px; font-size: 15px; flex: 0 1 auto; max-width: 62%; overflow: hidden; text-overflow: ellipsis; }
	body.vsc-modal-open .vsc-mobilebar { display: none; }
	.vsc .vsc-days { margin-inline: -16px; padding-inline: 16px; }

	/* Bottom sheets */
	.vsc-modal { align-items: flex-end; padding: 0; }
	.vsc .vsc-modal__dialog { max-width: none !important; max-height: 94vh; max-height: 94dvh; border-radius: 14px 14px 0 0; animation: vsc-sheet .26s var(--vsc-ease); padding-bottom: env(safe-area-inset-bottom); }
	.vsc .vsc-modal__dialog::before { content: ""; display: block; width: 44px; height: 4px; border-radius: 4px; background: #555; margin: 10px auto 0; }
	.vsc .vsc-modal__head { margin: 0 16px; padding: 14px 0 12px; }
	.vsc .vsc-modal__body { padding: 16px; }
	.vsc .vsc-modal__foot { margin: 0 16px; padding: 12px 0 16px; }
	.vsc .vsc-map { height: 52vh; height: 52dvh; }
	.vsc .vsc-map-foot { flex-direction: column; align-items: stretch; }
	.vsc .vsc-map-foot__actions { justify-content: space-between; }
	.vsc .vsc-map-foot .vsc-btn { min-height: 52px; flex: 1; }
	.vsc .vsc-grid-2 { gap: 12px; }
	.vsc .vsc-addr { padding: 14px; }
}

@media (max-width: 380px) {
	.vsc .vsc-grid-2 { grid-template-columns: 1fr; }
}
.vsc .vsc-field.has-error .vsc-field__hint { display: none; }
