/* Vigilante Studio theme styles: everything the ported page CSS does not cover.
   Tokens come from theme.json (--wp--preset--color--*); hex fallbacks keep the ported pages
   correct even if global styles are not printed. */

:root {
  --vs-gold: var(--wp--preset--color--gold, #9A8860);
  --vs-gold-bright: var(--wp--preset--color--gold-bright, #C3AA76);
  --vs-gold-deep: var(--wp--preset--color--gold-deep, #7A6A42);
  --vs-ink: var(--wp--preset--color--ink, #0B0A09);
  --vs-ink-2: var(--wp--preset--color--ink-2, #131110);
  --vs-ink-4: var(--wp--preset--color--ink-4, #191614);
  --vs-paper: var(--wp--preset--color--paper, #F2EEE6);
  --vs-paper-2: var(--wp--preset--color--paper-2, #EBE5D8);
  --vs-paper-4: var(--wp--preset--color--paper-4, #FBF9F4);
  --vs-line-light: var(--wp--preset--color--line-light, #DCD3C0);
  --vs-line-light-2: var(--wp--preset--color--line-light-2, #CFC4AC);
  --vs-text-light: var(--wp--preset--color--text-light, #EFEBE4);
  --vs-text-light-2: var(--wp--preset--color--text-light-2, #CFCAC2);
  --vs-text-muted: var(--wp--preset--color--text-muted, #8F887D);
  --vs-text-dark-2: var(--wp--preset--color--text-dark-2, #4A443C);
  --vs-error: var(--wp--preset--color--error, #9B3A26);
  --vs-serif: 'Playfair Display', Georgia, serif;
  --vs-sans: Montserrat, Helvetica, Arial, sans-serif;
  --vs-gutter: clamp(20px, 5vw, 60px);
  --vs-dots: radial-gradient(circle, rgba(122,106,66,0.11) 1.1px, transparent 1.2px);
}

/* ---- Header behaviour ---- */
.vs-nav-link[aria-current="page"] { color: #C3AA76; }
#vs-menu-panel[hidden], #vs-menu-additional[hidden] { display: none !important; }
.vs-chevron { transition: transform 0.2s ease; }
[data-vs-additional-toggle][aria-expanded="true"] .vs-chevron { transform: rotate(180deg); }
html.vs-menu-open { overflow: hidden; }
.vs-cart-count[hidden] { display: none; }
.wp-site-blocks > header, .wp-site-blocks > footer { display: contents; }

/* ---- Shared layout for editor pages, WooCommerce pages, 404, search ---- */
.vs-container { max-width: 1180px; margin: 0 auto; padding: 0 var(--vs-gutter); }
.vs-generic-hero { position: relative; overflow: hidden; background: var(--vs-ink); color: var(--vs-text-light); }
.vs-generic-hero__photo { position: absolute; inset: 0; background: url(../img/bg-contact-2.jpg) center 40% / cover no-repeat; filter: saturate(0.5) sepia(0.35) brightness(0.8) contrast(1.05); }
.vs-generic-hero__shade { position: absolute; inset: 0; background-image: linear-gradient(90deg, rgba(11,10,9,0.95) 0%, rgba(11,10,9,0.86) 42%, rgba(11,10,9,0.42) 100%), linear-gradient(180deg, rgba(11,10,9,0.8) 0%, rgba(11,10,9,0) 26%, rgba(11,10,9,0) 72%, #0B0A09 100%); }
.vs-generic-hero__inner { position: relative; z-index: 2; }
.vs-generic-hero__title { display: flex; flex-direction: column; align-items: center; text-align: center; padding: clamp(32px, 4.4vw, 56px) 0 clamp(32px, 4.4vw, 52px); }
.vs-generic-hero__title h1 { font-family: var(--vs-serif); font-size: clamp(28px, 3.6vw, 46px); text-transform: uppercase; letter-spacing: 0.01em; line-height: 1.05; font-weight: 400; color: #fff; max-width: 20ch; text-wrap: balance; }
.vs-generic-hero__rule { display: block; width: clamp(120px, 20vw, 220px); height: 4px; margin-top: clamp(20px, 2.6vw, 28px); background: var(--vs-gold); }
.vs-generic-body { background-color: var(--vs-paper); color: var(--vs-ink-4); background-image: var(--vs-dots); background-size: 7px 7px; }
.vs-generic-body > .vs-container { padding-top: clamp(40px, 6vw, 80px); padding-bottom: clamp(48px, 7vw, 96px); }
.vs-generic-footer { background: var(--vs-ink-2); color: var(--vs-text-light); }

/* ---- Prose (editor content, Terms, Privacy, posts without a ported pattern) ---- */
.vs-prose { max-width: 74ch; }
.vs-prose > * + * { margin-top: 1.1em; }
.vs-prose h2, .vs-prose h3, .vs-prose h4 { font-family: var(--vs-serif); font-weight: 400; line-height: 1.16; text-transform: uppercase; letter-spacing: 0.015em; color: var(--vs-ink-4); }
.vs-prose h2 { font-size: clamp(24px, 2.8vw, 34px); margin-top: 1.6em; }
.vs-prose h3 { font-size: clamp(20px, 2.1vw, 24px); margin-top: 1.4em; }
.vs-prose p, .vs-prose li { font-size: clamp(16px, 1.5vw, 17px); line-height: 1.75; color: var(--vs-text-dark-2); }
.vs-prose ul, .vs-prose ol { padding-left: 1.3em; }
.vs-prose ul { list-style: disc; }
.vs-prose ol { list-style: decimal; }
.vs-prose a { color: var(--vs-ink-4); border-bottom: 1px solid var(--vs-gold); }
.vs-prose a:hover { color: var(--vs-gold-deep); }
.vs-prose img { height: auto; }
.vs-search-results li + li { margin-top: 1.4em; }
.vs-search-results a { font-family: var(--vs-serif); font-size: 22px; color: var(--vs-ink-4); }

/* ---- Buttons and links reused outside the ported pages ---- */
.vs-btn, .woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page .button, .vs-generic-body .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 16px 34px;
  background: var(--vs-gold); color: var(--vs-ink); font-family: var(--vs-sans); font-size: 17px; font-weight: 500;
  letter-spacing: 0.02em; line-height: 1.3; border: 0; border-radius: 0; cursor: pointer; text-align: center;
  transition: background 200ms ease;
}
.vs-btn:hover, .woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover,
.woocommerce input.button:hover, .woocommerce-page .button:hover { background: var(--vs-gold-bright); color: var(--vs-ink); }
.woocommerce .button.alt, .woocommerce button.button.alt { background: var(--vs-gold); color: var(--vs-ink); }
.woocommerce .button:disabled, .woocommerce button.button:disabled { opacity: 0.55; cursor: default; }
.vs-link { border-bottom: 1px solid var(--vs-gold); padding-bottom: 4px; }

/* ---- WooCommerce: forms ---- */
.woocommerce form .form-row { padding: 0; margin: 0 0 18px; }
.woocommerce form .form-row label { display: block; font-size: 14px; font-weight: 500; letter-spacing: 0.04em; color: var(--vs-ink-4); margin-bottom: 8px; }
.woocommerce form .form-row label .required { color: var(--vs-error); text-decoration: none; }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea,
.woocommerce-page input[type="text"], .woocommerce-page input[type="email"], .woocommerce-page input[type="password"],
.woocommerce-page input[type="tel"], .woocommerce-page input[type="number"], .woocommerce-page select, .woocommerce-page textarea,
.woocommerce .select2-container .select2-selection--single {
  display: block; width: 100%; min-height: 52px; padding: 13px 16px; background: var(--vs-paper-4); border: 1px solid var(--vs-line-light-2);
  border-radius: 0; font-family: var(--vs-sans); font-size: 16px; line-height: 1.5; color: var(--vs-ink-4); box-shadow: none;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 26px; padding: 0; color: var(--vs-ink-4); }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 50px; }
.woocommerce form .form-row.woocommerce-invalid .input-text, .woocommerce form .form-row.woocommerce-invalid select { border-color: var(--vs-error); }
.woocommerce form .form-row.woocommerce-validated .input-text { border-color: var(--vs-line-light-2); }
.woocommerce form .form-row input[type="checkbox"] { width: 18px; height: 18px; margin-right: 10px; accent-color: #9A8860; }
.woocommerce form .form-row .woocommerce-input-wrapper { display: block; }
.woocommerce .woocommerce-form-login, .woocommerce .woocommerce-form-register, .woocommerce .woocommerce-ResetPassword,
.woocommerce form.checkout, .woocommerce .woocommerce-EditAccountForm, .woocommerce-address-fields {
  max-width: none; border: 0; padding: 0; margin: 0;
}
.woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 10px; }
.woocommerce-LostPassword a { border-bottom: 1px solid var(--vs-gold); }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { width: 100%; float: none; }
.woocommerce .col2-set { display: grid; gap: 40px; }
.woocommerce .u-columns.col2-set::before, .woocommerce .u-columns.col2-set::after, #customer_login::before, #customer_login::after { display: none; } /* WooCommerce clearfix would take grid cells */
@media (min-width: 900px) { .woocommerce .col2-set { grid-template-columns: 1fr 1fr; } }

/* ---- WooCommerce: headings, tables, cart, checkout ---- */
/* Scoped to the content band: body.woocommerce-page also wraps the dark footer. */
.vs-shop h2, .vs-shop h3 {
  font-family: var(--vs-serif); font-weight: 400; text-transform: uppercase; letter-spacing: 0.015em; line-height: 1.16;
  color: var(--vs-ink-4); margin: 0 0 18px;
}
.vs-shop h2 { font-size: clamp(22px, 2.4vw, 28px); }
.vs-shop h3 { font-size: clamp(18px, 1.9vw, 22px); }
.woocommerce table.shop_table { border: 1px solid var(--vs-line-light); border-radius: 0; border-collapse: collapse; margin-bottom: 28px; background: var(--vs-paper-4); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-top: 1px solid var(--vs-line-light); padding: 14px 16px; color: var(--vs-ink-4); font-size: 16px; }
.woocommerce table.shop_table th { font-size: 13px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vs-gold-deep); }
.woocommerce table.shop_table .product-thumbnail { display: none; }
.vs-cart-item__name { display: block; font-family: var(--vs-serif); font-size: 20px; color: var(--vs-ink-4); }
.vs-cart-item__sub { display: block; font-size: 14px; color: var(--vs-text-dark-2); margin-top: 4px; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { width: 100%; float: none; }
.woocommerce .cart-collaterals { display: grid; gap: 32px; }
@media (min-width: 900px) { .woocommerce .cart-collaterals { grid-template-columns: 1fr minmax(320px, 420px); justify-content: end; } }
.woocommerce .cart_totals table.shop_table th { width: 45%; }
.woocommerce .quantity .qty { width: 5em; min-height: 46px; text-align: center; }
.woocommerce a.remove { color: var(--vs-error) !important; border-radius: 0; }
.woocommerce a.remove:hover { background: var(--vs-error); color: #fff !important; }
.woocommerce #payment { background: transparent; border-radius: 0; }
.woocommerce #payment ul.payment_methods { border-bottom: 1px solid var(--vs-line-light); padding: 0 0 18px; }
.woocommerce #payment div.payment_box { background: var(--vs-paper-2); border-radius: 0; color: var(--vs-ink-4); }
.woocommerce #payment div.payment_box::before { border-bottom-color: var(--vs-paper-2); }
.woocommerce #payment .place-order { padding: 20px 0 0; }
.woocommerce #payment #place_order { width: 100%; }
.woocommerce-checkout .woocommerce-checkout-review-order { background: var(--vs-paper-2); border: 1px solid var(--vs-line-light); padding: 24px; }
.woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text { font-size: 15px; color: var(--vs-text-dark-2); }
.woocommerce-terms-and-conditions-wrapper a { border-bottom: 1px solid var(--vs-gold); }
.vs-reassure { list-style: none; margin: 22px 0 0; padding: 0; font-size: 14.5px; color: var(--vs-text-dark-2); }
.vs-reassure li { position: relative; padding-left: 22px; margin-top: 8px; }
.vs-reassure li::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 10px; height: 6px; border-left: 2px solid var(--vs-gold); border-bottom: 2px solid var(--vs-gold); transform: rotate(-45deg); }
.vs-next-steps { margin-top: clamp(32px, 4vw, 48px); padding-top: clamp(24px, 3vw, 32px); border-top: 1px solid var(--vs-line-light); }
.vs-next-steps ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 18px; counter-reset: vs-step; }
@media (min-width: 760px) { .vs-next-steps ol { grid-template-columns: repeat(3, 1fr); } }
.vs-next-steps li { counter-increment: vs-step; font-size: 15.5px; line-height: 1.65; color: var(--vs-text-dark-2); }
.vs-next-steps li::before { content: "0" counter(vs-step); display: block; font-family: var(--vs-serif); font-size: 28px; color: var(--vs-gold-deep); margin-bottom: 8px; }
.vs-next-steps li strong { display: block; font-weight: 500; color: var(--vs-ink-4); margin-bottom: 4px; }

/* ---- WooCommerce: notices ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
  background: var(--vs-paper-2); border: 1px solid var(--vs-line-light); border-top: 3px solid var(--vs-gold); border-radius: 0;
  color: var(--vs-ink-4); padding: 16px 20px; margin-bottom: 24px; list-style: none;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-error { border-top-color: var(--vs-error); }
.woocommerce-error li, .woocommerce-message li { margin: 0; }
.woocommerce-notices-wrapper:empty { display: none; }
/* WooCommerce 8.5+ prints block-style notice banners even on the classic cart and checkout. */
.wc-block-components-notice-banner {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px;
  background: var(--vs-paper-2); border: 1px solid var(--vs-line-light); border-top: 3px solid var(--vs-gold); border-radius: 0;
  color: var(--vs-ink-4); padding: 16px 20px; margin: 0 0 24px; font-size: 16px;
}
.wc-block-components-notice-banner > svg { display: none; }
.wc-block-components-notice-banner.is-success, .wc-block-components-notice-banner.is-info, .wc-block-components-notice-banner.is-error {
  background: var(--vs-paper-2) !important; border-color: var(--vs-line-light) !important; border-top: 3px solid var(--vs-gold) !important; color: var(--vs-ink-4) !important;
}
.wc-block-components-notice-banner.is-error { border-top-color: var(--vs-error) !important; }
.wc-block-components-notice-banner__content { flex: 1 1 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 10px 0.35em; }
/* "Error:" and its message read as one line; a "View cart"-style link still sits at the right. */
.wc-block-components-notice-banner__content .wc-forward { order: 2; margin-left: auto; padding-left: 20px; border-bottom: 1px solid var(--vs-gold); color: var(--vs-ink-4); }

/* ---- WooCommerce: account ---- */
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
/* Logged in: navigation + content grid. Logged out (login, lost/set password,
   guest order view) there is no navigation, so the pages stay a single column. */
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; gap: 40px; }
@media (min-width: 900px) { .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: 240px 1fr; align-items: start; } }
.woocommerce-account .woocommerce:not(:has(> .woocommerce-MyAccount-navigation)) { display: block; max-width: 1000px; margin-inline: auto; }
.woocommerce-account .woocommerce:not(:has(> .woocommerce-MyAccount-navigation)) > .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 32px; }
.woocommerce-account .woocommerce .woocommerce-ResetPassword { max-width: 520px; }
.woocommerce-account .woocommerce-ResetPassword .form-row-first, .woocommerce-account .woocommerce-ResetPassword .form-row-last { width: 100%; float: none; }
.woocommerce-account .woocommerce-ResetPassword .form-row label { white-space: nowrap; }
.woocommerce-account .woocommerce-ResetPassword .input-text { width: 100%; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--vs-line-light); }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--vs-line-light); }
.woocommerce-MyAccount-navigation a { display: block; padding: 14px 0; font-size: 15px; color: var(--vs-ink-4); }
.woocommerce-MyAccount-navigation li.is-active a { color: var(--vs-gold-deep); font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-content p { color: var(--vs-text-dark-2); }
.woocommerce-account .addresses .title .edit { border-bottom: 1px solid var(--vs-gold); }
.woocommerce-customer-details address { border: 1px solid var(--vs-line-light); border-radius: 0; background: var(--vs-paper-4); }

/* ---- Order received ---- */
.woocommerce-order ul.order_details { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); border: 1px solid var(--vs-line-light); background: var(--vs-paper-4); padding: 20px; }
.woocommerce-order ul.order_details li { border: 0; padding: 0; margin: 0; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vs-gold-deep); }
.woocommerce-order ul.order_details li strong { display: block; font-family: var(--vs-serif); font-size: 20px; letter-spacing: 0; text-transform: none; color: var(--vs-ink-4); margin-top: 6px; }
.woocommerce-thankyou-order-received { font-family: var(--vs-serif); font-size: clamp(20px, 2.3vw, 26px); color: var(--vs-ink-4); margin-bottom: 24px; }

/* ---- Contact form states (ported markup) ---- */
[data-vs-tracks-field][hidden] { display: none !important; }
.vs-form-error { color: var(--vs-error); font-size: 14px; margin-top: 6px; }
[aria-invalid="true"] { border-color: var(--vs-error) !important; }

/* ---- Mobile polish (ClearFire mobile layer, reused) ---- */
@media (max-width: 768px) {
  input, select, textarea { font-size: 16px !important; }
  .woocommerce table.shop_table_responsive tr td { border: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .vs-chevron { transition: none; }
}

/* ---- Enquiry form helpers (ported contact page) ---- */
.vs-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.vs-err-summary { margin: 0 0 20px; padding: 16px 18px; border: 1px solid var(--vs-error); background: var(--vs-paper-4); }
.vs-err-summary ul { list-style: none; margin: 8px 0 0; padding: 0; font-size: 14px; }
.vs-err-summary a { color: var(--vs-error); border-bottom: 1px solid currentColor; }
.vs-artists { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px 24px; margin-top: 18px; font-size: 16px; color: var(--vs-text-dark-2); }
.vs-artists li { padding: 8px 0; border-bottom: 1px solid var(--vs-line-light); }

/* ---- Cart: order list left, summary right (the cart design) ---- */
.vs-shop { min-width: 0; }
.vs-shop .vs-reassure, .vs-shop .vs-reassure li { list-style: none; }
@media (min-width: 960px) {
  .woocommerce-cart .vs-shop .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 400px); gap: 0 clamp(28px, 4vw, 56px); align-items: start; }
  .woocommerce-cart .vs-shop .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
  .woocommerce-cart .vs-shop .woocommerce > .woocommerce-cart-form { grid-column: 1; grid-row: 2; }
  .woocommerce-cart .vs-shop .woocommerce > .cart-collaterals { grid-column: 2; grid-row: 2 / span 2; display: block; position: sticky; top: 28px; }
  .woocommerce-cart .vs-shop .woocommerce > .vs-next-steps { grid-column: 1; grid-row: 3; }
}
.woocommerce-cart .cart-collaterals .cart_totals { background: var(--vs-paper-2); border: 1px solid var(--vs-line-light); padding: clamp(20px, 2.6vw, 28px); }
.woocommerce-cart .cart_totals table.shop_table { background: transparent; border: 0; margin-bottom: 18px; }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { padding-left: 0; padding-right: 0; }
.woocommerce-cart .cart_totals .order-total td { font-family: var(--vs-serif); font-size: 22px; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { display: flex; width: 100%; justify-content: center; }
.vs-vat-note { font-size: 14.5px; color: var(--vs-text-dark-2); margin: 0 0 18px; }

/* ---- Checkout: billing left, order summary right ---- */
.woocommerce-checkout .vs-shop .woocommerce-additional-fields { display: none; }
.woocommerce-checkout .vs-shop #customer_details.col2-set { display: block; }
.woocommerce-checkout .vs-shop #customer_details .col-2:empty { display: none; }
@media (min-width: 960px) {
  .woocommerce-checkout .vs-shop form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 440px); gap: 0 clamp(28px, 4vw, 56px); align-items: start; }
  .woocommerce-checkout .vs-shop form.checkout > * { grid-column: 1; }
  .woocommerce-checkout .vs-shop form.checkout > #order_review_heading { grid-column: 2; grid-row: 1; }
  .woocommerce-checkout .vs-shop form.checkout > #customer_details { grid-row: 1 / span 2; }
  .woocommerce-checkout .vs-shop form.checkout > #order_review { grid-column: 2; grid-row: 2; position: sticky; top: 28px; }
}
.woocommerce-checkout .vs-shop .woocommerce-checkout-review-order-table { width: 100%; background: transparent; border: 0; }
.woocommerce-checkout .vs-shop .woocommerce-checkout-review-order-table th, .woocommerce-checkout .vs-shop .woocommerce-checkout-review-order-table td { padding-left: 0; padding-right: 0; }
.vs-shop .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.vs-shop .woocommerce-billing-fields__field-wrapper > .form-row { grid-column: 1 / -1; }
.vs-shop .woocommerce-billing-fields__field-wrapper > #billing_first_name_field { grid-column: 1; }
.vs-shop .woocommerce-billing-fields__field-wrapper > #billing_last_name_field { grid-column: 2; }
.vs-shop .woocommerce-billing-fields__field-wrapper .form-row { width: auto; float: none; }
.vs-shop .woocommerce-billing-fields__field-wrapper .input-text { width: 100%; }
@media (max-width: 600px) { .vs-shop .woocommerce-billing-fields__field-wrapper > .form-row { grid-column: 1 / -1 !important; } }
/* Inside the checkout payment box WooCommerce styles list items; keep the tick list intact. */
#payment .vs-reassure { padding: 0; margin: 18px 0 0; }
#payment .vs-reassure li { position: relative; padding: 0 0 0 22px !important; margin: 8px 0 0 !important; text-indent: 0; list-style: none; border: 0; background: none; }
#payment .vs-reassure li::before { content: "" !important; display: block !important; position: absolute; left: 0; top: 0.55em; width: 10px; height: 6px; border-left: 2px solid var(--vs-gold); border-bottom: 2px solid var(--vs-gold); transform: rotate(-45deg); }

/* ---- Numerals ----
   Playfair's default figures are old-style (3, 5, 7, 9 drop below the line), which looks like a
   mistake in display sizes. 1) Every Playfair number on the site uses its lining figures (the
   fonts include the lnum feature). 2) The big number moments (the £50 price blocks and the 1-2-3
   step numerals) draw their digits in Montserrat: "VS Numerals" only covers 0-9, so the £ and any
   letters fall through to Playfair. size-adjust matches Montserrat's digits to Playfair's caps. */
body { font-variant-numeric: lining-nums; }
@font-face { font-family: 'VS Numerals'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/montserrat-400-normal-adb7.woff2) format('woff2'); unicode-range: U+0030-0039; size-adjust: 92%; }
@font-face { font-family: 'VS Numerals'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/montserrat-500-normal-adb7.woff2) format('woff2'); unicode-range: U+0030-0039; size-adjust: 92%; }
.vs-5025dfb, .vs-a3fe2f5, .vs-0aa90ba, .vs-c4ddbea,
.vs-next-steps li::before { font-family: 'VS Numerals', 'Playfair Display', Georgia, serif !important; }
