/* ================================================================
  VS SHOPIFY — page-specific styles (Stack B / 2026)
  Loaded ONLY on this page. Structure mirrors vs-squarespace.css
  (logo-only header lives in base.css via header_layout: logo-only).
  Brand UI uses --color-* / --js-* tokens.
================================================================ */

.header__logo--only {
  max-height: 30px;
}

.header--logo-only:hover {
  background-color: transparent !important;
}

/* Scroll CTA dock (revealed once the hero scrolls out of view) */
.vs-dock {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 95;
  background: var(--js-color-green);
  border-top: 1px solid var(--color-border);
  transform: translateY(110%);
  transition: transform 0.35s ease;
}

.vs-dock.is-visible {
  transform: translateY(0);
}

.vs-dock__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: calc(var(--js-padding) * 0.875) var(--js-padding);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--js-padding) * 1.5);
  flex-wrap: wrap;
}

.vs-dock__text {
  color: var(--color-background);
  font-size: calc(var(--font-base-size) * 0.9375);
  font-weight: 500;
}

.vs-dock__btn {
  flex: none;
  background-color: var(--js-color-black);
  color: var(--js-color-white);
  border: 0;
}

.footer {
  padding-bottom: calc(var(--js-padding) * 8) !important;
}

@media (max-width: 575px) {
  .vs-dock__inner {
    gap: calc(var(--js-padding) * 0.75);
    padding: calc(var(--js-padding) * 0.75);
  }

  .vs-dock__text {
    font-size: calc(var(--font-base-size) * 0.8125);
    text-align: center;
  }
}

/* ----------------------------------------------------------------
  HERO
---------------------------------------------------------------- */
.vs-shopify .vs-hero {
  position: relative;
  overflow: hidden;
  padding-top: 10rem;
}

.vs-hero .js-container__content {
  z-index: 3;
  position: relative;
}

.vs-shopify .vs-hero__grid {
  position: relative;
  z-index: 1;
}

.vs-shopify .vs-hero__copy .js-section__badge-wrapper {
  margin-bottom: 1rem;
}

.js-section__form--two-columns {
  margin-left: initial;
}

@media (max-width: 1199px) {
  .js-section__form--two-columns {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 575px) {
  .vs-shopify .vs-hero {
    padding-top: 8rem;
  }
}

.vs-shopify .vs-hero__stage {
  position: relative;
  max-width: 560px;
  margin: calc(var(--js-padding) * 2) auto 0;
}

.vs-shopify .vs-hero__stack {
  position: absolute;
  inset: 0;
  border-radius: var(--js-radius-lg);
  overflow: hidden;
  border: 1px solid rgba(var(--js-color-bright-rgb), 0.08);
  box-shadow: 0 30px 70px -30px rgba(0, 0, 0, 0.85);
  z-index: 0;
}

.vs-shopify .vs-hero__stack img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  filter: brightness(0.5) saturate(0.85);
}

.vs-shopify .vs-hero__stack--a {
  transform: translate(30px, -24px) rotate(3deg) scale(0.95);
  opacity: 0.72;
}

.vs-shopify .vs-hero__stack--b {
  transform: translate(-30px, 24px) rotate(-3deg) scale(0.95);
  opacity: 0.66;
}

.vs-shopify .vs-browser {
  position: relative;
  z-index: 1;
  background: var(--js-color-grey);
  border: 1px solid rgba(var(--js-color-bright-rgb), 0.1);
  border-radius: var(--js-radius-lg);
  box-shadow: 0 40px 90px -30px rgba(0, 0, 0, 0.8);
  overflow: hidden;
}

.vs-shopify .vs-browser__bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(var(--js-color-bright-rgb), 0.08);
}

.vs-shopify .vs-browser__dots {
  display: flex;
  gap: 6px;
}

.vs-shopify .vs-browser__dots i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(var(--js-color-bright-rgb), 0.2);
}

.vs-shopify .vs-browser__url {
  margin-left: 8px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(var(--js-color-bright-rgb), 0.06);
  font-family: var(--font-secondary);
  font-size: 12px;
  color: rgba(var(--js-color-bright-rgb), 0.5);
}

.vs-shopify .vs-browser__viewport {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: var(--js-color-grey);
}

.vs-shopify .vs-browser__shot {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  opacity: 0;
  transition: opacity 0.9s ease;
}

.vs-shopify .vs-browser__shot.is-active {
  opacity: 1;
}

.vs-shopify .vs-floatchip {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 14px;
  border-radius: 999px;
  background: var(--js-color-bright);
  color: var(--js-color-grey);
  font-family: var(--font-main);
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 12px 30px -10px rgba(0, 0, 0, 0.6);
  z-index: 3;
}

.vs-shopify .vs-floatchip .ph {
  color: var(--js-color-green-dark);
  font-size: 17px;
}

.vs-shopify .vs-floatchip--tr {
  top: -14px;
  right: -6px;
}

.vs-shopify .vs-floatchip--bl {
  bottom: -16px;
  left: -6px;
}

.vs-shopify .js-section__text--small i {
  margin-right: .5rem;
  color: var(--color-accent);
}

.vs-shopify .js-section__text {
  font-weight: 200;
}

@media (max-width: 1199px) {
  .vs-shopify .vs-hero__stage {
    margin-top: calc(var(--js-padding) * 5);
  }

  .vs-shopify .js-hero__block {
    max-width: 760px;
    margin: auto;
  }
}

.vs-shopify .vs-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(16px, 4vw, 40px);
  margin-top: calc(var(--js-padding) * 8);
  padding-top: calc(var(--js-padding) * 3);
  padding-bottom: calc(var(--js-padding) * 3);
  border-top: 1px solid var(--color-border);
}

.vs-shopify .vs-trust__item {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--color-secondary);
}

.vs-shopify .vs-trust__item .ph {
  color: var(--color-accent);
  font-size: 19px;
}

/* ----------------------------------------------------------------
  MYTH-BUSTING — "the belief" vs "the reality" proof cards
---------------------------------------------------------------- */
.vs-shopify .vs-myth-lede {
  max-width: 760px;
  margin: 0 auto calc(var(--js-padding) * 3);
  text-align: center;
}

.vs-shopify .vs-myth-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: calc(var(--js-padding) * 1.25);
}

.vs-shopify .vs-myth-card {
  border-radius: var(--js-radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-background);
  padding: calc(var(--js-padding) * 1.5);
  display: flex;
  flex-direction: column;
  gap: calc(var(--js-padding) * 0.9);
}

.vs-shopify .vs-myth-belief {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14px;
  color: var(--color-secondary);
}

.vs-shopify .vs-myth-belief i {
  flex-shrink: 0;
  font-size: 18px;
  color: var(--color-main-op4);
  margin-top: 2px;
}

.vs-shopify .vs-myth-belief strong {
  display: block;
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-main-op4);
  font-family: var(--font-main);
  margin-bottom: 4px;
}

.vs-shopify .vs-myth-reality {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding-top: calc(var(--js-padding) * 0.9);
  border-top: 1px dashed var(--color-border);
}

.vs-shopify .vs-myth-reality i {
  flex-shrink: 0;
  font-size: 20px;
  color: var(--js-color-green);
  margin-top: 1px;
}

.vs-shopify .vs-myth-reality strong {
  display: block;
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--js-color-green-dark);
  font-family: var(--font-main);
  margin-bottom: 4px;
}

.vs-shopify .vs-myth-reality p {
  font-size: 14.5px;
  line-height: 1.45;
  color: var(--color-main);
  margin: 0;
}

.vs-shopify .vs-myth-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.vs-shopify .vs-myth-logo {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--js-color-green-tint);
  border: 1px solid rgba(var(--js-color-green-rgb), 0.3);
  font-size: 12px;
  font-weight: 600;
  color: var(--color-main);
}

/* Honest callout: where Shopify genuinely wins */
.vs-shopify .vs-honest {
  margin-top: calc(var(--js-padding) * 3);
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  border-radius: var(--js-radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-main-op05);
  padding: calc(var(--js-padding) * 1.75);
  display: flex;
  gap: calc(var(--js-padding) * 1.25);
  align-items: flex-start;
}

.vs-shopify .vs-honest i {
  font-size: 26px;
  color: var(--color-accent);
  flex-shrink: 0;
  margin-top: 2px;
}

.vs-shopify .vs-honest h3 {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 6px;
  color: var(--color-main);
}

.vs-shopify .vs-honest p {
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--color-secondary);
  margin: 0;
}

/* ----------------------------------------------------------------
  ADVANTAGE CARDS (reused pattern)
---------------------------------------------------------------- */
.vs-shopify .vs-adv .js-cards__wrapper {
  height: 100%;
}

.vs-shopify .vs-adv .js-cards__icon i {
  line-height: 1;
}

/* ----------------------------------------------------------------
  COMPARISON MATRIX — card + pills layout
---------------------------------------------------------------- */
.vs-shopify .vs-cmp-savings {
  padding: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  border-radius: var(--js-radius-md);
  border: 1px solid rgba(var(--js-color-green-rgb), 0.32);
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  background-color: var(--js-color-white);
}

.vs-shopify .vs-cmp-savings-num {
  font-size: clamp(40px, 5vw, 60px);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--js-color-green);
  line-height: 1;
  flex-shrink: 0;
}

.vs-shopify .vs-cmp-savings-label {
  font-size: 15px;
  line-height: 1.4;
  color: var(--color-secondary);
  max-width: 280px;
  text-align: left;
}

.vs-shopify .vs-cmp-table {
  width: 100%;
  max-width: 620px;
  margin: auto;
  border-radius: var(--js-radius-md);
  border: 1px solid var(--color-border);
  background: var(--color-background);
  font-family: var(--font-secondary);
}

.vs-shopify .vs-cmp-head {
  padding: 16px 20px 15px;
  background: var(--js-color-grey);
  top: 4.3rem;
  border-radius: var(--js-radius-md) var(--js-radius-md) 0 0;
}

.vs-shopify .vs-cmp-caption {
  font-size: 10.5px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(var(--js-color-bright-rgb), 0.8);
  font-family: var(--font-main);
  font-weight: 600;
  margin-bottom: 10px;
}

.vs-shopify .vs-cmp-legend {
  display: flex;
  gap: 16px;
  align-items: center;
}

.vs-shopify .vs-cmp-leg-js,
.vs-shopify .vs-cmp-leg-tp {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  width: 50%;
}

.vs-shopify .vs-cmp-leg-js {
  color: var(--js-color-bright);
  font-family: var(--font-main);
  font-weight: 600;
}

.vs-shopify .vs-cmp-leg-tp {
  color: rgba(var(--js-color-bright-rgb), 0.55);
}

.vs-shopify .vs-cmp-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}

.vs-shopify .vs-cmp-leg-js .vs-cmp-dot {
  background: var(--js-color-green);
}

.vs-shopify .vs-cmp-leg-tp .vs-cmp-dot {
  background: rgba(var(--js-color-bright-rgb), 0.4);
}

.vs-shopify .vs-cmp-row {
  padding: 12px 20px;
  border-top: 1px solid var(--color-border);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.vs-shopify .vs-cmp-feat {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--color-main);
  line-height: 1.3;
  margin-bottom: 0;
}

.vs-shopify .vs-cmp-pills {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  align-items: center;
}

.vs-shopify .vs-cmp-pill {
  display: inline-flex;
  align-items: flex-start;
  gap: 5px;
  padding: 6px 12px 6px 9px;
  border-radius: var(--js-radius-md);
  font-size: 12.5px;
  white-space: normal;
  line-height: 1.3;
  width: calc(50% - 5px);
}

.vs-shopify .vs-cmp-pill i {
  margin-top: 2px;
}

.vs-shopify .vs-cmp-pill.vs-cmp-js {
  background: var(--js-color-green-tint);
  border: 1px solid rgba(var(--js-color-green-rgb), 0.32);
  font-weight: 600;
  color: var(--color-main);
}

.vs-shopify .vs-cmp-pill.vs-cmp-tp {
  background: var(--color-main-op05);
  border: 1px solid var(--color-border);
  color: var(--color-secondary);
}

/* Row where Shopify wins: flip which pill gets the check */
.vs-shopify .vs-cmp-pill.vs-cmp-tp.vs-cmp-win {
  background: var(--js-color-green-tint);
  border: 1px solid rgba(var(--js-color-green-rgb), 0.32);
  font-weight: 600;
  color: var(--color-main);
}

.vs-shopify .vs-cmp-pill.vs-cmp-js.vs-cmp-lose {
  background: var(--color-main-op05);
  border: 1px solid var(--color-border);
  color: var(--color-secondary);
  font-weight: 400;
}

.vs-shopify .vs-cmp-check,
.vs-shopify .vs-cmp-minus {
  font-size: 15px;
  line-height: 1;
  flex-shrink: 0;
}

.vs-shopify .vs-cmp-check {
  color: var(--js-color-green);
}

.vs-shopify .vs-cmp-minus {
  color: var(--color-main-op4);
}

@media (max-width: 991px) {
  .vs-shopify .vs-cmp-savings {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }

  .vs-shopify .vs-cmp-savings-label {
    text-align: center;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .vs-shopify .vs-cmp-pill {
    min-height: 37px;
  }
}

@media (max-width: 575px) {
  .vs-shopify .vs-cmp-pill {
    font-size: 10.5px;
    text-align: center;
    min-height: 55px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
  }

  .vs-shopify .vs-cmp-pill i {
    margin-top: 0;
  }

  .vs-shopify .vs-cmp-feat {
    text-align: center;
  }
}

/* ----------------------------------------------------------------
  FAQ ACCORDION — written as direct question/answer pairs so both
  readers and LLM crawlers can lift a self-contained answer.
---------------------------------------------------------------- */
.vs-shopify .vs-faq {
  max-width: 780px;
  margin: 0 auto;
}

.vs-shopify .vs-faq-item {
  border-bottom: 1px solid var(--color-border);
}

.vs-shopify .vs-faq-item:first-child {
  border-top: 1px solid var(--color-border);
}

.vs-shopify .vs-faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: calc(var(--js-padding) * 1.25) 4px;
  background: none;
  border: 0;
  text-align: left;
  cursor: pointer;
  font-family: var(--font-main);
  font-size: 16px;
  font-weight: 600;
  color: var(--color-main);
}

.vs-shopify .vs-faq-q i {
  flex-shrink: 0;
  font-size: 18px;
  color: var(--color-accent);
  transition: var(--js-transition);
}

.vs-shopify .vs-faq-item.is-open .vs-faq-q i {
  transform: rotate(180deg);
}

.vs-shopify .vs-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}

.vs-shopify .vs-faq-a p {
  padding: 0 4px calc(var(--js-padding) * 1.25);
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--color-secondary);
}

/* ----------------------------------------------------------------
  MERCHANTS SHOWCASE (reused pattern)
---------------------------------------------------------------- */
.vs-shopify .vs-merchants {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: clamp(16px, 2vw, 24px);
}

.vs-shopify .vs-merchant {
  display: block;
  border-radius: var(--js-radius-md);
  overflow: hidden;
  border: 1px solid var(--color-border);
  background: var(--color-main-op05);
  transition: var(--js-transition);
}

.vs-shopify .vs-merchant:hover {
  transform: translateY(-6px);
  border-color: var(--color-main-op2);
  box-shadow: 0 20px 50px -24px rgba(0, 0, 0, 0.6);
}

.vs-shopify .vs-merchant img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.vs-shopify .vs-merchant__name {
  display: block;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-secondary);
}

/* ----------------------------------------------------------------
  RESPONSIVE
---------------------------------------------------------------- */
@media (max-width: 991px) and (min-width: 480px) {
  .vs-shopify .vs-merchants {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 479px) {
  .vs-shopify .vs-merchants {
    grid-template-columns: 1fr;
  }
}
