/* BackSeat storefront theme: loaded last, restyles the app's own markup and styles the sections added by /scripts/site-boost.js. */
:root {
  --bsx-bg: #07051a; --bsx-card: rgba(255, 255, 255, 0.04); --bsx-line: rgba(197, 151, 241, 0.16); --bsx-line-hi: rgba(197, 151, 241, 0.45);
  --bsx-pu: #8b2cf5; --bsx-pu-hi: #a855f7; --bsx-lav: #c9a8ff; --bsx-grad: linear-gradient(135deg, #a855f7 0%, #7c3aed 55%, #6d28d9 100%);
  --bsx-glow: 0 8px 22px -10px rgba(139, 44, 245, 0.7); --bsx-text-soft: rgba(255, 255, 255, 0.66);
}

/* ------------------------------------------------------------- page background */
html, body { background-color: var(--bsx-bg) !important; }
body {
  background-image:
    radial-gradient(1100px 560px at 78% -8%, rgba(139, 44, 245, 0.30), transparent 62%),
    radial-gradient(900px 520px at -5% 18%, rgba(79, 70, 229, 0.20), transparent 60%),
    none !important;
  background-repeat: no-repeat !important;
}

/* ------------------------------------------------------------- header */
header.sticky { background: rgba(8, 6, 24, 0.95) !important; border-bottom: 1px solid var(--bsx-line) !important; box-shadow: 0 10px 40px -28px rgba(139, 44, 245, 0.9); }
header a[aria-current="page"] { background: rgba(139, 44, 245, 0.22) !important; color: #fff !important; box-shadow: inset 0 0 0 1px rgba(197, 151, 241, 0.3); }
header a[href="/dashboard"].bg-white, header .bg-white.text-black { background: var(--bsx-grad) !important; color: #fff !important; border-color: transparent !important; box-shadow: var(--bsx-glow); }
header a[href="/dashboard"].bg-white:hover { filter: brightness(1.1); }

/* ------------------------------------------------------------- buttons: violet call to action instead of plain white */
main .bg-white.text-black, main a.bg-white, main button.bg-white {
  background: var(--bsx-grad) !important; color: #fff !important; border: 0 !important; box-shadow: var(--bsx-glow); font-weight: 700 !important; letter-spacing: 0.005em;
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease !important;
}
main .bg-white.text-black:hover, main a.bg-white:hover, main button.bg-white:hover { transform: translateY(-2px); filter: brightness(1.08); box-shadow: 0 18px 46px -12px rgba(139, 44, 245, 0.95) !important; }
main .bg-white.text-black svg { color: #fff !important; }

/* ------------------------------------------------------------- cards */
.reveal.rounded-3xl, a > .rounded-3xl.border { transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, background 220ms ease !important; }
a:hover > .rounded-3xl.border, .group:hover .rounded-3xl.border { transform: translateY(-4px); border-color: var(--bsx-line-hi) !important; box-shadow: 0 0 0 1px rgba(168, 85, 247, 0.25), 0 30px 70px -34px rgba(139, 44, 245, 0.85) !important; }
main .product-image-frame img { transition: transform 420ms ease; }
a:hover .product-image-frame img { transform: scale(1.05); }

/* ------------------------------------------------------------- typography and sections */
#categories h2, #features h2, #payments h2, #about h2, #reviews h2 { font-size: clamp(1.9rem, 4.2vw, 2.8rem) !important; line-height: 1.08 !important; letter-spacing: -0.03em !important; font-weight: 800 !important; background: linear-gradient(180deg, #fff 30%, #cdb3ff); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
#categories, #features, #payments, #about, #reviews { padding-top: 3.6rem !important; padding-bottom: 3.6rem !important; }
main [class*="uppercase"][class*="tracking-wider"], main .text-xs.uppercase { color: var(--bsx-lav) !important; letter-spacing: 0.14em !important; font-weight: 700 !important; }

/* ------------------------------------------------------------- home hero */
html[data-page="home"] #top { position: relative; padding-top: 1.5rem; }
html[data-page="home"] #top::before { content: ""; position: absolute; inset: -70px 0 auto 0; height: 700px; pointer-events: none; z-index: 0;
  background: radial-gradient(620px 320px at 18% 34%, rgba(168, 85, 247, 0.32), transparent 70%), radial-gradient(520px 300px at 88% 8%, rgba(99, 102, 241, 0.26), transparent 70%); }
html[data-page="home"] #top > * { position: relative; z-index: 1; }
html[data-page="home"] #top h1 { font-size: clamp(2.7rem, 6.4vw, 4.9rem) !important; line-height: 1.01 !important; letter-spacing: -0.04em !important; font-weight: 800 !important;
  background: linear-gradient(180deg, #fff 18%, #d9c2ff 62%, #a978f5 100%); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
html[data-page="home"] #top h1 + p { font-size: clamp(1.02rem, 1.7vw, 1.2rem) !important; line-height: 1.65 !important; color: var(--bsx-text-soft) !important; max-width: 34rem !important; }
html[data-page="home"] #top a[href="/products"].bg-white { padding: 0.95rem 1.7rem !important; font-size: 1rem !important; border-radius: 1rem !important; }
html[data-page="home"] #top .mt-6.flex a:not(.bg-white) { padding: 0.95rem 1.5rem !important; font-size: 1rem !important; border-radius: 1rem !important; }
html[data-page="home"] #top .mt-8.grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 34rem; }
html[data-page="home"] #top .mt-8.grid > div { border-color: var(--bsx-line) !important; background: linear-gradient(160deg, rgba(139, 44, 245, 0.14), rgba(255, 255, 255, 0.03)) !important; }

/* ------------------------------------------------------------- product page and catalog */
html[data-page="product"] main h1 { font-size: clamp(2rem, 4vw, 2.9rem) !important; letter-spacing: -0.03em !important; font-weight: 800 !important; }
html[data-page="product"] main button[class*="border-white/25"], html[data-page="product"] main button.bg-white\/10 { background: linear-gradient(160deg, rgba(139, 44, 245, 0.28), rgba(139, 44, 245, 0.10)) !important; border-color: var(--bsx-line-hi) !important; box-shadow: 0 0 0 1px rgba(168, 85, 247, 0.25) inset; }
html[data-page="product"] [class*="rounded-2xl"][class*="p-4"] .font-semibold.text-white { font-size: 1.05rem; }

/* ------------------------------------------------------------- footer */
footer { background: linear-gradient(180deg, transparent, rgba(139, 44, 245, 0.07)) !important; border-top: 1px solid var(--bsx-line) !important; }

/* ============================================================= sections added by site-boost.js */
.bsx { position: relative; width: min(100%, 80rem); margin: 0 auto; padding: 3.2rem 1rem; box-sizing: border-box; }
@media (min-width: 640px) { .bsx { padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .bsx { padding-left: 2rem; padding-right: 2rem; } }
.bsx *, .bsx *::before, .bsx *::after { box-sizing: border-box; }
.bsx-head { max-width: 44rem; margin-bottom: 2rem; }
.bsx-head.is-center { max-width: 62rem; margin-left: auto; margin-right: auto; text-align: center; }
.bsx-eyebrow { color: var(--bsx-lav); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.bsx-title { margin: 0.55rem 0 0; font-size: clamp(1.9rem, 4.2vw, 2.8rem); font-weight: 800; line-height: 1.08; letter-spacing: -0.03em; background: linear-gradient(180deg, #fff 30%, #cdb3ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.bsx-sub { margin: 0.8rem 0 0; color: var(--bsx-text-soft); font-size: 1.02rem; line-height: 1.65; }
.bsx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 3rem; padding: 0 1.5rem; border: 1px solid var(--bsx-line); border-radius: 1rem; background: rgba(255, 255, 255, 0.05); color: #fff; font-weight: 700; font-size: 0.95rem; text-decoration: none; cursor: pointer; transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease, background 160ms ease; }
.bsx-btn:hover { transform: translateY(-2px); background: rgba(255, 255, 255, 0.09); }
.bsx-btn.is-primary { border: 0; background: var(--bsx-grad); box-shadow: var(--bsx-glow); }
.bsx-btn.is-primary:hover { filter: brightness(1.1); box-shadow: 0 18px 46px -12px rgba(139, 44, 245, 0.95); }
.bsx-btn svg { width: 1.05rem; height: 1.05rem; }

/* trust bar */
.bsx-trust { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.bsx-trust-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.8rem; padding: 1.1rem; border: 1px solid var(--bsx-line); border-radius: 1.6rem; background: linear-gradient(135deg, rgba(139, 44, 245, 0.12), rgba(255, 255, 255, 0.025)); box-shadow: 0 30px 70px -48px rgba(139, 44, 245, 0.9); }
.bsx-trust-item { display: flex; align-items: center; gap: 0.8rem; padding: 0.35rem 0.5rem; min-width: 0; }
.bsx-trust-ico { display: grid; place-items: center; flex: none; width: 2.7rem; height: 2.7rem; border-radius: 0.9rem; background: rgba(139, 44, 245, 0.22); border: 1px solid rgba(197, 151, 241, 0.3); color: var(--bsx-lav); }
.bsx-trust-ico svg { width: 1.3rem; height: 1.3rem; }
.bsx-trust-item strong { display: block; font-size: 0.95rem; line-height: 1.25; }
.bsx-trust-item span.t { display: block; margin-top: 0.1rem; color: var(--bsx-text-soft); font-size: 0.78rem; line-height: 1.35; }

/* plan cards */
.bsx-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.bsx-plan { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--bsx-line); border-radius: 1.6rem; background: linear-gradient(170deg, rgba(139, 44, 245, 0.10), rgba(255, 255, 255, 0.025)); color: #fff; text-decoration: none; transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease; }
.bsx-plan:hover { transform: translateY(-5px); border-color: var(--bsx-line-hi); box-shadow: 0 0 0 1px rgba(168, 85, 247, 0.25), 0 34px 74px -34px rgba(139, 44, 245, 0.9); }
.bsx-plan-img { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #0d0a24; }
.bsx-plan-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 420ms ease; }
.bsx-plan:hover .bsx-plan-img img { transform: scale(1.06); }
.bsx-tag { position: absolute; left: 0.8rem; top: 0.8rem; padding: 0.3rem 0.7rem; border-radius: 999px; background: rgba(8, 6, 24, 0.82); border: 1px solid var(--bsx-line-hi); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.bsx-tag.is-hot { background: var(--bsx-grad); border-color: transparent; box-shadow: var(--bsx-glow); }
.bsx-tag.is-sale { background: linear-gradient(135deg, #22c55e, #15803d); border-color: transparent; }
.bsx-plan-body { display: flex; flex: 1; flex-direction: column; gap: 0.7rem; padding: 1.15rem 1.25rem 1.3rem; }
.bsx-plan-body h3 { margin: 0; font-size: 1.3rem; font-weight: 800; letter-spacing: -0.02em; }
.bsx-plan-body p { margin: 0; color: var(--bsx-text-soft); font-size: 0.9rem; line-height: 1.5; }
.bsx-plan-body ul { display: grid; gap: 0.4rem; margin: 0.2rem 0 0; padding: 0; list-style: none; font-size: 0.86rem; }
.bsx-plan-body li { display: flex; gap: 0.5rem; align-items: flex-start; color: rgba(255, 255, 255, 0.82); }
.bsx-plan-body li::before { content: ""; flex: none; width: 1rem; height: 1rem; margin-top: 0.12rem; border-radius: 50%; background: rgba(34, 197, 94, 0.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2386efac' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center / 68% no-repeat; }
.bsx-plan-foot { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; margin-top: auto; padding-top: 0.9rem; border-top: 1px solid rgba(255, 255, 255, 0.07); }
.bsx-price small { display: block; color: var(--bsx-text-soft); font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; }
.bsx-price strong { font-size: 1.6rem; font-weight: 800; letter-spacing: -0.02em; }
.bsx-price s { margin-left: 0.4rem; color: rgba(255, 255, 255, 0.45); font-size: 0.9rem; font-weight: 600; }
.bsx-plan .bsx-btn { min-height: 2.6rem; padding: 0 1.1rem; font-size: 0.88rem; }

/* how it works */
.bsx-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; counter-reset: step; }
.bsx-step { position: relative; padding: 1.5rem; border: 1px solid var(--bsx-line); border-radius: 1.6rem; background: linear-gradient(170deg, rgba(139, 44, 245, 0.10), rgba(255, 255, 255, 0.02)); }
.bsx-step-n { display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: 1rem; border-radius: 1rem; background: var(--bsx-grad); box-shadow: var(--bsx-glow); font-size: 1.3rem; font-weight: 800; }
.bsx-step h3 { margin: 0 0 0.4rem; font-size: 1.2rem; font-weight: 800; letter-spacing: -0.02em; }
.bsx-step p { margin: 0; color: var(--bsx-text-soft); font-size: 0.93rem; line-height: 1.6; }
.bsx-step:not(:last-child)::after { content: ""; position: absolute; right: -0.8rem; top: 2.5rem; width: 0.5rem; height: 0.5rem; border-top: 2px solid var(--bsx-line-hi); border-right: 2px solid var(--bsx-line-hi); transform: rotate(45deg); }

/* faq */
.bsx-faq { display: grid; gap: 0.7rem; max-width: 52rem; margin: 0 auto; }
.bsx-faq details { border: 1px solid var(--bsx-line); border-radius: 1.2rem; background: linear-gradient(170deg, rgba(139, 44, 245, 0.08), rgba(255, 255, 255, 0.02)); transition: border-color 160ms ease; }
.bsx-faq details[open] { border-color: var(--bsx-line-hi); }
.bsx-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.05rem 1.3rem; font-size: 1.02rem; font-weight: 700; cursor: pointer; list-style: none; }
.bsx-faq summary::-webkit-details-marker { display: none; }
.bsx-faq summary::after { content: "+"; flex: none; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: rgba(139, 44, 245, 0.25); text-align: center; line-height: 1.65rem; font-size: 1.2rem; }
.bsx-faq details[open] summary::after { content: "–"; }
.bsx-faq p { margin: 0; padding: 0 1.3rem 1.2rem; color: var(--bsx-text-soft); font-size: 0.95rem; line-height: 1.65; }

/* closing call to action */
.bsx-cta { position: relative; overflow: hidden; padding: 2.8rem 1.5rem; border: 1px solid var(--bsx-line-hi); border-radius: 2rem; text-align: center; background: radial-gradient(520px 260px at 50% 0, rgba(168, 85, 247, 0.38), transparent 70%), linear-gradient(170deg, rgba(139, 44, 245, 0.18), rgba(255, 255, 255, 0.03)); box-shadow: 0 40px 90px -50px rgba(139, 44, 245, 1); }
.bsx-cta h2 { margin: 0; font-size: clamp(1.9rem, 4.4vw, 3rem); font-weight: 800; letter-spacing: -0.03em; }
.bsx-cta p { max-width: 36rem; margin: 0.8rem auto 0; color: var(--bsx-text-soft); font-size: 1.02rem; line-height: 1.6; }
.bsx-cta-row { display: flex; flex-wrap: wrap; gap: 0.8rem; justify-content: center; margin-top: 1.6rem; }

/* catalog cards: price and delivery chips added under the name */
.bsx-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem; margin-top: 0.7rem; }
.bsx-chip { padding: 0.28rem 0.65rem; border-radius: 999px; border: 1px solid var(--bsx-line); background: rgba(255, 255, 255, 0.05); font-size: 0.74rem; font-weight: 700; color: rgba(255, 255, 255, 0.85); }
.bsx-chip.is-price { background: var(--bsx-grad); border-color: transparent; color: #fff; box-shadow: var(--bsx-glow); font-size: 0.8rem; }
.bsx-chip.is-ok { color: #86efac; border-color: rgba(34, 197, 94, 0.35); background: rgba(34, 197, 94, 0.1); }
.bsx-chip.is-sale { color: #fff; border-color: transparent; background: linear-gradient(135deg, #22c55e, #15803d); }

/* product page: reasons to buy under the buy button, and a sticky bar on phones */
.bsx-trustlist { display: grid; gap: 0.55rem; margin: 0.9rem 0 0; padding: 0.9rem 1rem; border: 1px solid var(--bsx-line); border-radius: 1.1rem; background: rgba(139, 44, 245, 0.08); list-style: none; font-size: 0.85rem; }
.bsx-trustlist li { display: flex; align-items: center; gap: 0.6rem; color: rgba(255, 255, 255, 0.86); }
.bsx-trustlist li svg { flex: none; width: 1.1rem; height: 1.1rem; color: #86efac; }
.bsx-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; display: none; align-items: center; justify-content: space-between; gap: 0.8rem; padding: 0.7rem 1rem calc(0.7rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--bsx-line-hi); background: rgba(8, 6, 24, 0.97); box-shadow: 0 -10px 24px -14px rgba(0, 0, 0, 0.8); }
.bsx-sticky .bsx-price strong { font-size: 1.25rem; }
.bsx-sticky .bsx-btn { min-height: 2.8rem; padding: 0 1.4rem; }

@media (max-width: 980px) {
  .bsx-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bsx-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bsx-steps { grid-template-columns: minmax(0, 1fr); }
  .bsx-step:not(:last-child)::after { display: none; }
}
@media (max-width: 640px) {
  .bsx { padding-top: 2.2rem; padding-bottom: 2.2rem; }
  .bsx-trust-grid { grid-template-columns: minmax(0, 1fr); gap: 0.2rem; }
  .bsx-plans { grid-template-columns: minmax(0, 1fr); }
  html[data-page="home"] #top .mt-8.grid { grid-template-columns: minmax(0, 1fr); }
  .bsx-sticky.is-on { display: flex; }
  html[data-page="product"] footer { padding-bottom: 5rem; }
}

/* other white buttons from older stylesheets follow the same violet call to action */
.try-cta-btn { background: var(--bsx-grad) !important; color: #fff !important; box-shadow: var(--bsx-glow); }
.bsx-sticky { color: #fff; }

.bsx-more { display: flex; justify-content: center; margin: 1.6rem 0 0; }
.bsx-more .bsx-btn { display: inline-flex; align-items: center; gap: .5rem; padding: .75rem 1.4rem; border-radius: 12px; font-weight: 600; text-decoration: none; border: 1px solid var(--bsx-line); color: #fff; }
.bsx-more .bsx-btn.is-primary { background: var(--bsx-grad); border-color: transparent; }
.bsx-more .bsx-btn svg { width: 1rem; height: 1rem; }
