/**
 * VicReturns MVP - Buttons
 *
 * Class-based button variants for Elementor's native Button widget.
 * Colors come from css/tokens.css.
 *
 * Usage: the class goes on an ANCESTOR of the button element - either
 * Elementor's own widget wrapper (added automatically by the "Button
 * Style" dropdown, see inc/elementor-button-style.php) or a wrapper
 * <div> around a hand-written .elementor-button link in a template.
 * Never put the class directly on the <a class="elementor-button">
 * itself.
 *
 * Variants:
 *   .vicreturns-btn-primary            - pill, outlined, brand blue, arrow icon
 *   .vicreturns-btn-negative           - pill, outlined, for dark/brand backgrounds, arrow icon
 *   .vicreturns-btn-instagram          - pill, outlined, brand blue, Instagram glyph icon
 *   .vicreturns-btn-feature            - pill, filled, brand orange, arrow icon
 *   .vicreturns-btn-white-solid        - pill, no icon, white fill/border, brand blue text, for dark/brand backgrounds
 *   .vicreturns-btn-white-bordered     - pill, no icon, white border, white text, for dark/brand backgrounds; hover matches White Solid
 *   .vicreturns-btn-tertiary-primary   - inline text link + arrow, brand blue
 *   .vicreturns-btn-tertiary-external  - inline text link + external icon, for dark/brand backgrounds
 *   .vicreturns-btn-icon-primary       - icon-only circle (width = height), brand blue, arrow icon
 *   .vicreturns-btn-icon-tertiary      - icon-only circle (width = height), for dark/brand backgrounds, arrow icon
 *   .vicreturns-btn-back               - inline text link + arrow on the LEFT, light blue -> white on hover, for dark/brand backgrounds only
 *
 * Icon rendering: every variant's icon is CSS-only - drawn as ::before
 * (circle, pill variants only) and/or ::after (the icon glyph) directly
 * on .elementor-button, never on .elementor-button-icon and never as an
 * inline <svg>. The glyph is applied via mask-image (not
 * background-image), so its color is a normal, transitionable
 * background-color rather than being baked into the image - that's what
 * lets the arrow variants recolor smoothly on hover without swapping
 * images.
 *
 * This means icons render with zero editor input and don't depend on
 * Elementor's Icon control at all. IMPORTANT: leave that control empty
 * on these buttons - anything set there renders alongside/on top of this
 * CSS icon instead of replacing it.
 *
 * Width: pill/tertiary/link/back variants are sized by fixed height +
 * padding (content-hugging), not by their wrapper, so Elementor's native
 * Advanced > Width control has nothing to act on - it resizes the widget
 * wrapper, which these buttons ignore. inc/elementor-button-style.php
 * adds its own "Button Width" control (Content tab) that targets
 * .elementor-button directly instead. box-sizing: border-box is set on
 * these groups so that width includes padding/border rather than adding
 * to it. Left empty, buttons keep their normal size - existing content is
 * unaffected.
 *
 * Replaces the old #button-primary / #button-feature / etc. ID-based
 * files (button-primary.css, button-feature.css, button-negative.css,
 * button-instagram.css, button-tertiary-primary.css,
 * button-tertiary-external.css), which have been removed. Any existing
 * Elementor content still using one of those CSS IDs will render
 * unstyled - migrate it to the "Button Style" dropdown
 * (inc/elementor-button-style.php).
 *
 * Specificity note: every selector below repeats the variant class three
 * times (e.g. ".vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary
 * .elementor-button"). This is deliberate, not a typo - each repeated
 * class adds one specificity point without using !important. Elementor
 * compiles each widget instance's own Style-tab settings into per-post
 * CSS via its {{WRAPPER}} placeholder, which resolves to two chained
 * classes (".elementor-element.elementor-element-{id}"), giving that
 * generated CSS 3 specificity points by the time it reaches
 * ".elementor-button" - more than a single ".vicreturns-btn-x .elementor-button"
 * selector (2 points) has. Tripling our class pushes us to 4 points, safely
 * ahead regardless of stylesheet load order. If a button's colors still
 * don't apply, check the browser DevTools "Styles" panel: if the winning
 * declaration is an inline "element.style" rather than a CSS rule, it's
 * because that specific property is also set directly in the widget's
 * own Background/Border/Typography controls - no selector-specificity
 * trick can beat an inline style; clear that control's value on the
 * widget instance instead (inc/elementor-button-style.php also clears
 * Elementor's own default background so newly-added buttons don't hit
 * this).
 */

/* ========================================
   PILL BUTTONS (bordered, primary, negative, instagram, feature)
   ======================================== */

:is(
  .vicreturns-btn-bordered.vicreturns-btn-bordered.vicreturns-btn-bordered,
  .vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary,
  .vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative,
  .vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram,
  .vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature,
  .vicreturns-btn-white-solid.vicreturns-btn-white-solid.vicreturns-btn-white-solid,
  .vicreturns-btn-white-bordered.vicreturns-btn-white-bordered.vicreturns-btn-white-bordered
) .elementor-button {
  position: relative;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  height: 58px;
  border-radius: 100px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  padding-left: 24px;
  padding-right: 72px;
  font-size: 16px;
  font-weight: 500;
  user-select: none;
  text-decoration: none !important;
  transition: all 0.3s ease;
}

:is(
  .vicreturns-btn-bordered.vicreturns-btn-bordered.vicreturns-btn-bordered,
  .vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary,
  .vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative,
  .vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram,
  .vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature,
  .vicreturns-btn-white-solid.vicreturns-btn-white-solid.vicreturns-btn-white-solid,
  .vicreturns-btn-white-bordered.vicreturns-btn-white-bordered.vicreturns-btn-white-bordered
) .elementor-button > * {
  text-decoration: none !important;
}

:is(
  .vicreturns-btn-bordered.vicreturns-btn-bordered.vicreturns-btn-bordered,
  .vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary,
  .vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative,
  .vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram,
  .vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature,
  .vicreturns-btn-white-solid.vicreturns-btn-white-solid.vicreturns-btn-white-solid,
  .vicreturns-btn-white-bordered.vicreturns-btn-white-bordered.vicreturns-btn-white-bordered
) .elementor-button .elementor-button-text {
  position: relative;
  z-index: 1;
}

:is(
  .vicreturns-btn-bordered.vicreturns-btn-bordered.vicreturns-btn-bordered,
  .vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary,
  .vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative,
  .vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram,
  .vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature,
  .vicreturns-btn-white-solid.vicreturns-btn-white-solid.vicreturns-btn-white-solid,
  .vicreturns-btn-white-bordered.vicreturns-btn-white-bordered.vicreturns-btn-white-bordered
) .elementor-button .elementor-button-content-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

:is(
  .vicreturns-btn-bordered.vicreturns-btn-bordered.vicreturns-btn-bordered,
  .vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary,
  .vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative,
  .vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram,
  .vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature,
  .vicreturns-btn-white-solid.vicreturns-btn-white-solid.vicreturns-btn-white-solid,
  .vicreturns-btn-white-bordered.vicreturns-btn-white-bordered.vicreturns-btn-white-bordered
) .elementor-button .elementor-button-icon svg {
  max-width: 2em !important;
  max-height: 2em !important;
}

/* Circle + icon box - shared position/size for all four pill variants */
:is(
  .vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary,
  .vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative,
  .vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram,
  .vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature
) .elementor-button:before,
:is(
  .vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary,
  .vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative,
  .vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram,
  .vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature
) .elementor-button:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5px;
  width: 49px;
  height: 49px;
  transition: all 0.3s ease;
}

/* Circle (expands to fill the button on hover) */
:is(
  .vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary,
  .vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative,
  .vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram,
  .vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature
) .elementor-button:before {
  transform: translateY(-50%);
  border-radius: 100%;
  z-index: 0;
}

:is(
  .vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary,
  .vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative,
  .vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram,
  .vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature
) .elementor-button:hover:before {
  transform: translateY(-50%) scale(2000%);
}

/* Icon glyph (mask-image, so color is a normal background-color) */
:is(
  .vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary,
  .vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative,
  .vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram,
  .vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature
) .elementor-button:after {
  transform: translateY(-50%) rotate(0deg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  z-index: 1;
}

/* --- Bordered --- */

.vicreturns-btn-bordered.vicreturns-btn-bordered.vicreturns-btn-bordered .elementor-button {
  padding-left: 24px;
  padding-right: 24px;

  fill: var(--color-brand-primary-alt, #004C97);
  color: var(--color-brand-primary-alt, #004C97);
  border: 1px solid var(--color-brand-primary-alt, #004C97);
}

.vicreturns-btn-bordered.vicreturns-btn-bordered.vicreturns-btn-bordered .elementor-button:hover {
  fill: var(--color-primary-p8, #D6E3FF);
  color: var(--color-primary-p8, #D6E3FF);
  background-color: var(--color-primary-p4, #4377C4);
  border-color: var(--color-primary-p4, #4377C4);
}

/* --- White Solid (for use on dark/brand backgrounds) --- */

.vicreturns-btn-white-solid.vicreturns-btn-white-solid.vicreturns-btn-white-solid .elementor-button {
  padding-left: 24px;
  padding-right: 24px;

  fill: var(--color-brand-primary-alt, #004C97);
  color: var(--color-brand-primary-alt, #004C97);
  background-color: #FFFFFF;
  border: 1px solid #FFFFFF;
}

.vicreturns-btn-white-solid.vicreturns-btn-white-solid.vicreturns-btn-white-solid .elementor-button:hover {
  fill: var(--color-brand-primary-alt, #004C97);
  color: var(--color-brand-primary-alt, #004C97);
  background-color: #FFFFFF;
  border-color: #FFFFFF;
}

/* --- White Bordered (for use on dark/brand backgrounds; hover matches White Solid) --- */

.vicreturns-btn-white-bordered.vicreturns-btn-white-bordered.vicreturns-btn-white-bordered .elementor-button {
  padding-left: 24px;
  padding-right: 24px;

  fill: #FFFFFF;
  color: #FFFFFF;
  background-color: transparent;
  border: 1px solid #FFFFFF;
}

.vicreturns-btn-white-bordered.vicreturns-btn-white-bordered.vicreturns-btn-white-bordered .elementor-button:hover {
  fill: var(--color-brand-primary-alt, #004C97);
  color: var(--color-brand-primary-alt, #004C97);
  background-color: #FFFFFF;
  border-color: #FFFFFF;
}

/* --- Primary --- */

.vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary .elementor-button {
  color: var(--color-brand-primary-alt, #004C97);
  border: 1px solid var(--color-brand-primary-alt, #004C97);
}

.vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary .elementor-button:before {
  background: var(--color-brand-primary-alt, #004C97);
}

.vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary .elementor-button:hover:before {
  background: var(--color-primary-p4, #4377C4);
}

.vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary .elementor-button:after {
  background-color: var(--color-primary-p8, #D6E3FF);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 57 56'%3E%3Cpath d='M21.5679 35.2114L35.917 20.8622M35.917 20.8622L21.8126 20.8622M35.917 20.8622L35.917 34.9667' fill='none' stroke='black' stroke-width='2.03636' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 57 56'%3E%3Cpath d='M21.5679 35.2114L35.917 20.8622M35.917 20.8622L21.8126 20.8622M35.917 20.8622L35.917 34.9667' fill='none' stroke='black' stroke-width='2.03636' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary .elementor-button:hover {
  color: var(--color-primary-p8, #D6E3FF);
  border-color: var(--color-primary-p4, #4377C4);
}

.vicreturns-btn-primary.vicreturns-btn-primary.vicreturns-btn-primary .elementor-button:hover:after {
  transform: translateY(-50%) rotate(45deg);
}

/* --- Negative (for use on dark/brand backgrounds) --- */

.vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative .elementor-button {
  color: var(--color-brand-tertiary, #BCE8CA);
  border: 1px solid var(--color-brand-tertiary, #BCE8CA);
}

.vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative .elementor-button:before {
  background: var(--color-brand-tertiary, #BCE8CA);
}

.vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative .elementor-button:after {
  background-color: var(--color-brand-primary-alt, #004C97);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 57 56'%3E%3Cpath d='M21.5679 35.2114L35.917 20.8622M35.917 20.8622L21.8126 20.8622M35.917 20.8622L35.917 34.9667' fill='none' stroke='black' stroke-width='2.03636' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 57 56'%3E%3Cpath d='M21.5679 35.2114L35.917 20.8622M35.917 20.8622L21.8126 20.8622M35.917 20.8622L35.917 34.9667' fill='none' stroke='black' stroke-width='2.03636' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative .elementor-button:hover {
  color: var(--color-brand-primary-alt, #004C97);
}

.vicreturns-btn-negative.vicreturns-btn-negative.vicreturns-btn-negative .elementor-button:hover:after {
  transform: translateY(-50%) rotate(45deg);
}

/* --- Instagram (same palette as Primary, Instagram glyph icon, does not rotate on hover) --- */

.vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram .elementor-button {
  color: var(--color-brand-primary-alt, #004C97);
  border: 1px solid var(--color-brand-primary-alt, #004C97);
}

.vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram .elementor-button:before {
  background: var(--color-brand-primary-alt, #004C97);
}

.vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram .elementor-button:hover:before {
  background: var(--color-primary-p4, #4377C4);
}

.vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram .elementor-button:after {
  background-color: var(--color-primary-p9, #FDFBFF);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 57 56'%3E%3Cpath d='M28.293 19.8008C30.9648 19.8008 31.2813 19.8125 32.332 19.8594C33.3086 19.9023 33.8359 20.0664 34.1875 20.2031C34.6523 20.3828 34.9883 20.6016 35.3359 20.9492C35.6875 21.3008 35.9023 21.6328 36.082 22.0977C36.2188 22.4492 36.3828 22.9805 36.4258 23.9531C36.4727 25.0078 36.4844 25.3242 36.4844 27.9922C36.4844 30.6641 36.4727 30.9805 36.4258 32.0313C36.3828 33.0078 36.2188 33.5352 36.082 33.8867C35.9023 34.3516 35.6836 34.6875 35.3359 35.0352C34.9844 35.3867 34.6523 35.6016 34.1875 35.7813C33.8359 35.918 33.3047 36.082 32.332 36.125C31.2773 36.1719 30.9609 36.1836 28.293 36.1836C25.6211 36.1836 25.3047 36.1719 24.2539 36.125C23.2773 36.082 22.75 35.918 22.3984 35.7813C21.9336 35.6016 21.5977 35.3828 21.25 35.0352C20.8984 34.6836 20.6836 34.3516 20.5039 33.8867C20.3672 33.5352 20.2031 33.0039 20.1602 32.0313C20.1133 30.9766 20.1016 30.6602 20.1016 27.9922C20.1016 25.3203 20.1133 25.0039 20.1602 23.9531C20.2031 22.9766 20.3672 22.4492 20.5039 22.0977C20.6836 21.6328 20.9023 21.2969 21.25 20.9492C21.6016 20.5977 21.9336 20.3828 22.3984 20.2031C22.75 20.0664 23.2813 19.9023 24.2539 19.8594C25.3047 19.8125 25.6211 19.8008 28.293 19.8008ZM28.293 18C25.5781 18 25.2383 18.0117 24.1719 18.0586C23.1094 18.1055 22.3789 18.2773 21.7461 18.5234C21.0859 18.7812 20.5273 19.1211 19.9727 19.6797C19.4141 20.2344 19.0742 20.793 18.8164 21.4492C18.5703 22.0859 18.3984 22.8125 18.3516 23.875C18.3047 24.9453 18.293 25.2852 18.293 28C18.293 30.7148 18.3047 31.0547 18.3516 32.1211C18.3984 33.1836 18.5703 33.9141 18.8164 34.5469C19.0742 35.207 19.4141 35.7656 19.9727 36.3203C20.5273 36.875 21.0859 37.2187 21.7422 37.4727C22.3789 37.7188 23.1055 37.8906 24.168 37.9375C25.2344 37.9844 25.5742 37.9961 28.2891 37.9961C31.0039 37.9961 31.3438 37.9844 32.4102 37.9375C33.4727 37.8906 34.2031 37.7188 34.8359 37.4727C35.4922 37.2187 36.0508 36.875 36.6055 36.3203C37.1602 35.7656 37.5039 35.207 37.7578 34.5508C38.0039 33.9141 38.1758 33.1875 38.2227 32.125C38.2695 31.0586 38.2813 30.7188 38.2813 28.0039C38.2813 25.2891 38.2695 24.9492 38.2227 23.8828C38.1758 22.8203 38.0039 22.0898 37.7578 21.457C37.5117 20.793 37.1719 20.2344 36.6133 19.6797C36.0586 19.125 35.5 18.7813 34.8438 18.5273C34.207 18.2812 33.4805 18.1094 32.418 18.0625C31.3477 18.0117 31.0078 18 28.293 18Z'/%3E%3Cpath d='M28.293 22.8633C25.457 22.8633 23.1562 25.1641 23.1562 28C23.1562 30.8359 25.457 33.1367 28.293 33.1367C31.1289 33.1367 33.4297 30.8359 33.4297 28C33.4297 25.1641 31.1289 22.8633 28.293 22.8633ZM28.293 31.332C26.4531 31.332 24.9609 29.8398 24.9609 28C24.9609 26.1602 26.4531 24.668 28.293 24.668C30.1328 24.668 31.625 26.1602 31.625 28C31.625 29.8398 30.1328 31.332 28.293 31.332Z'/%3E%3Cpath d='M34.832 22.6602C34.832 23.3242 34.293 23.8594 33.6328 23.8594C32.9688 23.8594 32.4336 23.3203 32.4336 22.6602C32.4336 21.9961 32.9727 21.4609 33.6328 21.4609C34.293 21.4609 34.832 22 34.832 22.6602Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 57 56'%3E%3Cpath d='M28.293 19.8008C30.9648 19.8008 31.2813 19.8125 32.332 19.8594C33.3086 19.9023 33.8359 20.0664 34.1875 20.2031C34.6523 20.3828 34.9883 20.6016 35.3359 20.9492C35.6875 21.3008 35.9023 21.6328 36.082 22.0977C36.2188 22.4492 36.3828 22.9805 36.4258 23.9531C36.4727 25.0078 36.4844 25.3242 36.4844 27.9922C36.4844 30.6641 36.4727 30.9805 36.4258 32.0313C36.3828 33.0078 36.2188 33.5352 36.082 33.8867C35.9023 34.3516 35.6836 34.6875 35.3359 35.0352C34.9844 35.3867 34.6523 35.6016 34.1875 35.7813C33.8359 35.918 33.3047 36.082 32.332 36.125C31.2773 36.1719 30.9609 36.1836 28.293 36.1836C25.6211 36.1836 25.3047 36.1719 24.2539 36.125C23.2773 36.082 22.75 35.918 22.3984 35.7813C21.9336 35.6016 21.5977 35.3828 21.25 35.0352C20.8984 34.6836 20.6836 34.3516 20.5039 33.8867C20.3672 33.5352 20.2031 33.0039 20.1602 32.0313C20.1133 30.9766 20.1016 30.6602 20.1016 27.9922C20.1016 25.3203 20.1133 25.0039 20.1602 23.9531C20.2031 22.9766 20.3672 22.4492 20.5039 22.0977C20.6836 21.6328 20.9023 21.2969 21.25 20.9492C21.6016 20.5977 21.9336 20.3828 22.3984 20.2031C22.75 20.0664 23.2813 19.9023 24.2539 19.8594C25.3047 19.8125 25.6211 19.8008 28.293 19.8008ZM28.293 18C25.5781 18 25.2383 18.0117 24.1719 18.0586C23.1094 18.1055 22.3789 18.2773 21.7461 18.5234C21.0859 18.7812 20.5273 19.1211 19.9727 19.6797C19.4141 20.2344 19.0742 20.793 18.8164 21.4492C18.5703 22.0859 18.3984 22.8125 18.3516 23.875C18.3047 24.9453 18.293 25.2852 18.293 28C18.293 30.7148 18.3047 31.0547 18.3516 32.1211C18.3984 33.1836 18.5703 33.9141 18.8164 34.5469C19.0742 35.207 19.4141 35.7656 19.9727 36.3203C20.5273 36.875 21.0859 37.2187 21.7422 37.4727C22.3789 37.7188 23.1055 37.8906 24.168 37.9375C25.2344 37.9844 25.5742 37.9961 28.2891 37.9961C31.0039 37.9961 31.3438 37.9844 32.4102 37.9375C33.4727 37.8906 34.2031 37.7188 34.8359 37.4727C35.4922 37.2187 36.0508 36.875 36.6055 36.3203C37.1602 35.7656 37.5039 35.207 37.7578 34.5508C38.0039 33.9141 38.1758 33.1875 38.2227 32.125C38.2695 31.0586 38.2813 30.7188 38.2813 28.0039C38.2813 25.2891 38.2695 24.9492 38.2227 23.8828C38.1758 22.8203 38.0039 22.0898 37.7578 21.457C37.5117 20.793 37.1719 20.2344 36.6133 19.6797C36.0586 19.125 35.5 18.7813 34.8438 18.5273C34.207 18.2812 33.4805 18.1094 32.418 18.0625C31.3477 18.0117 31.0078 18 28.293 18Z'/%3E%3Cpath d='M28.293 22.8633C25.457 22.8633 23.1562 25.1641 23.1562 28C23.1562 30.8359 25.457 33.1367 28.293 33.1367C31.1289 33.1367 33.4297 30.8359 33.4297 28C33.4297 25.1641 31.1289 22.8633 28.293 22.8633ZM28.293 31.332C26.4531 31.332 24.9609 29.8398 24.9609 28C24.9609 26.1602 26.4531 24.668 28.293 24.668C30.1328 24.668 31.625 26.1602 31.625 28C31.625 29.8398 30.1328 31.332 28.293 31.332Z'/%3E%3Cpath d='M34.832 22.6602C34.832 23.3242 34.293 23.8594 33.6328 23.8594C32.9688 23.8594 32.4336 23.3203 32.4336 22.6602C32.4336 21.9961 32.9727 21.4609 33.6328 21.4609C34.293 21.4609 34.832 22 34.832 22.6602Z'/%3E%3C/svg%3E");
}

.vicreturns-btn-instagram.vicreturns-btn-instagram.vicreturns-btn-instagram .elementor-button:hover {
  color: var(--color-primary-p8, #D6E3FF);
  border-color: var(--color-primary-p4, #4377C4);
}

/* --- Feature (filled, brand orange) --- */

.vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature .elementor-button {
  color: var(--color-secondary-s1, #301400);
  background-color: var(--color-secondary-s4, #FFE7D8);
  border: 1px solid var(--color-brand-secondary, #FF8200);
}

.vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature .elementor-button:before {
  background: var(--color-brand-secondary, #FF8200);
}

.vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature .elementor-button:hover:before {
  background: var(--color-secondary-s3, #FFB785);
}

.vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature .elementor-button:after {
  background-color: #ffffff;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 57 56'%3E%3Cpath d='M21.5679 35.2114L35.917 20.8622M35.917 20.8622L21.8126 20.8622M35.917 20.8622L35.917 34.9667' fill='none' stroke='black' stroke-width='2.03636' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 57 56'%3E%3Cpath d='M21.5679 35.2114L35.917 20.8622M35.917 20.8622L21.8126 20.8622M35.917 20.8622L35.917 34.9667' fill='none' stroke='black' stroke-width='2.03636' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature .elementor-button:hover {
  border-color: var(--color-secondary-s3, #FFB785);
}

.vicreturns-btn-feature.vicreturns-btn-feature.vicreturns-btn-feature .elementor-button:hover:after {
  transform: translateY(-50%) rotate(45deg);
  background-color: var(--color-secondary-s1, #301400);
}

/* ========================================
   TERTIARY BUTTONS (inline text link + arrow)
   ======================================== */

:is(
  .vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary,
  .vicreturns-btn-tertiary-bordered.vicreturns-btn-tertiary-bordered.vicreturns-btn-tertiary-bordered,
  .vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external
) .elementor-button {
  position: relative;
  box-sizing: border-box;
  white-space: nowrap;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  background-color: transparent;
  text-decoration: none !important;
  padding-right: 44px;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s ease;
}

:is(
  .vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary,
  .vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external
) .elementor-button > * {
  text-decoration: none !important;
  align-items: center;
}

:is(
  .vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary,
  .vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external,
  .vicreturns-btn-tertiary-bordered.vicreturns-btn-tertiary-bordered.vicreturns-btn-tertiary-bordered
) .elementor-button .elementor-button-icon svg {
  width: 1.2em !important;
  height: 1.2em !important;
}

:is(
  .vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary,
  .vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external
) .elementor-button .elementor-button-text {
  position: relative;
  z-index: 1;
}

:is(
  .vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary,
  .vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external
) .elementor-button:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 40px;
  height: 40px;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: all 0.3s ease;
}

:is(
  .vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external
) .elementor-button:after {
  width: 16px;
  height: 16px;
}

/* Primary's plain arrow keeps the baked-in 45deg rotation; External's icon
   is already a complete "opens externally" glyph and shouldn't be rotated. */
.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary .elementor-button:after {
  transform: translateY(-50%) translateX(-5px) rotate(45deg);
}

.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary .elementor-button:hover:after {
  transform: translateY(-50%) translateX(-2px) rotate(45deg);
}

.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external .elementor-button:after {
  transform: translateY(-50%) translateX(-15px);
}

.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external .elementor-button:hover:after {
  transform: translateY(-50%) translateX(-15px);
}

.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary .elementor-button,
.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external .elementor-button {
  color: var(--color-primary-p8, #D6E3FF);
  background-color: var(--color-brand-primary-alt, #004C97);
}

.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary .elementor-button:hover,
.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external .elementor-button:hover {
  color: var(--color-primary-p9, #FDFBFF);
  background-color: var(--color-brand-primary-alt, #004C97);
}

.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary.vicreturns-btn-tertiary-primary .elementor-button:after {
  background-color: var(--color-primary-p8, #D6E3FF);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 57 56'%3E%3Cpath d='M21.5679 35.2114L35.917 20.8622M35.917 20.8622L21.8126 20.8622M35.917 20.8622L35.917 34.9667' fill='none' stroke='black' stroke-width='2.03636' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 57 56'%3E%3Cpath d='M21.5679 35.2114L35.917 20.8622M35.917 20.8622L21.8126 20.8622M35.917 20.8622L35.917 34.9667' fill='none' stroke='black' stroke-width='2.03636' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external.vicreturns-btn-tertiary-external .elementor-button:after {
  background-color: var(--color-primary-p8, #D6E3FF);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M2 0.5H8C8.27386 0.5 8.5 0.726142 8.5 1C8.5 1.27386 8.27386 1.5 8 1.5H3C2.17386 1.5 1.5 2.17386 1.5 3V15C1.5 15.8261 2.17386 16.5 3 16.5H15C15.8261 16.5 16.5 15.8261 16.5 15V10C16.5 9.72614 16.7261 9.5 17 9.5C17.2739 9.5 17.5 9.72614 17.5 10V16C17.5 16.8239 16.8239 17.5 16 17.5H2C1.17614 17.5 0.5 16.8239 0.5 16V2C0.5 1.17451 1.16777 0.5 2 0.5ZM12 0.5H17.5V6C17.5 6.27386 17.2739 6.5 17 6.5C16.7261 6.5 16.5 6.27386 16.5 6V2.20312L6.5166 12.1865C6.32186 12.3813 6.00821 12.3813 5.81348 12.1865C5.61874 11.9918 5.61874 11.6781 5.81348 11.4834L15.7969 1.5H12C11.7261 1.5 11.5 1.27386 11.5 1C11.5 0.726142 11.7261 0.5 12 0.5Z'/%3E%3Cpath d='M1 16C1 16.5477 1.45227 17 2 17H3C1.89771 17 1 16.1022 1 15V16ZM16 6V3.41016L6.87012 12.54C6.50454 12.9057 5.92814 12.9283 5.53613 12.6084L5.45996 12.54C5.06995 12.1501 5.06996 11.5198 5.45996 11.1299L14.5898 2H12C11.4499 2 11 1.54998 11 1C11 0.450027 11.4499 0 12 0H18V6C18 6.54998 17.5501 7 17 7C16.4499 7 16 6.54998 16 6ZM2 1C1.44537 1 1 1.44919 1 2V3C1 1.89772 1.89772 1 3 1H2ZM17 15C17 16.1022 16.1022 17 15 17H16C16.5478 17 17 16.5478 17 16V15ZM9 1C9 1.55 8.55 2 8 2H3C2.45 2 2 2.45 2 3V15C2 15.55 2.45001 16 3 16H15C15.55 16 16 15.55 16 15V10C16 9.45002 16.4499 9 17 9C17.5501 9 18 9.45002 18 10V16C18 17.1 17.1 18 16 18H2C0.900006 18 0 17.1001 0 16V2C0 0.899832 0.890165 0 2 0H8C8.55 0 9 0.450001 9 1Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M2 0.5H8C8.27386 0.5 8.5 0.726142 8.5 1C8.5 1.27386 8.27386 1.5 8 1.5H3C2.17386 1.5 1.5 2.17386 1.5 3V15C1.5 15.8261 2.17386 16.5 3 16.5H15C15.8261 16.5 16.5 15.8261 16.5 15V10C16.5 9.72614 16.7261 9.5 17 9.5C17.2739 9.5 17.5 9.72614 17.5 10V16C17.5 16.8239 16.8239 17.5 16 17.5H2C1.17614 17.5 0.5 16.8239 0.5 16V2C0.5 1.17451 1.16777 0.5 2 0.5ZM12 0.5H17.5V6C17.5 6.27386 17.2739 6.5 17 6.5C16.7261 6.5 16.5 6.27386 16.5 6V2.20312L6.5166 12.1865C6.32186 12.3813 6.00821 12.3813 5.81348 12.1865C5.61874 11.9918 5.61874 11.6781 5.81348 11.4834L15.7969 1.5H12C11.7261 1.5 11.5 1.27386 11.5 1C11.5 0.726142 11.7261 0.5 12 0.5Z'/%3E%3Cpath d='M1 16C1 16.5477 1.45227 17 2 17H3C1.89771 17 1 16.1022 1 15V16ZM16 6V3.41016L6.87012 12.54C6.50454 12.9057 5.92814 12.9283 5.53613 12.6084L5.45996 12.54C5.06995 12.1501 5.06996 11.5198 5.45996 11.1299L14.5898 2H12C11.4499 2 11 1.54998 11 1C11 0.450027 11.4499 0 12 0H18V6C18 6.54998 17.5501 7 17 7C16.4499 7 16 6.54998 16 6ZM2 1C1.44537 1 1 1.44919 1 2V3C1 1.89772 1.89772 1 3 1H2ZM17 15C17 16.1022 16.1022 17 15 17H16C16.5478 17 17 16.5478 17 16V15ZM9 1C9 1.55 8.55 2 8 2H3C2.45 2 2 2.45 2 3V15C2 15.55 2.45001 16 3 16H15C15.55 16 16 15.55 16 15V10C16 9.45002 16.4499 9 17 9C17.5501 9 18 9.45002 18 10V16C18 17.1 17.1 18 16 18H2C0.900006 18 0 17.1001 0 16V2C0 0.899832 0.890165 0 2 0H8C8.55 0 9 0.450001 9 1Z'/%3E%3C/svg%3E");
}

.vicreturns-btn-tertiary-bordered.vicreturns-btn-tertiary-bordered.vicreturns-btn-tertiary-bordered .elementor-button {
  padding-right: 16px;

  fill: var(--color-brand-primary-alt, #004C97);
  color: var(--color-brand-primary-alt, #004C97);
  border: 1px solid var(--color-brand-primary-alt, #004C97);
}

.vicreturns-btn-tertiary-bordered.vicreturns-btn-tertiary-bordered.vicreturns-btn-tertiary-bordered .elementor-button:hover {
  fill: var(--color-primary-p8, #D6E3FF);
  color: var(--color-primary-p8, #D6E3FF);
  background-color: var(--color-primary-p4, #4377C4);
  border-color: var(--color-primary-p4, #4377C4);
}

/* ========================================
   ICON-ONLY BUTTONS (no text - a circle the same width as it is tall)
   ======================================== */

/* Elementor's Icon control isn't used here either (see file docblock) -
   but unlike the other variants, button TEXT is actively hidden too, so
   an editor can reuse the same widget/text field without it breaking the
   circle. Idle = outlined only (border, transparent center, light arrow).
   Hover = a plain scale(0) -> scale(1) reveal (not the pill variants'
   scale(2000%) burst - the button IS already the circle's final size
   here, there's no small seed to expand from). */

:is(
  .vicreturns-btn-icon-primary.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary,
  .vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary
) .elementor-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  padding: 0;
  overflow: hidden;
  border-radius: 50%;
  background-color: transparent;
  text-decoration: none !important;
  transition: all 0.3s ease;
}

:is(
  .vicreturns-btn-icon-primary.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary,
  .vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary
) .elementor-button .elementor-button-text {
  display: none;
}

:is(
  .vicreturns-btn-icon-primary.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary,
  .vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary
) .elementor-button:before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  transform: scale(0);
  z-index: 0;
  transition: all 0.3s ease;
}

:is(
  .vicreturns-btn-icon-primary.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary,
  .vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary
) .elementor-button:hover:before {
  transform: scale(1);
}

:is(
  .vicreturns-btn-icon-primary.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary,
  .vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary
) .elementor-button:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 57px;
  height: 56px;
  transform: translate(-50%, -50%) rotate(0deg);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 57 56'%3E%3Cpath d='M21.5679 35.2114L35.917 20.8622M35.917 20.8622L21.8126 20.8622M35.917 20.8622L35.917 34.9667' fill='none' stroke='black' stroke-width='2.03636' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 57 56'%3E%3Cpath d='M21.5679 35.2114L35.917 20.8622M35.917 20.8622L21.8126 20.8622M35.917 20.8622L35.917 34.9667' fill='none' stroke='black' stroke-width='2.03636' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  z-index: 1;
  transition: all 0.3s ease;
}

:is(
  .vicreturns-btn-icon-primary.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary,
  .vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary
) .elementor-button:hover:after {
  transform: translate(-50%, -50%) rotate(45deg);
}

/* --- Primary Arrow Icon --- */

.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary .elementor-button {
  border: 1px solid var(--color-brand-primary-alt, #004C97);
}

.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary .elementor-button:before {
  background: var(--color-primary-p8, #D6E3FF);
}

.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary .elementor-button:after {
  background-color: var(--color-brand-primary-alt, #004C97);
}

.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary.vicreturns-btn-icon-primary .elementor-button:hover:after {
  background-color: var(--color-brand-primary-alt, #004C97);
}

/* --- Tertiary Arrow Icon --- */

.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary .elementor-button {
  border: 1px solid var(--color-brand-tertiary, #BCE8CA);
}

.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary .elementor-button:before {
  color: var(--color-brand-tertiary, #BCE8CA);
  background: var(--color-brand-tertiary, #BCE8CA);
}

.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary .elementor-button:after {
  background-color: var(--color-brand-tertiary, #BCE8CA);
}

.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary.vicreturns-btn-icon-tertiary .elementor-button:hover:after {
  background-color: var(--color-brand-primary-alt, #004C97);
}

/* ========================================
   LINKS with ARROWS (inline text link + arrow)
   ======================================== */

:is(
  .vicreturns-btn-link-primary.vicreturns-btn-link-primary.vicreturns-btn-link-primary,
  .vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary
) .elementor-button {
  position: relative;
  box-sizing: border-box;
  white-space: nowrap;
  height: auto;
  display: inline-flex;
  align-items: center;
  border: none !important;
  border-width: 0 !important;
  justify-content: center;
  border-radius: 0;
  background-color: transparent;
  text-decoration: none !important;
  padding: 0px;
  padding-left: 0px;
  padding-right: 0px;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s ease;
}

:is(
  .vicreturns-btn-link-primary.vicreturns-btn-link-primary.vicreturns-btn-link-primary,
  .vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary
) .elementor-button > * {
  text-decoration: none !important;
}

:is(
  .vicreturns-btn-link-primary.vicreturns-btn-link-primary.vicreturns-btn-link-primary,
  .vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary
) .elementor-button .elementor-button-text {
  position: relative;
  z-index: 1;
}

:is(
  .vicreturns-btn-link-primary.vicreturns-btn-link-primary.vicreturns-btn-link-primary,
  .vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary
) .elementor-button-content-wrapper:after {
  content: "";
  top: 2px;
  width: 14px;
  height: 14px;
  margin-left: 16px;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: all 0.3s ease;
}

.vicreturns-btn-link-primary.vicreturns-btn-link-primary.vicreturns-btn-link-primary .elementor-button {
  color: var(--color-brand-primary-alt, #004C97);
}

.vicreturns-btn-link-primary.vicreturns-btn-link-primary.vicreturns-btn-link-primary .elementor-button:hover {
  color: var(--color-primary-p4, #4377C4);
}

.vicreturns-btn-link-primary.vicreturns-btn-link-primary.vicreturns-btn-link-primary .elementor-button-content-wrapper:after,
.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary .elementor-button-content-wrapper:after {
  background-color: var(--color-brand-primary-alt, #004C97);
  
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z' /%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z' /%3E%3C/svg%3E");
}

.vicreturns-btn-link-primary.vicreturns-btn-link-primary.vicreturns-btn-link-primary .elementor-button:hover .elementor-button-content-wrapper:after {
  background-color: var(--color-primary-p4, #4377C4);
  transform: translateX(5px);
}

.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary .elementor-button {
  color: var(--color-brand-tertiary, #BCE8CA);
}

.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary .elementor-button:hover {
  color: #61CE70;
}

.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary .elementor-button-content-wrapper:after {
  background-color: var(--color-brand-tertiary, #BCE8CA);

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z' /%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='56' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z' /%3E%3C/svg%3E");
}

.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary.vicreturns-btn-link-tertiary .elementor-button:hover .elementor-button-content-wrapper:after {
  background-color: #61CE70;
  transform: translateX(5px);
}

/* ========================================
   BACK BUTTON (inline text link + arrow on the LEFT, dark backgrounds only)
   ======================================== */

.vicreturns-btn-back.vicreturns-btn-back.vicreturns-btn-back .elementor-button {
  position: relative;
  box-sizing: border-box;
  white-space: nowrap;
  height: auto;
  display: inline-flex;
  align-items: center;
  border: none !important;
  border-width: 0 !important;
  justify-content: center;
  border-radius: 0;
  background-color: transparent;
  text-decoration: none !important;
  padding: 0px;
  padding-left: 40px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.20;
  transition: all 0.3s ease;
  color: var(--color-primary-p7, #A9C7FF);
}

.vicreturns-btn-back.vicreturns-btn-back.vicreturns-btn-back .elementor-button > * {
  text-decoration: none !important;
}

.vicreturns-btn-back.vicreturns-btn-back.vicreturns-btn-back .elementor-button .elementor-button-text {
  position: relative;
  z-index: 1;
}

.vicreturns-btn-back.vicreturns-btn-back.vicreturns-btn-back .elementor-button-content-wrapper:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background-color: var(--color-primary-p7, #A9C7FF);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M20 12H4M4 12L10 6M4 12L10 18' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M20 12H4M4 12L10 6M4 12L10 18' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: all 0.3s ease;
}

.vicreturns-btn-back.vicreturns-btn-back.vicreturns-btn-back .elementor-button:hover {
  color: var(--color-primary-p9, #FDFBFF);
}

/* Arrow already points left - hover slides it further left, in the
   direction it's pointing (mirrors the forward variants sliding right). */
.vicreturns-btn-back.vicreturns-btn-back.vicreturns-btn-back .elementor-button:hover .elementor-button-content-wrapper:before {
  background-color: var(--color-primary-p9, #FDFBFF);
  transform: translateY(-50%) translateX(-5px);
}