 :root {
   --bg: #f6f7fb;
   --surface: #ffffff;
   --surface-dark: #08122b;
   --surface-dark-2: #0f1d44;
   --text: #101828;
   --muted: #667085;
   --line: rgba(16, 24, 40, 0.08);
   --primary: #2f6df6;
   --primary-2: #5b8cff;
   --accent: #f4c21d;
   --success: #12b76a;
   --radius: 24px;
   --radius-sm: 16px;
   --shadow: 0 14px 40px rgba(9, 15, 36, 0.08);
   --max: 1200px;
 }

 *,
 *::before,
 *::after {
   box-sizing: border-box
 }

 html {
   scroll-behavior: smooth
 }

 body.vanta-theme {
   margin: 0;
   font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
   color: var(--text);
   /* background:linear-gradient(180deg,#f7f8fd 0%,#edf2ff 100%); */
   background-color: #eef2ff;
   line-height: 1.6;
 }

 a {
   color: inherit;
   text-decoration: none
 }

 img {
   max-width: 100%;
   display: block
 }

 .site-container {
   width: min(calc(100% - 32px), var(--max));
   margin-inline: auto
 }

 .site-header {
   position: sticky;
   top: 0;
   z-index: 40;
   background: rgba(255, 255, 255, .85);
   backdrop-filter: blur(18px);
   border-bottom: 1px solid rgba(16, 24, 40, .06);
 }

 .site-header__inner {
   min-height: 88px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
 }

 .custom-logo,
 .custom-logo-link img {
   max-height: 64px;
   width: auto
 }

 .site-branding__text-logo {
   font-size: 1.5rem;
   font-weight: 800;
   letter-spacing: -.02em
 }

 .site-nav__menu {
   display: flex;
   list-style: none;
   margin: 0;
   padding: 0;
   gap: 28px;
   align-items: center
 }

 .site-nav__menu a {
   font-weight: 600;
   color: #23314f
 }

 .wf-pro-content {
   padding-top: 10px !important;
 }

 @media (max-width: 767px) {
   .ec-inner {
     padding-top: 10px !important;
   }
 }

 .site-nav__menu a:hover {
   color: var(--primary)
 }

 .site-header__cta,
 .button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   min-height: 52px;
   padding: 0 26px;
   border-radius: 999px;
   border: 0;
   cursor: pointer;
   font-weight: 700;
   transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
 }

 .site-header__cta,
 .button--primary {
   background: linear-gradient(135deg, var(--primary) 0%, var(--primary-2) 100%);
   color: #fff;
   box-shadow: 0 12px 28px rgba(47, 109, 246, .24)
 }

 .site-header__cta:hover,
 .button--primary:hover {
   transform: translateY(-2px)
 }

 .button--large {
   min-height: 58px;
   padding: 0 34px;
   font-size: 1rem
 }

 .vanta-page {
   padding-bottom: 0
 }

 .announcement-bar {
   position: sticky;
   top: 88px;
   z-index: 30;
   background: rgba(8, 18, 43, .96);
   color: #fff;
   border-bottom: 1px solid rgba(255, 255, 255, .08);
 }

 .announcement-bar__inner {
   min-height: 52px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 16px;
 }

 .announcement-bar__left,
 .announcement-bar__right {
   display: flex;
   align-items: center;
   gap: 14px;
   flex-wrap: wrap
 }

 .announcement-bar__badge {
   padding: 8px 14px;
   border-radius: 999px;
   background: rgba(255, 255, 255, .08);
   border: 1px solid rgba(255, 255, 255, .12);
   font-size: .88rem;
   font-weight: 700
 }

 .announcement-bar__text,
 .announcement-bar__right span {
   color: rgba(255, 255, 255, .82);
   font-size: .95rem
 }

 .announcement-bar__right a {
   color: var(--accent);
   font-weight: 700
 }

 .vanta-section {
   padding: 40px 0
 }

 .vanta-section--hero {
   padding-top: 40px;
   padding-bottom: 0;
 }

 .eyebrow-card,
 .hero-window,
 .icon-card,
 .step-card,
 .book-card,
 .cta-card,
 .final-cta-card,
 .trust-panel {
   background: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius);
   /* box-shadow:var(--shadow) */
 }

 .eyebrow-card {
   display: grid;
   grid-template-columns: 1.5fr 1fr;
   gap: 28px;
   align-items: center;
   padding: 28px;
   margin-bottom: 28px
 }

 .eyebrow-card__title {
   margin: 0 0 10px;
   font-size: clamp(1.5rem, 3vw, 2.1rem);
   font-weight: 800;
   line-height: 1.15
 }

 .eyebrow-card__subtitle,
 .hero-copy p,
 .section-heading p,
 .cta-card p,
 .final-cta-card p,
 .how-note,
 .books-footer p,
 .icon-card p,
 .step-card p {
   margin: 0;
   color: var(--muted)
 }

 .eyebrow-card__actions {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 12px
 }

 .eyebrow-card__meta {
   font-size: .95rem;
   color: var(--muted)
 }

 .hero-banner-image {
   overflow: hidden;
   border-radius: 24px;
   border: 1px solid rgba(255, 255, 255, .18);
   background: #080402;
   box-shadow: 0 24px 60px rgba(9, 15, 36, .18);
   margin-bottom: 24px;
 }

 .hero-banner-image img {
   display: block;
   width: 100%;
   height: auto;
 }

 .hero-window__cta--after-banner {
   margin-bottom: 28px;
 }

 .hero-window {
   position: relative;
   padding: 34px;
   background:
     radial-gradient(circle at top right, rgba(91, 140, 255, .18), transparent 32%),
     radial-gradient(circle at bottom left, rgba(244, 194, 29, .16), transparent 25%),
     linear-gradient(180deg, #fff 0%, #f8faff 100%);
 }

 .hero-window__cta {
   display: flex;
   justify-content: center;
   margin-bottom: 24px
 }

 .scarcity-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 18px;
   margin-bottom: 32px
 }

 .scarcity-tile {
   padding: 20px;
   border-radius: 20px;
   background: #f7f8fe;
   border: 1px solid rgba(47, 109, 246, .12)
 }

 .scarcity-tile strong {
   display: block;
   font-size: 1rem;
   line-height: 1.35;
   margin-bottom: 4px
 }

 .scarcity-tile span {
   font-size: .92rem;
   color: var(--muted)
 }

 .hero-copy {
   max-width: 780px;
   margin: 0 auto 28px;
   text-align: center
 }

 .hero-copy h1,
 .section-heading h2,
 .final-cta-card h2 {
   margin: 0 0 12px;
   line-height: 1.08;
   letter-spacing: -.04em
 }

 .hero-copy h1 {
   font-size: clamp(2.5rem, 5vw, 4.3rem)
 }

 .section-heading {
   text-align: center;
   max-width: 760px;
   margin: 0 auto 28px
 }

 .section-heading h2 {
   font-size: clamp(2rem, 4vw, 3.2rem)
 }

 .trust-panel-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 18px
 }

 .trust-panel-slider {
   position: relative;
   overflow: hidden;
   padding: 2px 2px 0;
 }

 .trust-panel-slider .swiper-wrapper {
   align-items: stretch;
 }

 .trust-panel-slider .swiper-slide {
   height: auto;
   display: flex;
 }

 .trust-panel-slider .trust-panel {
   width: 100%;
   height: 100%;
   padding: 24px;
 }

 .trust-panel-slider__controls {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 14px;
   margin-top: 18px;
 }

 .trust-panel-slider__pagination {
   position: static !important;
   width: auto !important;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
 }

 .trust-panel-slider .swiper-pagination-bullet {
   width: 9px;
   height: 9px;
   margin: 0 !important;
   background: #98a2b3;
   opacity: .6;
 }

 .trust-panel-slider .swiper-pagination-bullet-active {
   width: 22px;
   border-radius: 999px;
   background: var(--primary);
   opacity: 1;
 }

 .trust-panel {
   padding: 24px
 }

 .trust-panel h3,
 .step-card h3,
 .book-card h3 {
   margin: 0 0 14px;
   line-height: 1.2
 }

 .trust-panel ul,
 .book-card__stats,
 .footer-links {
   margin: 0;
   padding: 0;
   list-style: none
 }

 .trust-panel li,
 .book-card__stats li {
   position: relative;
   padding-left: 22px;
   margin-top: 10px;
   color: #344054
 }

 .trust-panel li::before,
 .book-card__stats li::before {
   content: "";
   position: absolute;
   left: 0;
   top: 10px;
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: var(--primary)
 }

 .live-strip {
   overflow: hidden;
   margin-top: 24px;
   background: linear-gradient(135deg, var(--surface-dark) 0%, var(--surface-dark-2) 100%);
   border-radius: 20px;
   color: #fff;
   padding: 14px 0
 }

 .live-strip__track {
   display: flex;
   gap: 32px;
   min-width: max-content;
   animation: vantaTicker 30s linear infinite
 }

 .live-strip__track span {
   font-weight: 700;
   opacity: .92
 }

 @keyframes vantaTicker {
   from {
     transform: translateX(0)
   }

   to {
     transform: translateX(-50%)
   }
 }

 .steps-slider {
   position: relative;
   overflow: hidden;
   padding: 2px 2px 0;
 }

 .steps-slider .swiper-wrapper {
   align-items: stretch;
 }

 .steps-slider .swiper-slide {
   height: auto;
   display: flex;
 }

 .steps-slider .step-card {
   width: 100%;
   height: 100%;
 }

 .steps-slider__controls {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 14px;
   margin-top: 18px;
 }

 .steps-slider__pagination {
   position: static !important;
   width: auto !important;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
 }

 .steps-slider .swiper-pagination-bullet {
   width: 9px;
   height: 9px;
   margin: 0 !important;
   background: #98a2b3;
   opacity: .6;
 }

 .steps-slider .swiper-pagination-bullet-active {
   width: 22px;
   border-radius: 999px;
   background: var(--primary);
   opacity: 1;
 }

 .icon-card-grid,
 .steps-grid,
 .books-grid {
   display: grid;
   gap: 18px
 }

 .icon-card-grid {
   grid-template-columns: repeat(3, 1fr);
   margin-bottom: 24px
 }

 .inside-cards-slider {
   position: relative;
   overflow: hidden;
   margin-bottom: 24px;
   padding: 2px 2px 0;
 }

 .inside-cards-slider .swiper-wrapper {
   align-items: stretch;
 }

 .inside-cards-slider .swiper-slide {
   height: auto;
   display: flex;
 }

 .inside-cards-slider .icon-card {
   width: 100%;
   height: 100%;
 }

 .inside-cards-slider__controls {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 14px;
   margin-top: 18px;
 }

 .inside-cards-slider__pagination {
   position: static !important;
   width: auto !important;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
 }

 .inside-cards-slider .swiper-pagination-bullet {
   width: 9px;
   height: 9px;
   margin: 0 !important;
   background: #98a2b3;
   opacity: .6;
 }

 .inside-cards-slider .swiper-pagination-bullet-active {
   width: 22px;
   border-radius: 999px;
   background: var(--primary);
   opacity: 1;
 }

 .icon-card,
 .step-card {
   padding: 24px
 }

 .icon-card__emoji,
 .step-card__icon {
   width: 58px;
   height: 58px;
   border-radius: 18px;
   display: grid;
   place-items: center;
   background: linear-gradient(135deg, rgba(47, 109, 246, .12), rgba(244, 194, 29, .15));
   font-size: 1.65rem;
   margin-bottom: 18px
 }

 .step-card__icon img {
   display: block;
   width: 32px;
   height: 32px;
   object-fit: contain;
 }

 .icon-card__emoji img {
   display: block;
   width: 32px;
   height: 32px;
   object-fit: contain;
 }

 .scarcity-banner {
   padding: 18px 22px;
   border-radius: 18px;
   background: linear-gradient(135deg, #fff4cc, #ffe08a);
   color: #6b4c00;
   font-weight: 700;
   border: 1px solid rgba(244, 194, 29, .4)
 }

 .steps-grid {
   grid-template-columns: repeat(3, 1fr)
 }

 .how-microcopy {
   max-width: 760px;
   text-align: center;
   margin: 28px auto 12px;
   font-size: 1.15rem;
   font-style: italic;
   font-weight: 700
 }

 .how-note {
   text-align: center;
   max-width: 820px;
   margin: 0 auto
 }

 .vanta-section--cta {
   padding-top: 32px;
   padding-bottom: 32px
 }

 .cta-card,
 .final-cta-card {
   padding: 28px 30px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px
 }

 .filter-toolbar {
   position: sticky;
   top: 140px;
   z-index: 20;
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 16px;
   padding: 16px 18px;
   border-radius: 20px;
   background: rgba(255, 255, 255, .88);
   backdrop-filter: blur(14px);
   border: 1px solid rgba(16, 24, 40, .08);
   box-shadow: var(--shadow);
   margin-bottom: 24px
 }

 .filter-buttons {
   display: flex;
   gap: 12px;
   flex-wrap: wrap
 }

 .filter-button {
   border: 1px solid rgba(16, 24, 40, .08);
   background: #fff;
   border-radius: 999px;
   padding: 12px 18px;
   font-weight: 700;
   color: #344054;
   cursor: pointer;
   transition: .2s ease
 }

 .filter-button:hover,
 .filter-button.is-active {
   background: linear-gradient(135deg, var(--primary), var(--primary-2));
   color: #fff;
   border-color: transparent
 }

 .filter-toolbar__badge {
   background: #eef4ff;
   color: #1849a9;
   border: 1px solid rgba(47, 109, 246, .14);
   padding: 10px 14px;
   border-radius: 999px;
   font-weight: 700;
   font-size: .92rem
 }

 .books-grid {
   grid-template-columns: repeat(3, 1fr)
 }

 .book-card {
   overflow: hidden;
   border: 1px solid rgba(16, 24, 40, .08);
   border-radius: 24px;
   background: #fff;
   box-shadow: 0 18px 40px rgba(9, 15, 36, .06);
 }

 .book-card__image {
   position: relative;
   overflow: hidden;
   aspect-ratio: 3 / 4.5;
   background: #dfe8ff;
 }

 .book-card__image img {
   width: 100%;
   height: 100%;
   object-fit: inherit;
   display: block;
   position: relative;
   z-index: 2;
 }

 .book-card__placeholder {
   position: absolute;
   inset: 0;
   z-index: 1;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   padding: 14px;
   color: #fff;
   background: linear-gradient(135deg, #2f6df6, #233876);
 }

 .book-card__image:not(.is-fallback) .book-card__placeholder {
   display: none;
 }

 .book-card__pill {
   align-self: flex-start;
   display: inline-flex;
   align-items: center;
   gap: 6px;
   padding: 6px 12px;
   border-radius: 999px;
   background: #12b76a;
   color: #fff;
   font-size: .76rem;
   font-weight: 800;
   line-height: 1;
 }

 .book-card__pill::before {
   content: "✓";
   font-size: .72rem;
   font-weight: 900;
 }

 .book-card__placeholder-copy small {
   display: block;
   margin: 0 0 8px;
   font-size: .72rem;
   font-weight: 700;
   letter-spacing: .14em;
   text-transform: uppercase;
   opacity: .82;
 }

 .book-card__placeholder-copy strong {
   display: block;
   font-size: 1.75rem;
   line-height: 1.08;
   font-weight: 800;
   max-width: 11ch;
 }

 /* Category based placeholder colors */
 .book-card__placeholder--business {
   background: linear-gradient(135deg, #274690, #1b2f66);
 }

 .book-card__placeholder--horror {
   background: linear-gradient(135deg, #7a0000, #140000);
 }

 .book-card__placeholder--fiction {
   background: linear-gradient(135deg, #1f8a70, #0b4f43);
 }

 .book-card__placeholder--self-help {
   background: linear-gradient(135deg, #0e7490, #164e63);
 }

 .book-card__placeholder--romance {
   background: linear-gradient(135deg, #b42318, #5b1c17);
 }

 .book-card__placeholder--thriller {
   background: linear-gradient(135deg, #3b2f2f, #1f1414);
 }

 .book-card__placeholder--finance {
   background: linear-gradient(135deg, #375dfb, #2f3cc9);
 }

 .book-card__placeholder--tech {
   background: linear-gradient(135deg, #155eef, #1849a9);
 }

 .book-card__placeholder--default,
 .book-card__placeholder--all {
   background: linear-gradient(135deg, #2f6df6, #233876);
 }

 .book-card__body {
   padding: 20px
 }


 .book-card__meta {
   margin: 0 0 8px;
   font-weight: 700;
   color: #1849a9
 }

 .book-card__subtitle {
   margin: 0 0 14px;
   color: var(--muted);
   font-size: .94rem
 }

 .books-footer {
   text-align: center;
   margin-top: 24px
 }

 .books-footer__pill {
   display: inline-flex;
   padding: 12px 20px;
   border-radius: 999px;
   background: #101828;
   color: #fff;
   font-weight: 800;
   margin-bottom: 14px
 }

 .vanta-section--devices {
   padding-top: 64px;
   padding-bottom: 64px
 }

 .device-pills {
   display: flex;
   justify-content: center;
   gap: 16px;
   flex-wrap: wrap
 }

 .device-pill {
   padding: 14px 18px;
   border-radius: 999px;
   background: #fff;
   border: 1px solid rgba(16, 24, 40, .08);
   box-shadow: 0 10px 22px rgba(9, 15, 36, .06);
   font-weight: 700;
   color: #23314f
 }

 .vanta-section--final {
   padding-top: 40px
 }

 .final-cta-card {
   text-align: center;
   display: block;
   padding: 42px;
   background:
     radial-gradient(circle at top left, rgba(244, 194, 29, .18), transparent 28%),
     radial-gradient(circle at bottom right, rgba(47, 109, 246, .18), transparent 32%),
     linear-gradient(180deg, #fff 0%, #f7f9ff 100%)
 }

 .final-cta-card .button {
   margin-top: 12px
 }

 .site-footer {
   margin-top: 0;
   padding: 72px 0 24px;
   color: #d5ddf8;
   background: linear-gradient(180deg, #08122b 0%, #020918 100%)
 }

 .site-footer__grid {
   display: grid;
   grid-template-columns: 1.2fr .8fr .8fr .8fr;
   gap: 30px;
   padding-bottom: 34px;
   border-bottom: 1px solid rgba(255, 255, 255, .08)
 }

 .site-footer__brand p {
   max-width: 360px
 }

 .site-footer__socials {
   display: flex;
   gap: 10px;
   margin-top: 18px
 }

 .site-footer__socials span {
   width: 42px;
   height: 42px;
   border-radius: 50%;
   display: grid;
   place-items: center;
   background: rgba(255, 255, 255, .06);
   font-weight: 700
 }

 .site-footer h3 {
   margin: 0 0 16px;
   color: #fff;
   font-size: 1.2rem
 }

 .footer-links li+li {
   margin-top: 12px
 }

 .footer-links a,
 .site-footer a {
   color: #d5ddf8
 }

 .footer-links a:hover,
 .site-footer a:hover {
   color: #fff
 }

 .site-footer__bottom {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 20px;
   padding-top: 20px
 }

 .site-footer__payments {
   display: flex;
   gap: 10px;
   flex-wrap: wrap
 }

 .site-footer__payments span {
   background: #fff;
   color: #091736;
   font-weight: 800;
   border-radius: 12px;
   padding: 8px 12px;
   font-size: .85rem
 }

 .reveal {
   opacity: 0;
   transform: translateY(24px);
   transition: opacity .7s ease, transform .7s ease
 }

 .reveal.is-visible {
   opacity: 1;
   transform: translateY(0)
 }

 .screen-reader-text {
   display: none
 }

 @media (max-width: 1024px) {
   .site-header__inner {
     min-height: 80px
   }

   .site-nav__menu {
     gap: 16px
   }

   .eyebrow-card,
   .cta-card,
   .site-footer__grid {
     grid-template-columns: 1fr
   }

   .trust-panel-grid,
   .icon-card-grid,
   .steps-grid,
   .books-grid {
     grid-template-columns: repeat(2, 1fr)
   }

   .filter-toolbar {
     top: 128px;
     align-items: flex-start;
     flex-direction: column
   }
 }

 @media (max-width: 767px) {
   .announcement-bar {
     top: 80px
   }

   .announcement-bar__inner,
   .site-header__inner {
     padding-block: 12px
   }

   .site-header__inner {
     flex-wrap: wrap
   }

   .site-nav {
     width: 100%;
     order: 3
   }

   .site-nav__menu {
     justify-content: center;
     flex-wrap: wrap
   }

   .site-header__cta {
     margin-left: auto
   }

   .site-container {
     width: min(calc(100% - 20px), var(--max))
   }

   .vanta-section {
     padding: 64px 0
   }

   .hero-window,
   .eyebrow-card,
   .cta-card,
   .final-cta-card {
     padding: 22px
   }

   .hero-copy h1 {
     font-size: 2.3rem
   }

   .scarcity-grid,
   .trust-panel-grid,
   .icon-card-grid,
   .steps-grid,
   .books-grid,
   .site-footer__grid {
     grid-template-columns: 1fr
   }

   .cta-card {
     align-items: flex-start
   }

   .filter-toolbar {
     top: 124px
   }

   .filter-buttons {
     width: 100%
   }

   .filter-button {
     flex: 1 1 auto
   }

   .site-footer__bottom {
     flex-direction: column;
     align-items: flex-start
   }

   .trust-panel-slider__controls {
     margin-top: 14px;
   }

   .inside-cards-slider__controls {
     margin-top: 14px;
   }

   .steps-slider__controls {
     margin-top: 14px;
   }

   .hero-banner-image {
     border-radius: 16px;
     margin-bottom: 18px;
   }

   .hero-window__cta--after-banner {
     margin-bottom: 22px;
   }

   .announcement-bar__right span {
     display: block;
   }

   .announcement-bar__right a {
     display: block;
   }


   .books-grid {
     grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
     gap: 12px;
   }

   .book-card {
     border-radius: 18px;
   }

   .book-card__image {
     aspect-ratio: 3 / 4;
   }

   .book-card__body {
     padding: 12px;
   }

   .book-card h3 {
     font-size: 14px;
     line-height: 1.25;
     margin-bottom: 8px;
   }

   .book-card__meta,
   .book-card__subtitle,
   .book-card__stats li {
     font-size: 11px;
     line-height: 1.4;
   }

   .book-card__stats {
     gap: 4px;
   }

   .book-card__pill {
     font-size: 10px;
     padding: 6px 8px;
   }

 }


 @media (max-width: 900px) {
   .announcement-bar {
     position: static;
     top: auto;
   }

   .announcement-bar__inner {
     display: flex;
     flex-direction: column;
     align-items: stretch;
     justify-content: center;
     gap: 10px;
     padding: 12px 16px;
     text-align: center;
   }

   .announcement-bar__left,
   .announcement-bar__right {
     width: 100%;
     justify-content: center;
     gap: 8px 12px;
   }

   .announcement-bar__badge {
     padding: 7px 12px;
     font-size: .82rem;
     line-height: 1.2;
   }

   .announcement-bar__text,
   .announcement-bar__right span,
   .announcement-bar__right a {
     font-size: .86rem;
     line-height: 1.45;
   }
 }

 @media (max-width: 480px) {
   .announcement-bar__inner {
     padding: 12px 10px;
   }

   .announcement-bar__left,
   .announcement-bar__right {
     flex-direction: column;
     align-items: center;
   }

   .announcement-bar__badge {
     max-width: 160px;
     white-space: normal;
   }

   .announcement-bar__text {
     max-width: 260px;
   }

   .announcement-bar__right a {
     word-break: break-word;
   }


 }

 @media (max-width: 420px) {
   .book-card__placeholder-copy strong {

     font-size: 15px;
     line-height: 19px;
   }
 }

 /* =========================
   General Library Offer Urgency Section
========================= */
 .general-offer-urgency {
   margin: 30px 0 34px;
   padding: clamp(28px, 5vw, 56px);
   border-radius: 34px;
   background:
     radial-gradient(circle at top center, rgba(47, 109, 246, .24), transparent 36%),
     linear-gradient(180deg, var(--surface-dark) 0%, #050b1f 100%);
   border: 1px solid rgba(255, 255, 255, .09);
   box-shadow: 0 26px 80px rgba(8, 18, 43, .25);
   overflow: hidden;
 }

 .general-offer-urgency__head {
   max-width: 780px;
   margin: 0 auto 34px;
   text-align: center;
 }

 .general-offer-urgency__head h2 {
   margin: 0 0 14px;
   color: #fff;
   font-size: clamp(2.35rem, 6vw, 5.2rem);
   line-height: .95;
   letter-spacing: -0.06em;
   font-weight: 900;
 }

 .general-offer-urgency__head p {
   margin: 0 auto 24px;
   color: rgba(255, 255, 255, .74);
   font-size: clamp(1rem, 2vw, 1.24rem);
 }

 .general-offer-urgency__button {
   min-width: min(100%, 460px);
   min-height: 70px;
   font-size: clamp(.98rem, 2vw, 1.35rem);
   box-shadow: 0 16px 34px rgba(47, 109, 246, .30), 0 0 0 16px rgba(47, 109, 246, .14);
 }

 .general-offer-urgency__cards {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
   max-width: 980px;
   margin: 0 auto;
 }

 .general-offer-urgency-card {
   min-height: 150px;
   padding: 24px 20px;
   border-radius: 24px;
   background: rgba(255, 255, 255, .065);
   border: 1px solid rgba(255, 255, 255, .12);
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 10px;
   text-align: center;
   transition: transform .25s ease, border-color .25s ease, background .25s ease;
 }

 .general-offer-urgency-card:hover {
   transform: translateY(-5px);
   border-color: rgba(91, 140, 255, .44);
   background: rgba(255, 255, 255, .09);
 }

 .general-offer-urgency-card__icon {
   font-size: 2rem;
   line-height: 1;
 }

 .general-offer-urgency-card__label {
   color: rgba(255, 255, 255, .72);
   font-size: .96rem;
   font-weight: 500;
 }

 .general-offer-urgency-card strong {
   color: var(--primary-2);
   font-size: clamp(1.45rem, 3vw, 2rem);
   line-height: 1;
   font-weight: 900;
 }

 .general-offer-urgency-card:first-child strong {
   color: #ff3b4f;
 }

 .general-offer-urgency-card__timer {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
 }

 .general-offer-urgency-card__timer span {
   min-width: 54px;
   padding: 10px 12px;
   border-radius: 10px;
   color: var(--accent);
   background: rgba(255, 255, 255, .055);
   border: 1px solid rgba(255, 255, 255, .12);
   font-size: clamp(1.25rem, 2.6vw, 1.75rem);
   line-height: 1;
   font-weight: 900;
   font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
 }

 .general-offer-urgency-card__timer em {
   color: var(--accent);
   font-style: normal;
   font-weight: 900;
 }

 @media (max-width: 767px) {
   .general-offer-urgency {
     margin: 24px 0 28px;
     border-radius: 26px;
     padding: 30px 16px;
   }

   .general-offer-urgency__cards {
     grid-template-columns: repeat(3, minmax(0, 1fr));
     gap: 10px;
   }

   .general-offer-urgency-card {
     min-height: 118px;
     padding: 16px 8px;
     border-radius: 18px;
   }

   .general-offer-urgency-card__icon {
     font-size: 1.45rem;
   }

   .general-offer-urgency-card__label {
     font-size: .78rem;
   }

   .general-offer-urgency-card strong {
     font-size: 1.12rem;
   }

   .general-offer-urgency-card__timer {
     gap: 4px;
   }

   .general-offer-urgency-card__timer span {
     min-width: 30px;
     padding: 7px 6px;
     font-size: .96rem;
     border-radius: 8px;
   }
 }

 @media (max-width: 520px) {
   .general-offer-urgency__cards {
     grid-template-columns: 1fr;
   }

   .general-offer-urgency-card {
     min-height: 120px;
   }
 }







 /* Student page sliders */
 .trust-panel-slider,
 .inside-cards-slider {
   position: relative;
   overflow: hidden;
   padding: 2px 2px 0;
 }

 .trust-panel-slider .swiper-wrapper,
 .inside-cards-slider .swiper-wrapper {
   align-items: stretch;
 }

 .trust-panel-slider .swiper-slide,
 .inside-cards-slider .swiper-slide {
   height: auto;
   display: flex;
 }

 .trust-panel-slider .trust-panel,
 .inside-cards-slider .icon-card {
   width: 100%;
   height: 100%;
 }

 .trust-panel-slider__controls,
 .inside-cards-slider__controls {
   display: flex;
   align-items: center;
   justify-content: center;
   margin-top: 18px;
 }

 .trust-panel-slider__pagination,
 .inside-cards-slider__pagination {
   position: static !important;
   width: auto !important;
   display: flex;
   justify-content: center;
   gap: 8px;
 }

 .trust-panel-slider .swiper-pagination-bullet,
 .inside-cards-slider .swiper-pagination-bullet {
   width: 9px;
   height: 9px;
   margin: 0 !important;
   background: #98a2b3;
   opacity: .6;
 }

 .trust-panel-slider .swiper-pagination-bullet-active,
 .inside-cards-slider .swiper-pagination-bullet-active {
   width: 22px;
   border-radius: 999px;
   background: var(--primary);
   opacity: 1;
 }


 /* =========================
   How It Works responsive slider
   Desktop = normal grid
   Mobile = slider
========================= */

 .steps-slider {
   position: relative;
   overflow: visible;
 }

 .steps-slider .swiper-wrapper {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
 }

 .steps-slider .swiper-slide {
   width: auto !important;
   height: auto;
 }

 .steps-slider .step-card {
   height: 100%;
 }

 .steps-slider__controls {
   display: none;
 }

 @media (max-width: 767px) {
   .steps-slider {
     overflow: hidden;
     padding: 2px 2px 0;
   }

   .steps-slider .swiper-wrapper {
     display: flex;
     gap: 0;
   }

   .steps-slider .swiper-slide {
     width: 100% !important;
     height: auto;
     display: flex;
   }

   .steps-slider .step-card {
     width: 100%;
     height: 100%;
   }

   .steps-slider__controls {
     display: flex;
     justify-content: center;
     margin-top: 18px;
   }

   .steps-slider__pagination {
     position: static !important;
     width: auto !important;
     display: flex;
     justify-content: center;
     gap: 8px;
   }

   .steps-slider .swiper-pagination-bullet {
     width: 9px;
     height: 9px;
     margin: 0 !important;
     background: #98a2b3;
     opacity: .6;
   }

   .steps-slider .swiper-pagination-bullet-active {
     width: 22px;
     border-radius: 999px;
     background: var(--primary);
     opacity: 1;
   }
 }






 /* =========================
   Student Final CTA Section
========================= */

 .student-final-cta-section {
   position: relative;
   overflow: hidden;
   padding-top: clamp(70px, 8vw, 120px);
   padding-bottom: clamp(70px, 8vw, 120px);
   scroll-margin-top: 150px;
 }

 .student-final-cta-section::before {
   content: "";
   position: absolute;
   inset: 0;
   background:
     radial-gradient(circle at 18% 18%, rgba(255, 205, 74, 0.20), transparent 28%),
     radial-gradient(circle at 84% 12%, rgba(66, 117, 255, 0.18), transparent 28%),
     linear-gradient(180deg, rgba(246, 248, 255, 0.96), rgba(238, 243, 255, 0.96));
   pointer-events: none;
 }

 .student-final-cta-section .site-container {
   position: relative;
   z-index: 2;
 }

 .student-final-cta-card {
   position: relative;
   max-width: 100%;
   margin: 0 auto;
   padding: clamp(28px, 5vw, 64px);
   border-radius: 34px;
   background:
     linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 255, 0.94)),
     #ffffff;
   border: 1px solid rgba(20, 34, 65, 0.10);
   box-shadow:
     0 28px 80px rgba(17, 34, 70, 0.12),
     inset 0 1px 0 rgba(255, 255, 255, 0.9);
   text-align: center;
   overflow: hidden;
 }

 .student-final-cta-card::before {
   content: "";
   position: absolute;
   width: 360px;
   height: 360px;
   right: -120px;
   bottom: -140px;
   border-radius: 999px;
   background: radial-gradient(circle, rgba(66, 117, 255, 0.22), transparent 68%);
   pointer-events: none;
 }

 .student-final-cta-card::after {
   content: "";
   position: absolute;
   width: 280px;
   height: 280px;
   left: -110px;
   top: -130px;
   border-radius: 999px;
   background: radial-gradient(circle, rgba(255, 201, 64, 0.28), transparent 68%);
   pointer-events: none;
 }

 .student-final-cta-card>* {
   position: relative;
   z-index: 2;
 }

 .student-final-cta-card__badge {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 34px;
   margin-bottom: 18px;
   padding: 0 14px;
   border-radius: 999px;
   background: rgba(66, 117, 255, 0.10);
   border: 1px solid rgba(66, 117, 255, 0.18);
   color: var(--primary, #4275ff);
   font-size: 13px;
   font-weight: 800;
   letter-spacing: 0.02em;
 }

 .student-final-cta-card h2 {
   max-width: 820px;
   margin: 0 auto 26px;
   color: var(--text, #071126);
   font-size: clamp(2rem, 4.2vw, 4rem);
   line-height: 1.02;
   letter-spacing: -0.055em;
   font-weight: 950;
 }

 .student-final-cta-card__stats {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 16px;
   max-width: 720px;
   margin: 0 auto 28px;
 }

 .student-final-cta-stat {
   min-height: 108px;
   padding: 20px;
   border-radius: 22px;
   background: rgba(255, 255, 255, 0.78);
   border: 1px solid rgba(66, 117, 255, 0.18);
   box-shadow: 0 14px 34px rgba(34, 60, 120, 0.08);
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 8px;
   text-align: center;
 }

 .student-final-cta-stat__label {
   color: rgba(7, 17, 38, 0.62);
   font-size: 13px;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 0.06em;
 }

 .student-final-cta-stat__heading {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
 }

 .student-final-cta-stat__icon {
   font-size: 14px;
   line-height: 1;
   display: inline-flex;
   align-items: center;
   justify-content: center;
 }

 .student-final-cta-stat__dot {
   width: 10px;
   height: 10px;
   border-radius: 999px;
   background: #ff4d4f;
   box-shadow: 0 0 0 4px rgba(255, 77, 79, 0.14);
   display: inline-block;
   flex: 0 0 10px;
 }

 .student-final-cta-stat strong {
   color: var(--primary, #4275ff);
   font-size: clamp(1.15rem, 2vw, 1.55rem);
   line-height: 1.15;
   font-weight: 950;
 }

 .student-final-cta-card__body {
   max-width: 790px;
   margin: 0 auto 24px;
   color: rgba(7, 17, 38, 0.70);
   font-size: clamp(1rem, 1.6vw, 1.12rem);
   line-height: 1.75;
 }

 .student-final-cta-checklist {
   max-width: 760px;
   margin: 26px auto 0;
   padding: 0;
   list-style: none;
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
   text-align: left;
 }

 .student-final-cta-checklist li {
   position: relative;
   min-height: 48px;
   padding: 14px 16px 14px 46px;
   border-radius: 16px;
   background: rgba(255, 255, 255, 0.72);
   border: 1px solid rgba(20, 34, 65, 0.08);
   color: rgba(7, 17, 38, 0.82);
   font-size: 14px;
   line-height: 1.45;
   font-weight: 650;
 }

 .student-final-cta-checklist li::before {
   content: "✓";
   position: absolute;
   left: 16px;
   top: 14px;
   width: 22px;
   height: 22px;
   border-radius: 999px;
   background: var(--primary, #4275ff);
   color: #ffffff;
   display: grid;
   place-items: center;
   font-size: 13px;
   font-weight: 900;
   box-shadow: 0 8px 18px rgba(66, 117, 255, 0.24);
 }

 .student-final-cta-card__button {
   margin-top: 30px;
   min-width: min(100%, 360px);
   min-height: 60px;
   border-radius: 999px;
   box-shadow:
     0 18px 34px rgba(66, 117, 255, 0.24),
     0 0 0 10px rgba(66, 117, 255, 0.08);
 }

 .student-final-cta-card__microtext {
   max-width: 760px;
   margin: 26px auto 0;
   color: rgba(7, 17, 38, 0.58);
   font-size: 14px;
   line-height: 1.65;
 }

 .student-final-social-proof {
   max-width: 100%;
   margin: 24px auto 0;
   padding: 22px 26px;
   border-radius: 22px;
   background:
     linear-gradient(135deg, rgba(255, 218, 91, 0.95), rgba(255, 238, 163, 0.92));
   border: 1px solid rgba(224, 165, 0, 0.28);
   box-shadow: 0 18px 45px rgba(184, 132, 0, 0.12);
   color: #2a2100;
 }

 .student-final-social-proof strong {
   display: block;
   margin-bottom: 6px;
   font-size: clamp(1rem, 1.8vw, 1.18rem);
   font-weight: 950;
 }

 .student-final-social-proof span {
   display: block;
   font-size: 15px;
   line-height: 1.55;
   font-weight: 700;
 }

 /* Responsive */
 @media (max-width: 767px) {
   .student-final-cta-section {
     padding-top: 56px;
     padding-bottom: 56px;
   }

   .student-final-cta-card {
     border-radius: 26px;
     padding: 30px 16px;
   }

   .student-final-cta-card h2 {
     margin-bottom: 22px;
     font-size: clamp(2rem, 10vw, 3.1rem);
   }

   .student-final-cta-card__stats {
     grid-template-columns: 1fr;
     gap: 12px;
     margin-bottom: 22px;
   }

   .student-final-cta-stat {
     min-height: 96px;
     padding: 18px 14px;
   }

   .student-final-cta-checklist {
     grid-template-columns: 1fr;
     gap: 10px;
   }

   .student-final-cta-checklist li {
     padding: 13px 14px 13px 44px;
     font-size: 13.5px;
   }

   .student-final-cta-card__button {
     width: 100%;
     min-width: 0;
     min-height: 58px;
     padding-inline: 18px;
     font-size: 13.5px;
   }

   .student-final-social-proof {
     border-radius: 20px;
     padding: 18px;
   }
 }

 @media (max-width: 420px) {
   .student-final-cta-card {
     padding-left: 14px;
     padding-right: 14px;
   }

   .student-final-cta-card h2 {
     font-size: 2rem;
   }

   .student-final-cta-card__body,
   .student-final-cta-card__microtext {
     font-size: 13.5px;
   }
 }

 /* =========================
   General Library Trust + Final CTA additions
========================= */

 .general-trust-section {
   position: relative;
   overflow: hidden;
 }

 .general-trust-section__live,
 .general-trust-section__badges,
 .general-refund-card,
 .general-security-grid {
   margin-top: 24px;
 }

 .general-refund-card {
   align-items: flex-start;
 }

 .general-refund-card h2 {
   margin-bottom: 10px;
 }

 .general-refund-card p {
   white-space: pre-line;
 }

 .general-final-cta-section {
   background: transparent;
 }

 @media (max-width: 767px) {

   .general-trust-section__live,
   .general-trust-section__badges,
   .general-refund-card,
   .general-security-grid {
     margin-top: 18px;
   }

   .general-refund-card {
     text-align: left;
   }
 }


 /* Category filter toolbar: non-sticky Swiper slider with arrows */
 .filter-toolbar {
   position: static !important;
   top: auto !important;
   z-index: 1;
   display: flex;
   align-items: center;
   gap: 14px;
   flex-wrap: nowrap !important;
   overflow: hidden;
 }

 .filter-buttons.filter-categories-slider {
   width: 100%;
   min-width: 0;
   flex: 1 1 auto;
   overflow: hidden;
 }

 .filter-categories-slider .swiper-wrapper {
   align-items: center;
 }

 .filter-categories-slider .swiper-slide {
   width: auto !important;
   flex: 0 0 auto;
 }

 .filter-categories-slider .filter-button {
   white-space: nowrap;
   width: auto;
   flex: 0 0 auto !important;
 }

 .filter-slider-nav {
   display: flex;
   align-items: center;
   gap: 8px;
   flex: 0 0 auto;
 }

 .filter-slider-arrow {
   width: 38px;
   height: 38px;
   border: 1px solid rgba(16, 24, 40, 0.08);
   background: #ffffff;
   border-radius: 999px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   font-size: 16px;
   font-weight: 700;
   color: #344054;
   box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
   transition: all 0.2s ease;
 }

 .filter-slider-arrow:hover {
   transform: translateY(-1px);
 }

 .filter-slider-arrow.swiper-button-disabled {
   opacity: 0.45;
   cursor: not-allowed;
   transform: none;
 }

 .filter-toolbar__badge {
   flex: 0 0 auto;
   white-space: nowrap;
 }

 .filter-categories-slider {
   scrollbar-width: none;
 }

 .filter-categories-slider::-webkit-scrollbar {
   display: none;
 }

 /* Mobile */
 @media (max-width: 767px) {
   .filter-toolbar {
     gap: 10px;
     padding: 12px;
   }

   .filter-buttons.filter-categories-slider {
     flex: 1 1 auto;
     min-width: 0;
   }

   .filter-categories-slider .filter-button {
     padding: 10px 15px;
     font-size: 0.82rem;
   }

   .filter-slider-nav {
     gap: 6px;
   }

   .filter-slider-arrow {
     width: 34px;
     height: 34px;
     font-size: 14px;
   }

   .filter-toolbar__badge {
     padding: 9px 12px;
     font-size: 0.82rem;
   }
 }

 .filter-slider-nav.is-hidden {
   display: none !important;
 }






 /* Responsive fix: CTA section + category filter slider */
 .cta-card {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
 }

 .cta-card__content {
   min-width: 0;
   flex: 1 1 auto;
 }

 .cta-card__content h2,
 .cta-card__content h3,
 .cta-card__content p {
   overflow-wrap: anywhere;
 }

 .cta-card .button,
 .cta-card__action,
 .cta-card__button {
   flex: 0 0 auto;
 }

 /* Category toolbar layout */
 .filter-toolbar {
   position: static !important;
   top: auto !important;
   display: grid !important;
   grid-template-columns: minmax(0, 1fr) auto auto;
   align-items: center;
   gap: 12px;
   overflow: hidden;
 }

 .filter-buttons.filter-categories-slider {
   min-width: 0;
   width: 100%;
   overflow: hidden;
 }

 .filter-slider-nav {
   flex: 0 0 auto;
 }

 .filter-toolbar__badge {
   flex: 0 0 auto;
   white-space: nowrap;
 }

 /* Tablet responsive */
 @media (max-width: 991px) {
   .cta-card {
     gap: 18px;
   }

   .cta-card__content h2,
   .cta-card__content h3 {
     font-size: clamp(1.15rem, 3vw, 1.55rem);
     line-height: 1.25;
   }

   .cta-card__content p {
     font-size: 0.95rem;
   }

   .filter-toolbar {
     grid-template-columns: minmax(0, 1fr) auto auto;
   }
 }

 /* Mobile responsive */
 @media (max-width: 767px) {
   .vanta-section--cta {
     padding-top: 28px;
     padding-bottom: 28px;
   }

   .cta-card {
     flex-direction: column;
     align-items: stretch;
     text-align: left;
     gap: 18px;
     padding: 22px;
   }

   .cta-card .button,
   .cta-card__action,
   .cta-card__button {
     width: 100%;
     justify-content: center;
     text-align: center;
   }

   .filter-toolbar {
     grid-template-columns: minmax(0, 1fr) auto;
     padding: 12px;
     gap: 10px;
     border-radius: 20px;
   }

   .filter-buttons.filter-categories-slider {
     grid-column: 1 / 2;
   }

   .filter-slider-nav {
     grid-column: 2 / 3;
   }

   .filter-toolbar__badge {
     grid-column: 1 / -1;
     justify-self: stretch;
     text-align: center;
     width: 100%;
     padding: 10px 14px;
   }

   .filter-categories-slider .filter-button {
     padding: 10px 14px;
     font-size: 0.82rem;
   }

   .filter-slider-arrow {
     width: 34px;
     height: 34px;
     font-size: 14px;
   }
 }

 /* Very small phones */
 @media (max-width: 520px) {
   .cta-card {
     padding: 20px 18px;
   }

   .cta-card__content h2,
   .cta-card__content h3 {
     font-size: 1.22rem;
     line-height: 1.28;
   }

   .cta-card__content p {
     font-size: 0.9rem;
     line-height: 1.55;
   }

   .filter-toolbar {
     grid-template-columns: 1fr;
   }

   .filter-buttons.filter-categories-slider,
   .filter-slider-nav,
   .filter-toolbar__badge {
     grid-column: 1 / -1;
   }

   .filter-slider-nav {
     justify-content: center;
   }
 }

 /* How note email/link styling */
 .how-note a {
   color: var(--primary);
   font-weight: 500;
   text-decoration: underline;
   text-underline-offset: 3px;
 }

 .how-note a:hover {
   color: #1d4ed8;
   text-decoration-thickness: 2px;
 }




 /* Book card stats: responsive aligned bullets + rating stars */
 .book-card__stats {
   display: grid;
   gap: 9px;
   margin-top: 14px;
   padding: 0;
   list-style: none;
 }

 .book-card__stats li,
 .book-card__stats li::before {
   all: unset;
 }

 .book-card__stat {
   display: grid;
   grid-template-columns: 9px minmax(0, 1fr);
   align-items: start;
   gap: 10px;
   color: #344054;
   font-size: 0.94rem;
   line-height: 1.45;
 }

 .book-card__dot {
   width: 8px;
   height: 8px;
   margin-top: 0.55em;
   border-radius: 999px;
   background: var(--primary);
 }

 .book-card__rating-row {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 6px;
   color: #344054;
   font-size: 0.94rem;
   line-height: 1.35;
 }

 .book-card__stars {
   color: #f59e0b;
   letter-spacing: 1px;
   font-size: 0.94rem;
   line-height: 1;
   white-space: nowrap;
 }

 .book-card__rating-number {
   font-weight: 800;
   color: #101828;
 }

 .book-card__reviews {
   color: #667085;
   font-weight: 600;
 }

 @media (max-width: 767px) {
   .book-card__stats {
     gap: 7px;
     margin-top: 10px;
   }

   .book-card__stat,
   .book-card__rating-row {
     font-size: 0.78rem;
     line-height: 1.35;
   }

   .book-card__stars {
     font-size: 0.76rem;
     letter-spacing: 0;
   }

   .book-card__dot {
     width: 7px;
     height: 7px;
     margin-top: 0.48em;
   }
 }

 @media (max-width: 420px) {

   .book-card__stat,
   .book-card__rating-row {
     font-size: 0.72rem;
   }

   .book-card__stars {
     font-size: 0.7rem;
   }
 }

 /* Books footer pill as checkout link */
 .books-footer__pill {
   text-decoration: none;
   cursor: pointer;
 }

 .books-footer__pill:hover {
   color: #ffffff;
   transform: translateY(-1px);
 }

 /* Scarcity banner checkout link */
 .scarcity-banner--link {
   display: block;
   text-decoration: none;
   cursor: pointer;
   color: inherit;
 }

 .scarcity-banner--link:hover {
   transform: translateY(-1px);
   filter: brightness(0.98);
 }

 .scarcity-banner--link:focus-visible {
   outline: 3px solid rgba(47, 109, 246, 0.35);
   outline-offset: 3px;
 }

 .scarcity-banner--link:hover {
   color: #1d4ed8;
   transform: translateY(-1px);
 }

 /* Books pagination */
 .books-pagination {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   gap: 10px;
   margin: 28px auto 0;
 }

 .books-pagination.is-hidden {
   display: none;
 }

 .books-pagination button {
   min-width: 42px;
   height: 42px;
   border: 1px solid rgba(16, 24, 40, .10);
   border-radius: 999px;
   background: #fff;
   color: #344054;
   font-weight: 800;
   cursor: pointer;
   box-shadow: 0 8px 22px rgba(15, 23, 42, .08);
   transition: .2s ease;
 }

 .books-pagination button:hover:not(:disabled),
 .books-pagination button.is-active {
   background: linear-gradient(135deg, var(--primary), var(--primary-2));
   color: #fff;
   border-color: transparent;
   transform: translateY(-1px);
 }

 .books-pagination button:disabled {
   opacity: .45;
   cursor: not-allowed;
   box-shadow: none;
 }

 .books-pagination__arrow {
   padding: 0 18px;
   width: auto;
 }

 @media (max-width:520px) {
   .books-pagination {
     gap: 8px;
     margin-top: 22px;
   }

   .books-pagination button {
     min-width: 38px;
     height: 38px;
     font-size: 13px;
   }

   .books-pagination__arrow {
     padding: 0 14px;
   }
 }

 .books-pagination__ellipsis {
   min-width: 28px;
   height: 42px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: #667085;
   font-weight: 900;
   letter-spacing: 2px;
 }

 @media (max-width:520px) {
   .books-pagination__ellipsis {
     height: 38px;
     min-width: 22px;
     font-size: 13px;
   }
 }

 /* Mobile pagination fix */
 @media (max-width: 520px) {
   .books-pagination {
     flex-wrap: nowrap;
     justify-content: center;
     gap: 6px;
     max-width: 100%;
     overflow-x: auto;
     padding: 0 8px 4px;
     margin-top: 22px;
     scrollbar-width: none;
   }

   .books-pagination::-webkit-scrollbar {
     display: none;
   }

   .books-pagination button {
     flex: 0 0 auto;
     min-width: 34px;
     width: 34px;
     height: 34px;
     padding: 0;
     font-size: 13px;
     line-height: 1;
   }

   .books-pagination__arrow {
     min-width: 36px !important;
     width: 36px !important;
     padding: 0 !important;
     font-size: 22px !important;
     font-weight: 900;
   }

   .books-pagination__ellipsis {
     flex: 0 0 auto;
     min-width: 18px;
     height: 34px;
     font-size: 12px;
     letter-spacing: 0;
   }
 }

 @media (max-width: 360px) {
   .books-pagination {
     gap: 5px;
     padding-left: 4px;
     padding-right: 4px;
   }

   .books-pagination button {
     min-width: 31px;
     width: 31px;
     height: 31px;
     font-size: 12px;
   }

   .books-pagination__arrow {
     min-width: 33px !important;
     width: 33px !important;
     font-size: 20px !important;
   }

   .books-pagination__ellipsis {
     min-width: 14px;
   }
 }

 /* =========================================================
   Bundle Landing Pages (Gaming / Social+Music / Business)
   Added safely as new classes only; existing library pages untouched.
========================================================= */
 body.vanta-theme:has(.vanta-bundle-page) {
   background: #070912;
 }

 .vanta-bundle-page {
   --bundle-bg: #070912;
   --bundle-panel: #0f1424;
   --bundle-panel-2: #151b2e;
   --bundle-text: #f8fafc;
   --bundle-muted: #a8b3c7;
   --bundle-line: rgba(255, 255, 255, .1);
   --bundle-gold: #ffd35c;
   --bundle-orange: #ff9f1c;
   --bundle-cyan: #25d7ff;
   --bundle-red: #ff3b4f;
   color: var(--bundle-text);
   background:
     radial-gradient(circle at 12% 0%, rgba(255, 211, 92, .14), transparent 34%),
     radial-gradient(circle at 88% 8%, rgba(37, 215, 255, .13), transparent 30%),
     linear-gradient(180deg, #070912 0%, #0b1020 48%, #070912 100%);
   overflow: hidden;
 }

 .vanta-bundle-page .section-heading h2,
 .vanta-bundle-page h1,
 .vanta-bundle-page h2,
 .vanta-bundle-page h3 {
   color: var(--bundle-text)
 }

 .vanta-bundle-page .section-heading p {
   color: var(--bundle-muted)
 }

 .bundle-preloader {
   position: fixed;
   inset: 0;
   z-index: 9999;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 18px;
   background: #050711;
   color: #fff;
   transition: opacity .35s ease, visibility .35s ease;
 }

 .bundle-preloader.is-hidden {
   opacity: 0;
   visibility: hidden;
   pointer-events: none
 }

 .bundle-preloader__spinner {
   width: 58px;
   height: 58px;
   border-radius: 999px;
   border: 4px solid rgba(255, 255, 255, .12);
   border-top-color: var(--bundle-gold);
   animation: bundleSpin .8s linear infinite
 }

 .bundle-preloader p {
   margin: 0;
   font-weight: 800;
   text-align: center;
   color: #fff;
   padding: 0 22px
 }

 @keyframes bundleSpin {
   to {
     transform: rotate(360deg)
   }
 }

 .bundle-hero {
   min-height: calc(100vh - 88px);
   display: flex;
   align-items: center;
   padding: 70px 0 58px;
   background-size: cover;
   background-position: center;
   position: relative;
 }

 .bundle-hero::before {
   content: "";
   position: absolute;
   inset: 0;
   background: radial-gradient(circle at 50% 30%, rgba(255, 255, 255, .08), transparent 42%);
   pointer-events: none
 }

 .bundle-hero__inner {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: minmax(0, 1.06fr) minmax(320px, .94fr);
   gap: 44px;
   align-items: center
 }

 .bundle-hero__inner {
   background:
     linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .92) 48%, rgba(255, 255, 255, .72) 100%),
     var(--bundle-hero-bg, #fff);
   background-size: cover;
   background-position: center right;
   background-repeat: no-repeat;
 }

 .bundle-hero__copy h1 {
   font-size: clamp(2.45rem, 5.7vw, 5.7rem);
   line-height: .95;
   letter-spacing: -.065em;
   margin: 18px 0;
   color: #fff;
   text-wrap: balance
 }

 .bundle-hero__copy p {
   font-size: clamp(1.05rem, 2vw, 1.28rem);
   color: rgba(255, 255, 255, .78);
   max-width: 720px;
   margin: 0 0 22px
 }

 .bundle-pill {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 9px 15px;
   border-radius: 999px;
   font-weight: 900;
   font-size: .86rem;
   letter-spacing: .03em;
   text-transform: uppercase;
   border: 1px solid var(--bundle-line)
 }

 .bundle-pill--accent {
   background: rgba(255, 211, 92, .13);
   color: var(--bundle-gold);
   box-shadow: 0 0 28px rgba(255, 211, 92, .15)
 }

 .bundle-hero__meta {
   display: flex;
   align-items: stretch;
   gap: 16px;
   flex-wrap: wrap;
   margin: 24px 0
 }

 .bundle-timer,
 .bundle-live-pulse,
 .bundle-scarcity {
   border: 1px solid var(--bundle-line);
   background: rgba(15, 20, 36, .76);
   backdrop-filter: blur(12px);
   border-radius: 20px;
   box-shadow: 0 18px 40px rgba(0, 0, 0, .2)
 }

 .bundle-timer {
   padding: 14px 18px;
   min-width: 210px
 }

 .bundle-timer small {
   display: block;
   color: var(--bundle-muted);
   font-weight: 800;
   text-transform: uppercase;
   font-size: .72rem;
   letter-spacing: .08em;
   margin-bottom: 4px
 }

 .bundle-timer strong {
   display: block;
   color: var(--bundle-red);
   font-size: clamp(1.55rem, 3vw, 2.4rem);
   line-height: 1;
   font-variant-numeric: tabular-nums;
   text-shadow: 0 0 20px rgba(255, 59, 79, .28)
 }

 .bundle-live-pulse {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 14px 18px;
   color: #fff;
   font-weight: 800;
   max-width: 310px
 }

 .bundle-live-pulse span {
   width: 11px;
   height: 11px;
   border-radius: 999px;
   background: var(--bundle-red);
   box-shadow: 0 0 0 8px rgba(255, 59, 79, .12);
   animation: bundlePulse 1.5s ease-in-out infinite
 }

 @keyframes bundlePulse {
   50% {
     transform: scale(1.18);
     box-shadow: 0 0 0 13px rgba(255, 59, 79, .05)
   }
 }

 .bundle-scarcity {
   display: inline-flex;
   margin: 0 0 22px;
   padding: 12px 16px;
   color: #ffe8b0;
   font-weight: 800
 }

 .bundle-hero__button {
   background: linear-gradient(135deg, var(--bundle-orange), var(--bundle-gold));
   color: #151000;
   box-shadow: 0 16px 35px rgba(255, 159, 28, .34)
 }

 .bundle-hero__visual {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 16px;
   perspective: 900px
 }

 .bundle-icon-tile {
   min-height: 150px;
   border-radius: 26px;
   border: 1px solid rgba(255, 255, 255, .12);
   background: linear-gradient(180deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .04));
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 10px;
   box-shadow: 0 20px 48px rgba(0, 0, 0, .22);
   transform: rotateX(0) rotateY(0);
   transition: transform .25s ease, background .25s ease;
 }

 .bundle-icon-tile:nth-child(2n) {
   transform: translateY(18px)
 }

 .bundle-icon-tile:hover {
   transform: translateY(-4px) scale(1.02);
   background: rgba(255, 211, 92, .12)
 }

 .bundle-icon-tile span {
   font-size: 2.5rem
 }

 .bundle-icon-tile strong {
   color: #fff;
   font-size: 1rem
 }

 .bundle-live-feed {
   position: sticky;
   top: 88px;
   z-index: 29;
   overflow: hidden;
   background: #0c1220;
   border-block: 1px solid rgba(255, 211, 92, .26);
   box-shadow: 0 10px 30px rgba(0, 0, 0, .2)
 }

 .bundle-live-feed__track {
   display: flex;
   gap: 14px;
   width: max-content;
   animation: bundleMarquee 30s linear infinite;
   padding: 13px 0
 }

 .bundle-live-feed__track span {
   white-space: nowrap;
   padding: 8px 14px;
   border-radius: 999px;
   background: rgba(255, 211, 92, .1);
   color: #fff;
   font-weight: 800;
   font-size: .94rem
 }

 @keyframes bundleMarquee {
   to {
     transform: translateX(-50%)
   }
 }

 .bundle-savings {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 22px;
   align-items: stretch
 }

 .bundle-savings__old,
 .bundle-savings__new,
 .bundle-step,
 .bundle-card,
 .bundle-benefit,
 .bundle-testimonial,
 .bundle-clarity,
 .bundle-faq,
 .bundle-trust {
   border: 1px solid var(--bundle-line);
   border-radius: 28px;
   background: linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .035));
   box-shadow: 0 20px 55px rgba(0, 0, 0, .22)
 }

 .bundle-savings__old,
 .bundle-savings__new {
   padding: 28px
 }

 .bundle-savings__old strong,
 .bundle-savings__new strong {
   display: block;
   font-size: 1.05rem;
   color: var(--bundle-gold);
   margin-bottom: 15px
 }

 .bundle-savings__old span {
   display: flex;
   align-items: center;
   justify-content: space-between;
   border-bottom: 1px solid var(--bundle-line);
   padding: 10px 0;
   color: var(--bundle-muted);
   font-weight: 800
 }

 .bundle-savings__new b {
   display: block;
   font-size: clamp(3rem, 7vw, 5.4rem);
   line-height: .9;
   color: var(--bundle-gold);
   letter-spacing: -.07em;
   margin: 10px 0 18px
 }

 .bundle-savings__new p {
   color: var(--bundle-muted);
   margin: 0
 }

 .bundle-step-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 20px
 }

 .bundle-step {
   position: relative;
   padding: 30px
 }

 .bundle-step__number {
   position: absolute;
   right: 22px;
   top: 18px;
   color: rgba(255, 255, 255, .12);
   font-size: 3rem;
   font-weight: 1000;
   line-height: 1
 }

 .bundle-step__icon {
   font-size: 2.2rem;
   margin-bottom: 18px
 }

 .bundle-step h3,
 .bundle-benefit h3 {
   margin: 0 0 8px
 }

 .bundle-step p,
 .bundle-benefit p,
 .bundle-testimonial p,
 .bundle-faq p,
 .bundle-trust p {
   color: var(--bundle-muted);
   margin: 0
 }

 .bundle-card-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 22px
 }

 .bundle-card {
   position: relative;
   padding: 24px;
   display: flex;
   flex-direction: column;
   gap: 16px
 }

 .bundle-card__badge {
   align-self: flex-start;
   padding: 7px 11px;
   border-radius: 999px;
   background: rgba(37, 215, 255, .12);
   color: var(--bundle-cyan);
   font-weight: 900;
   font-size: .75rem;
   text-transform: uppercase;
   letter-spacing: .08em
 }

 .bundle-card__icons {
   display: flex;
   gap: 9px;
   flex-wrap: wrap
 }

 .bundle-card__icons span {
   width: 42px;
   height: 42px;
   display: grid;
   place-items: center;
   border-radius: 14px;
   background: rgba(255, 255, 255, .08);
   font-size: 1.35rem
 }

 .bundle-card h3 {
   font-size: 1.45rem;
   line-height: 1.1;
   margin: 0
 }

 .bundle-card p {
   color: var(--bundle-muted);
   margin: 0
 }

 .bundle-card__price {
   display: flex;
   align-items: flex-end;
   gap: 12px;
   margin-top: auto
 }

 .bundle-card__price del {
   color: #7f8aa3;
   font-weight: 800
 }

 .bundle-card__price strong {
   font-size: 2.7rem;
   color: var(--bundle-gold);
   line-height: .88;
   letter-spacing: -.06em
 }

 .bundle-card__timer {
   font-weight: 1000;
   color: var(--bundle-red);
   font-variant-numeric: tabular-nums
 }

 .bundle-card__details {
   border: 1px solid var(--bundle-line);
   border-radius: 18px;
   padding: 12px 14px;
   background: rgba(0, 0, 0, .12)
 }

 .bundle-card__details summary {
   cursor: pointer;
   font-weight: 900;
   color: #fff
 }

 .bundle-card__details ul {
   margin: 12px 0 0;
   padding-left: 20px;
   color: var(--bundle-muted)
 }

 .bundle-card__button {
   width: 100%;
   background: linear-gradient(135deg, var(--bundle-orange), var(--bundle-gold));
   color: #151000
 }

 .bundle-mini-ticker {
   grid-column: 1/-1;
   padding: 14px 18px;
   border-radius: 999px;
   background: rgba(255, 59, 79, .12);
   border: 1px solid rgba(255, 59, 79, .24);
   color: #fff;
   font-weight: 900;
   text-align: center
 }

 .bundle-benefit-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 20px
 }

 .bundle-benefit {
   padding: 28px
 }

 .bundle-benefit span {
   display: inline-grid;
   place-items: center;
   width: 54px;
   height: 54px;
   border-radius: 18px;
   background: rgba(255, 211, 92, .13);
   font-size: 1.8rem;
   margin-bottom: 18px
 }

 .bundle-testimonial-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 18px
 }

 .bundle-testimonial {
   padding: 24px;
   margin: 0
 }

 .bundle-stars {
   color: var(--bundle-gold);
   letter-spacing: 2px;
   margin-bottom: 12px
 }

 .bundle-testimonial cite {
   display: block;
   margin-top: 18px;
   font-style: normal;
   font-weight: 900;
   color: #fff
 }

 .bundle-testimonial cite span {
   display: block;
   font-weight: 700;
   color: var(--bundle-muted);
   font-size: .9rem;
   margin-top: 4px
 }

 .bundle-clarity {
   padding: 34px;
   background: linear-gradient(135deg, rgba(255, 211, 92, .13), rgba(37, 215, 255, .08))
 }

 .bundle-clarity h2 {
   margin: 0 0 18px
 }

 .bundle-clarity ul {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
   margin: 0;
   padding: 0;
   list-style: none
 }

 .bundle-clarity li {
   position: relative;
   padding: 14px 16px 14px 42px;
   border-radius: 16px;
   background: rgba(255, 255, 255, .06);
   color: #fff;
   font-weight: 800
 }

 .bundle-clarity li::before {
   content: "✓";
   position: absolute;
   left: 16px;
   color: var(--bundle-gold)
 }

 .bundle-faq-list {
   display: grid;
   gap: 14px;
   max-width: 900px;
   margin: 0 auto
 }

 .bundle-faq {
   padding: 0;
   overflow: hidden
 }

 .bundle-faq summary {
   cursor: pointer;
   padding: 20px 24px;
   font-weight: 1000;
   color: #fff
 }

 .bundle-faq p {
   padding: 0 24px 22px
 }

 .bundle-trust {
   text-align: center;
   padding: 36px
 }

 .bundle-trust h2 {
   margin: 0 0 10px
 }

 .bundle-trust__badges {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 10px;
   margin-top: 22px
 }

 .bundle-trust__badges span {
   padding: 10px 14px;
   border-radius: 999px;
   background: rgba(255, 255, 255, .08);
   color: #fff;
   font-weight: 800
 }

 .bundle-sticky-bar {
   position: fixed;
   left: 50%;
   bottom: 18px;
   z-index: 60;
   transform: translate(-50%, 130%);
   transition: transform .25s ease;
   width: min(calc(100% - 28px), 680px);
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
   padding: 12px 12px 12px 18px;
   border-radius: 24px;
   background: rgba(8, 12, 24, .94);
   border: 1px solid rgba(255, 211, 92, .32);
   box-shadow: 0 16px 50px rgba(0, 0, 0, .42);
   backdrop-filter: blur(16px)
 }

 .bundle-sticky-bar.is-visible {
   transform: translate(-50%, 0)
 }

 .bundle-sticky-bar strong {
   color: #fff;
   font-variant-numeric: tabular-nums
 }

 .bundle-sticky-bar small {
   display: block;
   color: var(--bundle-muted);
   font-weight: 800
 }

 .bundle-sticky-bar a {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 48px;
   border-radius: 999px;
   padding: 0 20px;
   background: linear-gradient(135deg, var(--bundle-orange), var(--bundle-gold));
   color: #151000;
   font-weight: 1000;
   white-space: nowrap
 }

 .vanta-bundle-page--social-entertainment-music {
   --bundle-gold: #37e6ff;
   --bundle-orange: #8f5bff;
   --bundle-cyan: #37e6ff;
   --bundle-red: #ff3bd4
 }

 .vanta-bundle-page--social-entertainment-music .bundle-hero__button,
 .vanta-bundle-page--social-entertainment-music .bundle-card__button,
 .vanta-bundle-page--social-entertainment-music .bundle-sticky-bar a {
   background: linear-gradient(135deg, #37e6ff, #9b5cff);
   color: #050711
 }

 .vanta-bundle-page--business-tools {
   --bundle-gold: #86efac;
   --bundle-orange: #22c55e;
   --bundle-cyan: #93c5fd;
   --bundle-red: #f97316
 }

 .vanta-bundle-page--business-tools .bundle-hero__button,
 .vanta-bundle-page--business-tools .bundle-card__button,
 .vanta-bundle-page--business-tools .bundle-sticky-bar a {
   background: linear-gradient(135deg, #22c55e, #86efac);
   color: #04110a
 }

 @media (max-width:1024px) {
   .bundle-hero__inner {
     grid-template-columns: 1fr
   }

   .bundle-hero__visual {
     grid-template-columns: repeat(3, 1fr)
   }

   .bundle-card-grid {
     grid-template-columns: repeat(2, 1fr)
   }

   .bundle-testimonial-grid {
     grid-template-columns: repeat(2, 1fr)
   }
 }

 @media (max-width:767px) {
   .bundle-hero {
     min-height: auto;
     padding: 54px 0 36px
   }

   .bundle-hero__copy h1 {
     font-size: clamp(2.3rem, 13vw, 3.8rem)
   }

   .bundle-hero__visual {
     grid-template-columns: repeat(2, 1fr);
     gap: 12px
   }

   .bundle-icon-tile {
     min-height: 118px
   }

   .bundle-icon-tile:nth-child(2n) {
     transform: none
   }

   .bundle-live-feed {
     top: 0
   }

   .bundle-savings,
   .bundle-step-grid,
   .bundle-card-grid,
   .bundle-benefit-grid,
   .bundle-testimonial-grid,
   .bundle-clarity ul {
     grid-template-columns: 1fr
   }

   .bundle-sticky-bar {
     bottom: 10px;
     border-radius: 18px
   }

   .bundle-sticky-bar a {
     padding: 0 14px
   }

   .bundle-card {
     padding: 20px
   }

   .bundle-savings__new b {
     font-size: 3.3rem
   }
 }

 /* =========================================================
   Bundle Pages Light Theme Refinement
   Matches the existing General/Student Library light design.
   Only affects the 3 new bundle pages.
========================================================= */
 body.vanta-theme:has(.vanta-bundle-page) {
   background: #f5f7ff;
 }

 .vanta-bundle-page {
   --bundle-bg: #f5f7ff;
   --bundle-panel: #ffffff;
   --bundle-panel-2: #f8fbff;
   --bundle-text: #07142f;
   --bundle-muted: #536179;
   --bundle-line: rgba(15, 23, 42, .10);
   --bundle-gold: #ffb82e;
   --bundle-orange: #3f73ff;
   --bundle-cyan: #22c8e5;
   --bundle-red: #ff4b68;
   color: var(--bundle-text);
   background:
     radial-gradient(circle at 10% 0%, rgba(63, 115, 255, .08), transparent 30%),
     radial-gradient(circle at 90% 8%, rgba(34, 200, 229, .08), transparent 28%),
     linear-gradient(180deg, #f7f9ff 0%, #ffffff 42%, #f6f8ff 100%);
 }

 .vanta-bundle-page .section-heading h2,
 .vanta-bundle-page h1,
 .vanta-bundle-page h2,
 .vanta-bundle-page h3 {
   color: var(--bundle-text);
 }

 .vanta-bundle-page .section-heading p,
 .bundle-step p,
 .bundle-benefit p,
 .bundle-testimonial p,
 .bundle-faq p,
 .bundle-trust p,
 .bundle-card p,
 .bundle-savings__new p {
   color: var(--bundle-muted);
 }

 .bundle-hero {
   min-height: auto;
   padding: 42px 0 28px;
   /* background:transparent !important; */
 }

 .bundle-hero::before {
   display: none;
 }

 .bundle-hero__inner {
   grid-template-columns: minmax(0, 1fr) minmax(280px, .78fr);
   gap: 34px;
   align-items: center;
   background: #fff;
   border: 1px solid rgba(15, 23, 42, .08);
   border-radius: 28px;
   padding: 34px;
   box-shadow: 0 20px 55px rgba(15, 23, 42, .08);
 }

 .bundle-hero__copy h1 {
   max-width: 760px;
   font-size: clamp(2rem, 4.15vw, 4.05rem);
   line-height: 1.04;
   letter-spacing: -.045em;
   margin: 16px 0 14px;
   color: #07142f;
 }

 .bundle-hero__copy p {
   max-width: 680px;
   font-size: clamp(1rem, 1.4vw, 1.16rem);
   line-height: 1.68;
   color: #526079;
   margin: 0 0 18px;
 }

 .bundle-pill {
   border-color: rgba(15, 23, 42, .08);
   background: #f8fbff;
 }

 .bundle-pill--accent {
   color: #1d4ed8;
   background: rgba(63, 115, 255, .10);
   box-shadow: 0 10px 28px rgba(63, 115, 255, .10);
 }

 .bundle-hero__meta {
   margin: 18px 0;
 }

 .bundle-timer,
 .bundle-live-pulse,
 .bundle-scarcity,
 .bundle-savings__old,
 .bundle-savings__new,
 .bundle-step,
 .bundle-card,
 .bundle-benefit,
 .bundle-testimonial,
 .bundle-clarity,
 .bundle-faq,
 .bundle-trust {
   border: 1px solid rgba(15, 23, 42, .08);
   background: #fff;
   color: var(--bundle-text);
   box-shadow: 0 16px 44px rgba(15, 23, 42, .08);
 }

 .bundle-timer,
 .bundle-live-pulse,
 .bundle-scarcity {
   backdrop-filter: none;
 }

 .bundle-timer small {
   color: #667085;
 }

 .bundle-timer strong {
   color: #ff4b68;
   text-shadow: none;
 }

 .bundle-live-pulse {
   color: #07142f;
 }

 .bundle-scarcity {
   color: #9a6700;
   background: #fff9e8;
   border-color: rgba(255, 184, 46, .32);
 }

 .bundle-hero__button,
 .bundle-card__button,
 .bundle-sticky-bar a {
   background: linear-gradient(135deg, #3f73ff, #5d8cff);
   color: #fff;
   box-shadow: 0 14px 28px rgba(63, 115, 255, .22);
 }

 .bundle-hero__visual {
   gap: 14px;
 }

 .bundle-icon-tile {
   min-height: 128px;
   border: 1px solid rgba(15, 23, 42, .08);
   background: linear-gradient(180deg, #ffffff, #f7faff);
   color: #07142f;
   box-shadow: 0 16px 38px rgba(15, 23, 42, .08);
 }

 .bundle-icon-tile:nth-child(2n) {
   transform: translateY(12px);
 }

 .bundle-icon-tile:hover {
   background: #f2f6ff;
 }

 .bundle-icon-tile strong {
   color: #07142f;
 }

 .bundle-live-feed {
   top: 88px;
   background: #fff;
   border-block: 1px solid rgba(15, 23, 42, .08);
   box-shadow: 0 12px 32px rgba(15, 23, 42, .08);
 }

 .bundle-live-feed__track span {
   background: #f3f6ff;
   color: #07142f;
   border: 1px solid rgba(15, 23, 42, .06);
 }

 .bundle-savings__old strong,
 .bundle-savings__new strong,
 .bundle-savings__new b,
 .bundle-card__price strong,
 .bundle-stars {
   color: var(--bundle-gold);
 }

 .bundle-savings__old span {
   border-bottom-color: rgba(15, 23, 42, .08);
   color: #536179;
 }

 .bundle-step__number {
   color: rgba(63, 115, 255, .10);
 }

 .bundle-card__badge {
   background: rgba(63, 115, 255, .10);
   color: #1d4ed8;
 }

 .bundle-card__icons span,
 .bundle-trust__badges span {
   background: #f3f6ff;
   color: #07142f;
 }

 .bundle-card__details {
   border-color: rgba(15, 23, 42, .08);
   background: #f8fbff;
 }

 .bundle-card__details summary,
 .bundle-faq summary,
 .bundle-testimonial cite {
   color: #07142f;
 }

 .bundle-card__details ul,
 .bundle-testimonial cite span {
   color: #536179;
 }

 .bundle-mini-ticker {
   background: #fff4f6;
   border-color: rgba(255, 75, 104, .18);
   color: #b4233d;
 }

 .bundle-benefit span {
   background: #eef4ff;
 }

 .bundle-clarity {
   background: linear-gradient(135deg, #ffffff, #f1f6ff);
 }

 .bundle-clarity li {
   background: #f7faff;
   color: #07142f;
 }

 .bundle-clarity li::before {
   color: #3f73ff;
 }

 .bundle-trust {
   background: #fff;
 }

 .bundle-sticky-bar {
   background: rgba(255, 255, 255, .96);
   border-color: rgba(63, 115, 255, .18);
   box-shadow: 0 16px 45px rgba(15, 23, 42, .18);
 }

 .bundle-sticky-bar strong {
   color: #07142f;
 }

 .bundle-sticky-bar small {
   color: #536179;
 }

 .vanta-bundle-page--gaming-bundles {
   --bundle-gold: #ffb82e;
   --bundle-orange: #3f73ff;
   --bundle-cyan: #22c8e5;
   --bundle-red: #ff4b68;
 }

 .vanta-bundle-page--social-entertainment-music {
   --bundle-gold: #18c9e6;
   --bundle-orange: #6a7cff;
   --bundle-cyan: #18c9e6;
   --bundle-red: #ec4899;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-hero__button,
 .vanta-bundle-page--social-entertainment-music .bundle-card__button,
 .vanta-bundle-page--social-entertainment-music .bundle-sticky-bar a {
   background: linear-gradient(135deg, #18c9e6, #6a7cff);
   color: #fff;
 }

 .vanta-bundle-page--business-tools {
   --bundle-gold: #22c55e;
   --bundle-orange: #3f73ff;
   --bundle-cyan: #22c55e;
   --bundle-red: #f97316;
 }

 .vanta-bundle-page--business-tools .bundle-hero__button,
 .vanta-bundle-page--business-tools .bundle-card__button,
 .vanta-bundle-page--business-tools .bundle-sticky-bar a {
   background: linear-gradient(135deg, #22c55e, #3f73ff);
   color: #fff;
 }

 @media (max-width:1024px) {
   .bundle-hero__inner {
     grid-template-columns: 1fr;
   }

   .bundle-hero__copy h1 {
     font-size: clamp(2rem, 6.8vw, 3.35rem);
   }
 }

 @media (max-width:767px) {
   .bundle-hero {
     padding: 24px 0 18px;
   }

   .bundle-hero__inner {
     padding: 24px;
     border-radius: 24px;
   }

   .bundle-hero__copy h1 {
     font-size: clamp(1.85rem, 10vw, 2.8rem);
     line-height: 1.08;
     letter-spacing: -.035em;
   }

   .bundle-hero__visual {
     grid-template-columns: repeat(2, 1fr);
   }

   .bundle-icon-tile {
     min-height: 108px;
   }

   .bundle-icon-tile:nth-child(2n) {
     transform: none;
   }

   .bundle-live-feed {
     top: 0;
   }
 }

 /* =========================================================
   Bundle FAQ Accordion Fix
   One FAQ stays open at a time with smooth open/close motion.
========================================================= */
 .bundle-faq-list {
   align-items: start;
 }

 .bundle-faq {
   transition: border-color .28s ease, box-shadow .28s ease, transform .28s ease;
 }

 .bundle-faq:hover,
 .bundle-faq.is-open {
   border-color: rgba(63, 115, 255, .18);
   box-shadow: 0 18px 48px rgba(15, 23, 42, .10);
 }

 .bundle-faq summary {
   position: relative;
   list-style: none;
   padding-right: 58px;
   user-select: none;
 }

 .bundle-faq summary::-webkit-details-marker {
   display: none;
 }

 .bundle-faq summary::after {
   content: "+";
   position: absolute;
   right: 22px;
   top: 50%;
   width: 28px;
   height: 28px;
   transform: translateY(-50%);
   border-radius: 999px;
   display: grid;
   place-items: center;
   background: #eef4ff;
   color: #3f73ff;
   font-size: 1.15rem;
   font-weight: 1000;
   line-height: 1;
   transition: transform .28s ease, background .28s ease, color .28s ease;
 }

 .bundle-faq.is-open summary::after {
   content: "−";
   background: #3f73ff;
   color: #fff;
   transform: translateY(-50%) rotate(180deg);
 }

 .bundle-faq>p {
   display: block;
   max-height: 0;
   overflow: hidden;
   opacity: 0;
   margin: 0;
   padding: 0 24px;
   transform: translateY(-6px);
   transition: max-height .36s cubic-bezier(.4, 0, .2, 1), opacity .24s ease, padding .36s cubic-bezier(.4, 0, .2, 1), transform .36s cubic-bezier(.4, 0, .2, 1);
 }

 .bundle-faq.is-open>p {
   max-height: 520px;
   opacity: 1;
   padding: 0 24px 24px;
   transform: translateY(0);
 }

 /* =========================================================
   Bundle Responsive Swiper Sliders
   Desktop stays as grid. Tablet/mobile (<=991px) becomes Swiper
   for shorter pages and less vertical scrolling.
========================================================= */
 .vanta-bundle-page .bundle-responsive-slider {
   overflow: visible;
 }

 .vanta-bundle-page .bundle-responsive-slider>.swiper-wrapper {
   display: grid;
   gap: inherit;
   align-items: stretch;
 }

 .vanta-bundle-page .bundle-responsive-slider:not(.swiper-initialized) .swiper-slide {
   width: auto;
   height: auto;
   flex-shrink: 1;
 }

 .vanta-bundle-page .bundle-responsive-slider .swiper-slide {
   min-width: 0;
   height: auto;
 }

 .vanta-bundle-page .bundle-responsive-slider .swiper-slide>.bundle-icon-tile,
 .vanta-bundle-page .bundle-responsive-slider .swiper-slide>.bundle-step,
 .vanta-bundle-page .bundle-responsive-slider .swiper-slide>.bundle-card,
 .vanta-bundle-page .bundle-responsive-slider .swiper-slide>.bundle-benefit,
 .vanta-bundle-page .bundle-responsive-slider .swiper-slide>.bundle-testimonial {
   width: 100%;
   height: 100%;
 }

 .vanta-bundle-page .bundle-slider-pagination {
   display: none;
 }

 .vanta-bundle-page .bundle-hero__visual>.swiper-wrapper {
   grid-template-columns: repeat(3, minmax(0, 1fr));
 }

 .vanta-bundle-page .bundle-step-grid>.swiper-wrapper,
 .vanta-bundle-page .bundle-benefit-grid>.swiper-wrapper {
   grid-template-columns: repeat(3, minmax(0, 1fr));
 }

 .vanta-bundle-page .bundle-card-grid>.swiper-wrapper {
   grid-template-columns: repeat(3, minmax(0, 1fr));
 }

 .vanta-bundle-page .bundle-testimonial-grid>.swiper-wrapper {
   grid-template-columns: repeat(4, minmax(0, 1fr));
 }

 .vanta-bundle-page .bundle-card-grid,
 .vanta-bundle-page .bundle-step-grid,
 .vanta-bundle-page .bundle-benefit-grid,
 .vanta-bundle-page .bundle-testimonial-grid {
   display: block;
 }

 @media (max-width:991px) {
   .vanta-bundle-page .bundle-responsive-slider {
     overflow: hidden;
     padding: 2px 4px 34px;
   }

   .vanta-bundle-page .bundle-responsive-slider>.swiper-wrapper {
     display: flex;
     gap: 0;
     align-items: stretch;
   }

   .vanta-bundle-page .bundle-responsive-slider .swiper-slide {
     display: flex;
     height: auto;
   }

   .vanta-bundle-page .bundle-responsive-slider .swiper-slide>* {
     flex: 1 1 auto;
   }

   .vanta-bundle-page .bundle-slider-pagination {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 7px;
     position: static;
     margin-top: 18px;
   }

   .vanta-bundle-page .bundle-slider-pagination .swiper-pagination-bullet {
     width: 8px;
     height: 8px;
     margin: 0 !important;
     opacity: .32;
     background: #3f73ff;
     transition: opacity .22s ease, transform .22s ease, width .22s ease;
   }

   .vanta-bundle-page .bundle-slider-pagination .swiper-pagination-bullet-active {
     width: 22px;
     border-radius: 999px;
     opacity: 1;
     transform: scale(1.05);
   }

   .vanta-bundle-page .bundle-icon-tile:nth-child(2n) {
     transform: none;
   }

   .vanta-bundle-page .bundle-mini-ticker {
     margin-top: 16px;
   }

   .vanta-bundle-page .bundle-card,
   .vanta-bundle-page .bundle-step,
   .vanta-bundle-page .bundle-benefit,
   .vanta-bundle-page .bundle-testimonial {
     min-height: 100%;
   }
 }

 @media (max-width:767px) {
   .vanta-bundle-page .bundle-responsive-slider {
     padding-bottom: 30px;
   }

   .vanta-bundle-page .bundle-card-grid,
   .vanta-bundle-page .bundle-step-grid,
   .vanta-bundle-page .bundle-benefit-grid,
   .vanta-bundle-page .bundle-testimonial-grid {
     grid-template-columns: none;
   }
 }

 /* Keep hero tile container compatible with Swiper wrapper markup. */
 .vanta-bundle-page .bundle-hero__visual {
   display: block;
   grid-template-columns: none;
 }

 /* =========================================================
   Bundle Buttons Color Match
   Keeps the 3 new bundle pages aligned with the existing
   General/Student Library blue CTA style.
========================================================= */
 .vanta-bundle-page .bundle-hero__button,
 .vanta-bundle-page .bundle-card__button,
 .vanta-bundle-page .bundle-sticky-bar a,
 .vanta-bundle-page--gaming-bundles .bundle-hero__button,
 .vanta-bundle-page--gaming-bundles .bundle-card__button,
 .vanta-bundle-page--gaming-bundles .bundle-sticky-bar a,
 .vanta-bundle-page--social-entertainment-music .bundle-hero__button,
 .vanta-bundle-page--social-entertainment-music .bundle-card__button,
 .vanta-bundle-page--social-entertainment-music .bundle-sticky-bar a,
 .vanta-bundle-page--business-tools .bundle-hero__button,
 .vanta-bundle-page--business-tools .bundle-card__button,
 .vanta-bundle-page--business-tools .bundle-sticky-bar a {
   background: linear-gradient(135deg, var(--primary) 0%, var(--primary-2) 100%) !important;
   color: #fff !important;
   box-shadow: 0 12px 28px rgba(47, 109, 246, .24) !important;
 }

 .vanta-bundle-page .bundle-hero__button:hover,
 .vanta-bundle-page .bundle-card__button:hover,
 .vanta-bundle-page .bundle-sticky-bar a:hover {
   transform: translateY(-2px);
   box-shadow: 0 16px 34px rgba(47, 109, 246, .30) !important;
 }

 /* =========================================================
   Hero Icon Tiles Swiper Fix
   Makes hero icon tiles become a real horizontal slider on
   tablet/mobile and prevents tall/narrow broken icon cards.
========================================================= */
 @media (max-width:1024px) {
   .vanta-bundle-page .bundle-hero__visual {
     width: 100%;
     max-width: 760px;
     margin: 10px auto 0;
     overflow: hidden;
     padding: 2px 4px 34px;
   }

   .vanta-bundle-page .bundle-hero__visual>.swiper-wrapper {
     display: flex !important;
     gap: 0 !important;
     align-items: stretch;
   }

   .vanta-bundle-page .bundle-hero__visual .swiper-slide {
     display: flex;
     height: auto;
   }

   .vanta-bundle-page .bundle-hero__visual:not(.swiper-initialized) .swiper-slide {
     flex: 0 0 calc((100% - 36px) / 3);
     margin-right: 18px;
   }

   .vanta-bundle-page .bundle-hero__visual .bundle-icon-tile {
     width: 100%;
     min-height: 116px;
     border-radius: 22px;
     transform: none !important;
     padding: 18px 12px;
   }

   .vanta-bundle-page .bundle-hero__visual .bundle-icon-tile span {
     display: block;
     font-size: 2.05rem;
     line-height: 1;
     margin-bottom: 10px;
   }

   .vanta-bundle-page .bundle-hero__visual .bundle-icon-tile strong {
     display: block;
     font-size: .92rem;
     line-height: 1.15;
     word-break: normal;
   }

   .vanta-bundle-page .bundle-hero__visual .bundle-slider-pagination {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 7px;
     position: static;
     margin-top: 16px;
   }
 }

 @media (max-width:767px) {
   .vanta-bundle-page .bundle-hero__visual {
     max-width: 100%;
     padding-bottom: 28px;
   }

   .vanta-bundle-page .bundle-hero__visual:not(.swiper-initialized) .swiper-slide {
     flex-basis: calc((100% - 14px) / 2);
     margin-right: 14px;
   }

   .vanta-bundle-page .bundle-hero__visual .bundle-icon-tile {
     min-height: 104px;
     border-radius: 20px;
     padding: 16px 10px;
   }

   .vanta-bundle-page .bundle-hero__visual .bundle-icon-tile span {
     font-size: 1.9rem;
   }
 }

 /* =========================================================
   Final Desktop Hero Icon Tile Style Fix
   Restores the earlier roomy 3x2 hero icon-card look on desktop
   while keeping the current light theme and mobile/tablet Swiper.
========================================================= */
 @media (min-width:1025px) {
   .vanta-bundle-page .bundle-hero__inner {
     grid-template-columns: minmax(0, 1.04fr) minmax(430px, .78fr);
     gap: 46px;
   }

   .vanta-bundle-page .bundle-hero__visual {
     display: block;
     width: 100%;
     max-width: 520px;
     margin-left: auto;
     overflow: visible;
     padding: 0;
   }

   .vanta-bundle-page .bundle-hero__visual>.swiper-wrapper {
     display: grid !important;
     grid-template-columns: repeat(3, minmax(0, 1fr));
     gap: 18px;
     align-items: stretch;
     transform: none !important;
   }

   .vanta-bundle-page .bundle-hero__visual .swiper-slide {
     width: auto !important;
     height: auto !important;
     display: block;
     flex: initial;
   }

   .vanta-bundle-page .bundle-hero__visual .bundle-icon-tile {
     width: 100%;
     min-height: 138px;
     padding: 24px 16px;
     border-radius: 24px;
     border: 1px solid rgba(15, 23, 42, .08);
     background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
     box-shadow: 0 18px 42px rgba(15, 23, 42, .09);
     color: #07142f;
     transform: none;
   }

   .vanta-bundle-page .bundle-hero__visual .swiper-slide:nth-child(2n) .bundle-icon-tile {
     transform: translateY(18px);
   }

   .vanta-bundle-page .bundle-hero__visual .bundle-icon-tile:hover,
   .vanta-bundle-page .bundle-hero__visual .swiper-slide:nth-child(2n) .bundle-icon-tile:hover {
     transform: translateY(-4px) scale(1.02);
     background: #f2f6ff;
     box-shadow: 0 22px 50px rgba(15, 23, 42, .12);
   }

   .vanta-bundle-page .bundle-hero__visual .bundle-icon-tile span {
     display: block;
     font-size: 2.35rem;
     line-height: 1;
     margin-bottom: 12px;
   }

   .vanta-bundle-page .bundle-hero__visual .bundle-icon-tile strong {
     display: block;
     color: #07142f;
     font-size: 1rem;
     line-height: 1.15;
     font-weight: 900;
     text-align: center;
     white-space: normal;
   }

   .vanta-bundle-page .bundle-hero__visual .bundle-slider-pagination {
     display: none !important;
   }
 }

 /* =========================================================
   Bundle Imported Product Slider
   Used by Gaming and Social bundle templates only when markup exists.
   Other bundle templates are untouched.
========================================================= */
 .vanta-bundle-page .gaming-showcase-section {
   padding: 42px 0 54px;
   background: linear-gradient(180deg, #f7f9ff 0%, #f3f6fb 100%);
   overflow: hidden;
 }

 .vanta-bundle-page .gaming-showcase__toolbar {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 7px;
   width: max-content;
   max-width: 100%;
   margin: 0 auto 34px;
   padding: 8px;
   border: 1px solid rgba(15, 23, 42, .10);
   border-radius: 999px;
   background: #fff;
   box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
 }

 .vanta-bundle-page .gaming-currency-pill {
   appearance: none;
   border: 0;
   border-radius: 999px;
   background: transparent;
   color: #43516a;
   cursor: pointer;
   font-size: .78rem;
   font-weight: 900;
   letter-spacing: .01em;
   line-height: 1;
   padding: 10px 14px;
   transition: background .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
 }

 .vanta-bundle-page .gaming-currency-pill:hover,
 .vanta-bundle-page .gaming-currency-pill.is-active {
   background: #fff7d6;
   color: #07142f;
   box-shadow: 0 8px 18px rgba(255, 184, 46, .22);
   transform: translateY(-1px);
 }

 .vanta-bundle-page .gaming-showcase-slider {
   position: relative;
   overflow: hidden;
   padding: 4px 64px 48px;
 }

 .vanta-bundle-page .gaming-showcase-slider .swiper-wrapper {
   align-items: stretch;
 }

 .vanta-bundle-page .gaming-showcase-slider .swiper-slide {
   height: auto;
   display: flex;
 }

 .vanta-bundle-page .gaming-deal-card {
   position: relative;
   width: 100%;
   min-height: 548px;
   display: flex;
   flex-direction: column;
   overflow: hidden;
   border: 1px solid rgba(15, 23, 42, .10);
   border-radius: 18px;
   background: #fff;
   color: #07142f;
   box-shadow: 0 18px 42px rgba(15, 23, 42, .10);
   transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
 }

 .vanta-bundle-page .gaming-deal-card:hover {
   transform: translateY(-5px);
   border-color: rgba(63, 115, 255, .20);
   box-shadow: 0 24px 58px rgba(15, 23, 42, .14);
 }

 .vanta-bundle-page .gaming-deal-card__hot {
   position: absolute;
   right: 14px;
   top: 14px;
   z-index: 2;
   display: grid;
   place-items: center;
   width: 22px;
   height: 22px;
   border-radius: 999px;
   border: 1px solid rgba(255, 75, 104, .30);
   background: #fff1f3;
   color: #ff4b68;
   font-size: .9rem;
   font-weight: 1000;
   line-height: 1;
 }

 .vanta-bundle-page .gaming-deal-card__head {
   min-height: 168px;
   padding: 28px 24px 22px;
   text-align: center;
   background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
   border-bottom: 1px solid rgba(15, 23, 42, .08);
 }

 .vanta-bundle-page .gaming-deal-card__head h3 {
   max-width: 230px;
   margin: 0 auto 10px;
   color: #07142f;
   font-size: clamp(1.35rem, 1.35vw, 1.8rem);
   font-weight: 1000;
   letter-spacing: -.04em;
   line-height: 1.02;
 }

 .vanta-bundle-page .gaming-deal-card__head p {
   max-width: 240px;
   margin: 0 auto 18px;
   color: #536179;
   font-size: .78rem;
   font-weight: 700;
   line-height: 1.35;
 }

 .vanta-bundle-page .gaming-deal-card__timer {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 7px;
   min-height: 30px;
   padding: 8px 13px;
   border: 1px solid rgba(255, 75, 104, .24);
   border-radius: 999px;
   background: #fff1f3;
   color: #ff4b68;
   font-size: .72rem;
   font-weight: 1000;
   letter-spacing: .04em;
   text-transform: uppercase;
 }

 .vanta-bundle-page .gaming-deal-card__timer span {
   width: 7px;
   height: 7px;
   border-radius: 999px;
   background: #ff4b68;
   box-shadow: 0 0 0 4px rgba(255, 75, 104, .10);
 }

 .vanta-bundle-page .gaming-deal-card__timer strong {
   color: #ff4b68;
   font-weight: 1000;
 }

 .vanta-bundle-page .gaming-deal-card__games {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 10px;
   padding: 24px 22px;
   background: #fff;
 }

 .vanta-bundle-page .gaming-deal-card__games span,
 .vanta-bundle-page .gaming-deal-card__games em {
   min-height: 36px;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 8px 7px;
   border: 1px solid rgba(15, 23, 42, .10);
   border-radius: 7px;
   background: #fff;
   color: #07142f;
   font-size: .69rem;
   font-style: normal;
   font-weight: 900;
   line-height: 1.12;
   text-align: center;
 }

 .vanta-bundle-page .gaming-deal-card__games span.is-featured {
   border-color: rgba(255, 184, 46, .72);
   background: #fff9e8;
   color: #9a6700;
 }

 .vanta-bundle-page .gaming-deal-card__games em {
   grid-column: 1/-1;
   background: #f3f6ff;
   color: #07142f;
 }

 .vanta-bundle-page .gaming-deal-card__price {
   margin-top: auto;
   padding: 24px 20px 14px;
   text-align: center;
   background: #f8fafc;
   border-top: 1px solid rgba(15, 23, 42, .08);
 }

 .vanta-bundle-page .gaming-deal-card__price del {
   display: block;
   margin-bottom: 2px;
   color: #79869b;
   font-size: .74rem;
   font-weight: 1000;
 }

 .vanta-bundle-page .gaming-deal-card__price strong {
   display: flex;
   align-items: flex-end;
   justify-content: center;
   gap: 3px;
   color: #07142f;
   font-size: 2.35rem;
   font-weight: 1000;
   letter-spacing: -.06em;
   line-height: 1;
 }

 .vanta-bundle-page .gaming-deal-card__price small {
   margin-bottom: 5px;
   color: #536179;
   font-size: .8rem;
   font-weight: 900;
   letter-spacing: 0;
 }

 .vanta-bundle-page .gaming-deal-card__button {
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 52px;
   margin: 0 22px 22px;
   border-radius: 9px;
   background: #07142f;
   color: #fff;
   font-size: .82rem;
   font-weight: 1000;
   letter-spacing: .02em;
   text-decoration: none;
   transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
 }

 .vanta-bundle-page .gaming-deal-card__button:hover {
   transform: translateY(-2px);
   background: #10214a;
   box-shadow: 0 12px 24px rgba(15, 23, 42, .20);
 }

 .vanta-bundle-page .gaming-showcase-arrow {
   position: absolute;
   top: 50%;
   z-index: 6;
   display: grid;
   place-items: center;
   width: 44px;
   height: 44px;
   border: 1px solid rgba(15, 23, 42, .10);
   border-radius: 999px;
   background: #fff;
   color: #07142f;
   cursor: pointer;
   font-size: 2rem;
   font-weight: 800;
   line-height: 1;
   transform: translateY(-50%);
   box-shadow: 0 14px 34px rgba(15, 23, 42, .13);
   transition: transform .22s ease, background .22s ease, color .22s ease, opacity .22s ease;
 }

 .vanta-bundle-page .gaming-showcase-arrow:hover {
   background: #3f73ff;
   color: #fff;
   transform: translateY(-50%) scale(1.06);
 }

 .vanta-bundle-page .gaming-showcase-arrow--prev {
   left: 8px;
 }

 .vanta-bundle-page .gaming-showcase-arrow--next {
   right: 8px;
 }

 .vanta-bundle-page .gaming-showcase-pagination {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 7px;
   margin-top: 22px;
 }

 .vanta-bundle-page .gaming-showcase-pagination .swiper-pagination-bullet {
   width: 8px;
   height: 8px;
   margin: 0 !important;
   opacity: .32;
   background: #3f73ff;
   transition: opacity .22s ease, transform .22s ease, width .22s ease;
 }

 .vanta-bundle-page .gaming-showcase-pagination .swiper-pagination-bullet-active {
   width: 24px;
   border-radius: 999px;
   opacity: 1;
   transform: scale(1.05);
 }

 @media (max-width:1024px) {
   .vanta-bundle-page .gaming-showcase-section {
     padding: 34px 0 44px;
   }

   .vanta-bundle-page .gaming-showcase-slider {
     padding-inline: 46px;
   }
 }

 @media (max-width:767px) {
   .vanta-bundle-page .gaming-showcase__toolbar {
     width: 100%;
     justify-content: flex-start;
     overflow-x: auto;
     margin-bottom: 24px;
     scrollbar-width: none;
   }

   .vanta-bundle-page .gaming-showcase__toolbar::-webkit-scrollbar {
     display: none;
   }

   .vanta-bundle-page .gaming-showcase-slider {
     padding: 4px 10px 40px;
     overflow: visible;
   }

   .vanta-bundle-page .gaming-deal-card {
     min-height: 0;
     aspect-ratio: 1/1;
     max-height: 560px;
   }

   .vanta-bundle-page .gaming-deal-card__head {
     min-height: 156px;
     padding: 24px 20px 18px;
   }

   .vanta-bundle-page .gaming-deal-card__games {
     padding: 20px 18px;
   }

   .vanta-bundle-page .gaming-showcase-arrow {
     display: none;
   }
 }

 /* =========================================================
   Hero Background Image Frontend Fix
   Uses the ACF Hero Background Image CSS variable from bundle-layout.php
   and applies it inside the light hero card without affecting other pages.
========================================================= */
 .vanta-bundle-page .bundle-hero__inner {
   background:
     linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .92) 45%, rgba(255, 255, 255, .56) 100%),
     var(--bundle-hero-bg, linear-gradient(#fff, #fff)) !important;
   background-size: cover !important;
   background-position: center right !important;
   background-repeat: no-repeat !important;
 }

 @media (max-width:1024px) {
   .vanta-bundle-page .bundle-hero__inner {
     background:
       linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .94) 58%, rgba(255, 255, 255, .78) 100%),
       var(--bundle-hero-bg, linear-gradient(#fff, #fff)) !important;
     background-size: cover !important;
     background-position: center center !important;
   }
 }

 /* =========================================================
   Full-width Hero Banner Background
   Keeps the light theme layout but lets the uploaded hero image
   span the full banner width instead of only the rounded card.
========================================================= */
 .vanta-bundle-page .bundle-hero {
   background:
     linear-gradient(90deg, rgba(245, 248, 255, .96) 0%, rgba(255, 255, 255, .88) 46%, rgba(232, 248, 255, .78) 100%),
     var(--bundle-hero-bg, linear-gradient(90deg, #f6f9ff, #edfaff)) !important;
   background-size: cover !important;
   background-position: center right !important;
   background-repeat: no-repeat !important;
   padding: 42px 0 34px !important;
 }

 .vanta-bundle-page .bundle-hero__inner {
   width: 100% !important;
   max-width: none !important;
   margin: 0 !important;
   border-radius: 0 !important;
   border: 0 !important;
   box-shadow: none !important;
   background:
     linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .9) 48%, rgba(255, 255, 255, .52) 100%) !important;
   padding-left: max(28px, calc((100vw - 1140px) / 2 + 28px)) !important;
   padding-right: max(28px, calc((100vw - 1140px) / 2 + 28px)) !important;
 }

 @media (max-width:1024px) {
   .vanta-bundle-page .bundle-hero {
     background-position: center center !important;
   }

   .vanta-bundle-page .bundle-hero__inner {
     background: linear-gradient(180deg, rgba(255, 255, 255, .97) 0%, rgba(255, 255, 255, .92) 58%, rgba(255, 255, 255, .72) 100%) !important;
     padding-left: 24px !important;
     padding-right: 24px !important;
   }
 }

 @media (max-width:767px) {
   .vanta-bundle-page .bundle-hero {
     padding: 30px 0 28px !important;
   }

   .vanta-bundle-page .bundle-hero__inner {
     padding-left: 18px !important;
     padding-right: 18px !important;
   }
 }

 /* =========================================================
   Hero Image Display Options
   ACF field: Hero Image Style
   - Background Banner: image stays as full-width hero background.
   - Image Above Content: same image appears above hero content like a normal banner.
   Scoped only to bundle pages.
========================================================= */
 .vanta-bundle-page .bundle-hero--image-background {
   background:
     linear-gradient(90deg, rgba(245, 248, 255, .96) 0%, rgba(255, 255, 255, .88) 46%, rgba(232, 248, 255, .78) 100%),
     var(--bundle-hero-bg, linear-gradient(90deg, #f6f9ff, #edfaff)) !important;
   background-size: cover !important;
   background-position: center right !important;
   background-repeat: no-repeat !important;
 }

 .vanta-bundle-page .bundle-hero--image-background .bundle-hero__inner {
   width: 100% !important;
   max-width: none !important;
   margin: 0 !important;
   border-radius: 0 !important;
   border: 0 !important;
   box-shadow: none !important;
   background: linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .9) 48%, rgba(255, 255, 255, .52) 100%) !important;
   padding-left: max(28px, calc((100vw - 1140px) / 2 + 28px)) !important;
   padding-right: max(28px, calc((100vw - 1140px) / 2 + 28px)) !important;
 }

 .vanta-bundle-page .bundle-hero--image-above_content {
   background: linear-gradient(90deg, #f6f9ff 0%, #edfaff 100%) !important;
   background-image: linear-gradient(90deg, #f6f9ff 0%, #edfaff 100%) !important;
   padding: 42px 0 34px !important;
 }

 .vanta-bundle-page .bundle-hero--image-above_content .bundle-hero__inner {
   width: min(calc(100% - 32px), 1140px) !important;
   max-width: 1140px !important;
   margin: 0 auto !important;
   border-radius: 28px !important;
   border: 1px solid rgba(15, 23, 42, .08) !important;
   box-shadow: 0 20px 55px rgba(15, 23, 42, .08) !important;
   background: #fff !important;
   padding: 24px !important;
 }

 .vanta-bundle-page .bundle-hero__top-image {
   grid-column: 1 / -1;
   width: 100%;
   overflow: hidden;
   border-radius: 22px;
   border: 1px solid rgba(15, 23, 42, .08);
   background: #f8fbff;
   box-shadow: 0 16px 40px rgba(15, 23, 42, .08);
 }

 .vanta-bundle-page .bundle-hero__top-image img {
   display: block;
   width: 100%;
   height: auto;
   max-height: 620px;
   object-fit: cover;
   object-position: center;
 }

 @media (max-width:1024px) {
   .vanta-bundle-page .bundle-hero--image-background {
     background-position: center center !important;
   }

   .vanta-bundle-page .bundle-hero--image-background .bundle-hero__inner {
     background: linear-gradient(180deg, rgba(255, 255, 255, .97) 0%, rgba(255, 255, 255, .92) 58%, rgba(255, 255, 255, .72) 100%) !important;
     padding-left: 24px !important;
     padding-right: 24px !important;
   }

   .vanta-bundle-page .bundle-hero--image-above_content .bundle-hero__inner {
     width: min(calc(100% - 24px), 760px) !important;
     padding: 18px !important;
   }
 }

 @media (max-width:767px) {

   .vanta-bundle-page .bundle-hero--image-background,
   .vanta-bundle-page .bundle-hero--image-above_content {
     padding: 30px 0 28px !important;
   }

   .vanta-bundle-page .bundle-hero--image-background .bundle-hero__inner {
     padding-left: 18px !important;
     padding-right: 18px !important;
   }

   .vanta-bundle-page .bundle-hero--image-above_content .bundle-hero__inner {
     width: min(calc(100% - 20px), 560px) !important;
     padding: 14px !important;
     border-radius: 22px !important;
   }

   .vanta-bundle-page .bundle-hero__top-image {
     border-radius: 18px;
   }
 }


 /* =========================================================
   Bundle Top Urgency Bar + New Bundle Page Variants
========================================================= */
 .admin-bar .bundle-top-urgency {
   top: 12px;
 }

 .bundle-top-urgency {
   position: sticky;
   top: 43px;
   z-index: 80;
   background: linear-gradient(135deg, #ff3b3b, #f97316);
   color: #fff;
   box-shadow: 0 12px 30px rgba(15, 23, 42, .18);
 }

 .bundle-top-urgency__inner {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 14px;
   min-height: 44px;
   padding: 8px 20px;
   text-align: center;
 }

 .bundle-top-urgency strong {
   font-size: .94rem;
   letter-spacing: .01em;
 }

 .bundle-top-urgency small {
   font-weight: 800;
   white-space: nowrap;
 }

 .bundle-top-urgency__progress {
   width: min(180px, 24vw);
   height: 8px;
   border-radius: 999px;
   background: rgba(255, 255, 255, .25);
   overflow: hidden;
   box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .24);
 }

 .bundle-top-urgency__progress span {
   display: block;
   height: 100%;
   border-radius: 999px;
   background: #fff;
 }

 .vanta-bundle-page--lifestyle-bundles {
   --bundle-gold: #fbbf24;
   --bundle-orange: #fb7185;
   --bundle-cyan: #22c55e;
   --bundle-red: #ef4444;
 }

 .vanta-bundle-page--education-bundles {
   --bundle-gold: #ffb347;
   --bundle-orange: #2563eb;
   --bundle-cyan: #00c9a7;
   --bundle-red: #ef4444;
 }

 .vanta-bundle-page--lifestyle-bundles .bundle-hero__button,
 .vanta-bundle-page--lifestyle-bundles .bundle-card__button,
 .vanta-bundle-page--lifestyle-bundles .bundle-sticky-bar a,
 .vanta-bundle-page--education-bundles .bundle-hero__button,
 .vanta-bundle-page--education-bundles .bundle-card__button,
 .vanta-bundle-page--education-bundles .bundle-sticky-bar a {
   background: linear-gradient(135deg, var(--primary) 0%, var(--primary-2) 100%) !important;
   color: #fff !important;
   box-shadow: 0 12px 28px rgba(47, 109, 246, .24) !important;
 }

 @media (max-width:767px) {
   .bundle-top-urgency__inner {
     flex-direction: column;
     gap: 6px;
     padding: 8px 16px;
   }

   .bundle-top-urgency__progress {
     width: 100%;
     max-width: 260px;
   }
 }


 /* =========================================================
   Bundle Section Swipers - Always On
   Converts bundle page subsections from desktop grids into
   proper Swiper sliders with arrows, dots, equal-height cards.
========================================================= */
 .vanta-bundle-page .bundle-responsive-slider {
   position: relative !important;
   display: block !important;
   overflow: hidden !important;
   padding: 8px 4px 60px !important;
   margin-left: auto;
   margin-right: auto;
 }

 .vanta-bundle-page .bundle-responsive-slider>.swiper-wrapper {
   display: flex !important;
   gap: 0 !important;
   align-items: stretch !important;
 }

 .vanta-bundle-page .bundle-responsive-slider .swiper-slide {
   display: flex !important;
   height: auto !important;
   min-width: 0 !important;
   flex-shrink: 0 !important;
 }

 .vanta-bundle-page .bundle-responsive-slider .swiper-slide>.bundle-icon-tile,
 .vanta-bundle-page .bundle-responsive-slider .swiper-slide>.bundle-step,
 .vanta-bundle-page .bundle-responsive-slider .swiper-slide>.bundle-card,
 .vanta-bundle-page .bundle-responsive-slider .swiper-slide>.bundle-benefit,
 .vanta-bundle-page .bundle-responsive-slider .swiper-slide>.bundle-testimonial {
   width: 100% !important;
   height: auto !important;
   min-height: 100% !important;
   flex: 1 1 auto !important;
 }

 .vanta-bundle-page .bundle-slider-pagination {
   display: flex !important;
   justify-content: center;
   align-items: center;
   gap: 7px;
   position: absolute !important;
   left: 0;
   right: 0;
   bottom: 18px !important;
   margin: 0 !important;
   z-index: 3;
 }

 .vanta-bundle-page .bundle-slider-pagination .swiper-pagination-bullet {
   width: 9px;
   height: 9px;
   margin: 0 !important;
   opacity: .30;
   background: #3f73ff;
   transition: opacity .22s ease, transform .22s ease, width .22s ease;
 }

 .vanta-bundle-page .bundle-slider-pagination .swiper-pagination-bullet-active {
   width: 26px;
   border-radius: 999px;
   opacity: 1;
   transform: scale(1.04);
 }

 .vanta-bundle-page .bundle-slider-arrow {
   position: absolute;
   top: 44%;
   z-index: 5;
   width: 46px;
   height: 46px;
   border: 0;
   border-radius: 999px;
   display: grid;
   place-items: center;
   cursor: pointer;
   background: linear-gradient(135deg, var(--primary) 0%, var(--primary-2) 100%);
   color: #fff;
   font-size: 30px;
   font-weight: 900;
   line-height: 1;
   box-shadow: 0 16px 34px rgba(47, 109, 246, .26);
   transform: translateY(-50%);
   transition: transform .22s ease, box-shadow .22s ease, opacity .22s ease;
 }

 .vanta-bundle-page .bundle-slider-arrow:hover {
   transform: translateY(-50%) scale(1.06);
   box-shadow: 0 20px 40px rgba(47, 109, 246, .34);
 }

 .vanta-bundle-page .bundle-slider-arrow.swiper-button-disabled {
   opacity: .35;
   cursor: not-allowed;
   transform: translateY(-50%);
 }

 .vanta-bundle-page .bundle-slider-arrow--prev {
   left: 2px;
 }

 .vanta-bundle-page .bundle-slider-arrow--next {
   right: 2px;
 }

 .vanta-bundle-page .bundle-card-grid.bundle-responsive-slider,
 .vanta-bundle-page .bundle-step-grid.bundle-responsive-slider,
 .vanta-bundle-page .bundle-benefit-grid.bundle-responsive-slider,
 .vanta-bundle-page .bundle-testimonial-grid.bundle-responsive-slider {
   max-width: 1200px;
 }

 .vanta-bundle-page .bundle-card-grid.bundle-responsive-slider {
   padding-left: 4px !important;
   padding-right: 4px !important;
 }

 @media (max-width:767px) {
   .vanta-bundle-page .bundle-responsive-slider {
     padding-bottom: 44px !important;
   }

   .vanta-bundle-page .bundle-slider-arrow {
     display: none;
   }

   .vanta-bundle-page .bundle-slider-pagination {
     bottom: 12px !important;
   }
 }


 /* =========================================================
   Hero Banner Icon Tiles: desktop static, mobile/tablet Swiper
   Desktop (992px+) keeps the original banner grid with no slider
   arrows or pagination. Swiper starts only at 991px and below.
========================================================= */
 @media (min-width:992px) {
   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider {
     display: grid !important;
     grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
     gap: 16px !important;
     overflow: visible !important;
     padding: 0 !important;
     max-width: 520px;
     margin-left: auto;
     margin-right: auto;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider>.swiper-wrapper {
     display: grid !important;
     grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
     gap: 16px !important;
     width: auto !important;
     height: auto !important;
     transform: none !important;
     transition: none !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider .swiper-slide {
     width: auto !important;
     height: auto !important;
     flex-shrink: 1 !important;
     transform: none !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider .bundle-slider-arrow,
   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider .bundle-slider-pagination {
     display: none !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider .swiper-slide:nth-child(2n) .bundle-icon-tile {
     transform: translateY(18px);
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider .bundle-icon-tile:hover {
     transform: translateY(-4px) scale(1.02);
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider .swiper-slide:nth-child(2n) .bundle-icon-tile:hover {
     transform: translateY(14px) scale(1.02);
   }
 }

 @media (max-width:991px) {
   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider {
     display: block !important;
     overflow: hidden !important;
     padding: 2px 4px 34px !important;
     max-width: 100%;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider>.swiper-wrapper {
     display: flex !important;
     gap: 0 !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider .swiper-slide {
     display: flex;
     height: auto;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider .bundle-icon-tile {
     width: 100%;
     transform: none !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider .bundle-slider-arrow {
     display: grid;
   }
 }

 /* =========================================================
   FINAL HERO ICON DESKTOP FIX
   Force hero icons back to the original roomy 3x2 desktop grid.
   Swiper behavior is only for screens up to 991px.
========================================================= */
 @media (min-width:992px) {
   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider.swiper {
     display: block !important;
     width: 100% !important;
     max-width: 520px !important;
     overflow: visible !important;
     padding: 0 !important;
     margin-left: auto !important;
     margin-right: auto !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider.swiper>.swiper-wrapper {
     display: grid !important;
     grid-template-columns: repeat(3, minmax(118px, 1fr)) !important;
     gap: 16px !important;
     width: 100% !important;
     max-width: 100% !important;
     height: auto !important;
     align-items: stretch !important;
     transform: none !important;
     transition: none !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider.swiper .swiper-slide {
     display: block !important;
     width: 100% !important;
     max-width: none !important;
     height: auto !important;
     min-width: 0 !important;
     flex: 0 0 auto !important;
     margin: 0 !important;
     transform: none !important;
     opacity: 1 !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider.swiper .bundle-icon-tile {
     display: flex !important;
     flex-direction: column !important;
     align-items: center !important;
     justify-content: center !important;
     gap: 10px !important;
     width: 100% !important;
     min-width: 0 !important;
     min-height: 138px !important;
     padding: 24px 14px !important;
     border-radius: 24px !important;
     border: 1px solid rgba(15, 23, 42, .08) !important;
     background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%) !important;
     box-shadow: 0 18px 42px rgba(15, 23, 42, .09) !important;
     color: #07142f !important;
     transform: none !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider.swiper .swiper-slide:nth-child(2n) .bundle-icon-tile {
     transform: translateY(18px) !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider.swiper .bundle-icon-tile:hover {
     transform: translateY(-4px) scale(1.02) !important;
     background: #f2f6ff !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider.swiper .swiper-slide:nth-child(2n) .bundle-icon-tile:hover {
     transform: translateY(14px) scale(1.02) !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider.swiper .bundle-icon-tile span {
     display: block !important;
     width: auto !important;
     height: auto !important;
     min-width: 0 !important;
     margin: 0 !important;
     font-size: 2.35rem !important;
     line-height: 1 !important;
     text-align: center !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider.swiper .bundle-icon-tile strong {
     display: block !important;
     width: 100% !important;
     color: #07142f !important;
     font-size: 1rem !important;
     line-height: 1.15 !important;
     font-weight: 900 !important;
     text-align: center !important;
     white-space: normal !important;
     word-break: normal !important;
     overflow-wrap: normal !important;
   }

   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider.swiper .bundle-slider-arrow,
   .vanta-bundle-page .bundle-hero__visual.bundle-responsive-slider.swiper .bundle-slider-pagination {
     display: none !important;
   }
 }


 /* Removed slider arrows globally as requested */
 .filter-slider-nav,
 .filter-slider-arrow,
 .vanta-bundle-page .bundle-slider-arrow,
 .vanta-bundle-page .gaming-showcase-arrow {
   display: none !important;
 }

 /* Social + Entertainment deal cards: clean compact preview.
   Shows only a few included apps by default and reveals the full list on click.
   This avoids ugly nested sliders and horizontal scrollbars inside the main slider. */
 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-showcase-slider {
   padding-left: 24px;
   padding-right: 24px;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card {
   min-height: 430px;
   overflow: visible;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__head {
   min-height: 140px;
   padding: 24px 20px 16px;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__head h3 {
   max-width: 230px;
   font-size: clamp(1.22rem, 1.15vw, 1.55rem);
   line-height: 1.04;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__head p {
   margin-bottom: 13px;
   font-size: .72rem;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__timer {
   min-height: 28px;
   padding: 7px 12px;
   font-size: .68rem;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__games {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 8px;
   min-height: auto;
   padding: 16px 18px 10px;
   background: #fff;
   overflow: visible;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__games span,
 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__games em,
 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__more-grid span {
   min-height: 32px;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 7px 8px;
   border: 1px solid rgba(15, 23, 42, .10);
   border-radius: 8px;
   background: #fff;
   color: #07142f;
   font-size: .66rem;
   font-style: normal;
   font-weight: 900;
   line-height: 1.12;
   text-align: center;
   white-space: normal;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__games span.is-featured,
 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__more-grid span.is-featured {
   border-color: rgba(255, 184, 46, .72);
   background: #fff9e8;
   color: #9a6700;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__more {
   margin: 0 18px 16px;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__more summary {
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 34px;
   border: 1px solid rgba(63, 115, 255, .18);
   border-radius: 9px;
   background: #f5f8ff;
   color: #2f6df6;
   cursor: pointer;
   font-size: .72rem;
   font-weight: 1000;
   list-style: none;
   text-align: center;
   user-select: none;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__more summary::-webkit-details-marker {
   display: none;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__more summary:after {
   content: '⌄';
   margin-left: 8px;
   font-size: .9rem;
   line-height: 1;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__more[open] summary:after {
   content: '⌃';
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__more-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 8px;
   max-height: 172px;
   margin-top: 10px;
   padding: 10px;
   border: 1px solid rgba(15, 23, 42, .08);
   border-radius: 12px;
   background: #fff;
   overflow-y: auto;
   box-shadow: 0 12px 24px rgba(15, 23, 42, .08);
   scrollbar-width: thin;
   scrollbar-color: rgba(47, 109, 246, .32) rgba(15, 23, 42, .05);
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__more-grid::-webkit-scrollbar {
   width: 6px;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__more-grid::-webkit-scrollbar-track {
   background: rgba(15, 23, 42, .05);
   border-radius: 999px;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__more-grid::-webkit-scrollbar-thumb {
   background: rgba(47, 109, 246, .32);
   border-radius: 999px;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__price {
   padding: 16px 18px 12px;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__price strong {
   font-size: 2.05rem;
 }

 .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__button {
   min-height: 46px;
   margin: 0 20px 20px;
 }

 @media (max-width:767px) {
   .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-showcase-slider {
     padding-left: 14px;
     padding-right: 14px;
   }

   .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card {
     min-height: 410px;
   }

   .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__games {
     padding-left: 16px;
     padding-right: 16px;
   }

   .vanta-bundle-page--social-entertainment-music .bundle-deal-showcase-section .gaming-deal-card__more {
     margin-left: 16px;
     margin-right: 16px;
   }
 }


 /* Bundle promo banners: ACF-controlled static image or no-arrow slider */
 .vanta-bundle-page .bundle-promo-banners {
   padding: 34px 0 8px;
   background: linear-gradient(180deg, #f4f9ff 0%, #ffffff 100%);
 }

 .vanta-bundle-page .bundle-top-urgency+.bundle-promo-banners {
   padding-top: 30px;
 }

 .vanta-bundle-page .bundle-promo-banner-slider {
   overflow: hidden;
 }

 .vanta-bundle-page .bundle-promo-banner {
   width: 100%;
   overflow: hidden;
   border-radius: 28px;
   background: #07101f;
   border: 1px solid rgba(16, 24, 40, .08);
   box-shadow: 0 24px 70px rgba(8, 18, 43, .16);
 }

 .vanta-bundle-page .bundle-promo-banner img {
   display: block;
   width: 100%;
   height: auto;
   max-height: 640px;
   aspect-ratio: 16 / 9;
   object-fit: contain;
   object-position: center;
   background: #07101f;
 }

 .vanta-bundle-page .bundle-promo-banner-pagination {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 7px;
   margin-top: 16px;
   min-height: 12px;
 }

 .vanta-bundle-page .bundle-promo-banner-pagination .swiper-pagination-bullet {
   width: 8px;
   height: 8px;
   border-radius: 999px;
   margin: 0 !important;
   opacity: 1;
   background: rgba(47, 109, 246, .26);
   transition: width .2s ease, background .2s ease;
 }

 .vanta-bundle-page .bundle-promo-banner-pagination .swiper-pagination-bullet-active {
   width: 26px;
   background: var(--primary);
 }

 @media (max-width:767px) {
   .vanta-bundle-page .bundle-promo-banners {
     padding: 22px 0 4px;
   }

   .vanta-bundle-page .bundle-promo-banner {
     border-radius: 18px;
   }

   .vanta-bundle-page .bundle-promo-banner img {
     aspect-ratio: 1 / 1;
     max-height: none;
   }
 }

 /* =========================================================
   Client requested safe fixes - bundle grid only
   1) Desktop arrows for Business/Gaming bundle card slider.
   2) Smaller Education bundle CTA text so it stays one line.
   These styles do not change the existing slider/grid structure.
========================================================= */
 .vanta-bundle-page--education-bundles .bundle-grid-section .bundle-card__button {
   font-size: .74rem;
   line-height: 1.15;
   letter-spacing: .01em;
   padding-left: 12px;
   padding-right: 12px;
   white-space: nowrap;
 }

 .vanta-bundle-page--business-tools .bundle-grid-section .site-container,
 .vanta-bundle-page--gaming-bundles .bundle-grid-section .site-container,
 .vanta-bundle-page--social-entertainment-music .bundle-grid-section .site-container {
   position: relative;
 }

 .vanta-client-grid-arrow {
   display: none;
 }

 @media (min-width:992px) {

   .vanta-bundle-page--business-tools .bundle-grid-section .vanta-client-grid-arrow,
   .vanta-bundle-page--gaming-bundles .bundle-grid-section .vanta-client-grid-arrow,
   .vanta-bundle-page--social-entertainment-music .bundle-grid-section .vanta-client-grid-arrow {
     position: absolute;
     z-index: 8;
     top: var(--vanta-client-arrow-top, 56%);
     width: 46px;
     height: 46px;
     border: 1px solid rgba(255, 255, 255, .74);
     border-radius: 999px;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 0;
     cursor: pointer;
     background: linear-gradient(135deg, #3f73ff 0%, #5d8cff 100%);
     color: #fff;
     box-shadow: 0 16px 34px rgba(47, 109, 246, .30), 0 5px 14px rgba(15, 23, 42, .12);
     transform: translateY(-50%);
     transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
   }

   .vanta-bundle-page--business-tools .bundle-grid-section .vanta-client-grid-arrow:hover,
   .vanta-bundle-page--gaming-bundles .bundle-grid-section .vanta-client-grid-arrow:hover,
   .vanta-bundle-page--social-entertainment-music .bundle-grid-section .vanta-client-grid-arrow:hover {
     transform: translateY(-50%) scale(1.07);
     box-shadow: 0 20px 42px rgba(47, 109, 246, .38), 0 8px 18px rgba(15, 23, 42, .14);
   }

   .vanta-bundle-page--business-tools .bundle-grid-section .vanta-client-grid-arrow:disabled,
   .vanta-bundle-page--gaming-bundles .bundle-grid-section .vanta-client-grid-arrow:disabled,
   .vanta-bundle-page--social-entertainment-music .bundle-grid-section .vanta-client-grid-arrow:disabled {
     opacity: .42;
     cursor: not-allowed;
     transform: translateY(-50%);
   }

   .vanta-bundle-page--business-tools .bundle-grid-section .vanta-client-grid-arrow--prev,
   .vanta-bundle-page--gaming-bundles .bundle-grid-section .vanta-client-grid-arrow--prev,
   .vanta-bundle-page--social-entertainment-music .bundle-grid-section .vanta-client-grid-arrow--prev {
     left: -23px;
   }

   .vanta-bundle-page--business-tools .bundle-grid-section .vanta-client-grid-arrow--next,
   .vanta-bundle-page--gaming-bundles .bundle-grid-section .vanta-client-grid-arrow--next,
   .vanta-bundle-page--social-entertainment-music .bundle-grid-section .vanta-client-grid-arrow--next {
     right: -23px;
   }

   .vanta-client-grid-arrow svg {
     width: 22px;
     height: 22px;
     display: block;
     fill: none;
     stroke: currentColor;
     stroke-width: 3;
     stroke-linecap: round;
     stroke-linejoin: round;
   }
 }

 @media (min-width:992px) and (max-width:1240px) {

   .vanta-bundle-page--business-tools .bundle-grid-section .vanta-client-grid-arrow--prev,
   .vanta-bundle-page--gaming-bundles .bundle-grid-section .vanta-client-grid-arrow--prev,
   .vanta-bundle-page--social-entertainment-music .bundle-grid-section .vanta-client-grid-arrow--prev {
     left: 8px;
   }

   .vanta-bundle-page--business-tools .bundle-grid-section .vanta-client-grid-arrow--next,
   .vanta-bundle-page--gaming-bundles .bundle-grid-section .vanta-client-grid-arrow--next,
   .vanta-bundle-page--social-entertainment-music .bundle-grid-section .vanta-client-grid-arrow--next {
     right: 8px;
   }
 }


 /* Live header overlap fix for bundle top urgency bar.
   Keeps the orange bar directly under sticky/fixed headers instead of hiding behind them. */
 /* .vanta-bundle-page .bundle-top-urgency{
  top:var(--vanta-bundle-header-offset,0px) !important;
} */

 /* Product Page Structure template */
 .vanta-product-page {
   background: linear-gradient(180deg, #eef2ff 0%, #f8fafc 48%, #eef2ff 100%);
   padding-bottom: 0;
 }

 .product-urgency-bar {
   margin-top: 7px !important;
 }

 /* Mobile Devices */
 @media (max-width: 768px) {
   .product-urgency-bar {
     margin-top: 20px !important;
   }
 }

 .product-urgency-bar {
   position: relative;
   top: 0;
   z-index: 1;
   color: #fff;
   background: linear-gradient(135deg, #111827 0%, #7f1d1d 100%);
   border-bottom: 1px solid rgba(255, 255, 255, .1);
 }

 .product-urgency-bar__inner {
   min-height: 54px;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 16px;
   flex-wrap: wrap;
 }

 .product-urgency-bar__inner strong {
   font-size: .98rem;
   letter-spacing: .01em
 }

 .product-urgency-bar__inner small {
   color: rgba(255, 255, 255, .78);
   font-weight: 800
 }

 .product-urgency-bar__progress {
   width: min(220px, 38vw);
   height: 10px;
   border-radius: 999px;
   overflow: hidden;
   background: rgba(255, 255, 255, .16);
   border: 1px solid rgba(255, 255, 255, .16);
 }

 .product-urgency-bar__progress span {
   display: block;
   height: 100%;
   border-radius: inherit;
   background: linear-gradient(90deg, #f97316, #facc15);
 }

 .product-conversion-header {
   position: relative;
   top: auto;
   z-index: 1;
   background: rgba(255, 255, 255, .86);
   backdrop-filter: blur(16px);
   border-bottom: 1px solid rgba(16, 24, 40, .08);
 }

 .product-conversion-header__inner {
   min-height: 68px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
 }

 .product-conversion-header__logo .custom-logo-link img {
   max-height: 46px
 }

 .product-conversion-header__logo .site-branding__text-logo {
   font-size: 1.15rem
 }

 .product-conversion-header__inner>span {
   color: #344054;
   font-weight: 800;
   padding: 9px 14px;
   border-radius: 999px;
   background: #fff7ed;
   border: 1px solid #fed7aa;
 }

 .product-hero-section {
   padding: 46px 0 28px
 }

 .product-hero-grid {
   display: grid;
   grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
   gap: 34px;
   align-items: start;
 }

 .product-gallery,
 .product-offer-stack,
 .product-problem-card,
 .product-trust-strip,
 .product-feature-card,
 .product-demo-card,
 .product-testimonial-card,
 .product-comparison-table-wrap,
 .product-guarantee-card,
 .product-link-card,
 .product-faq,
 .product-final-card {
   background: #fff;
   border: 1px solid rgba(16, 24, 40, .08);
   border-radius: 28px;
   box-shadow: 0 18px 55px rgba(15, 23, 42, .08);
 }

 .product-gallery {
   padding: 18px
 }

 .product-gallery__main {
   position: relative;
   overflow: hidden;
   border-radius: 24px;
   background: #0b1024;
 }

 .product-gallery__main img {
   width: 100%;
   aspect-ratio: 1/1;
   object-fit: cover;
 }

 .product-gallery__badge {
   position: absolute;
   top: 18px;
   left: 18px;
   padding: 9px 14px;
   border-radius: 999px;
   color: #fff;
   font-weight: 900;
   background: linear-gradient(135deg, #dc2626, #f97316);
   box-shadow: 0 12px 24px rgba(220, 38, 38, .24);
 }

 .product-gallery__thumbs {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 10px;
   margin-top: 12px;
 }

 .product-gallery__thumbs button {
   padding: 0;
   border: 2px solid transparent;
   border-radius: 18px;
   overflow: hidden;
   background: #eef2ff;
   cursor: pointer;
 }

 .product-gallery__thumbs button.is-active {
   border-color: var(--primary)
 }

 .product-gallery__thumbs img {
   width: 100%;
   aspect-ratio: 1/1;
   object-fit: cover
 }

 .product-offer-stack {
   padding: 34px
 }

 .product-offer-stack h1 {
   margin: 0 0 14px;
   font-size: clamp(2.05rem, 3.8vw, 3.55rem);
   line-height: 1.02;
   letter-spacing: -.055em;
   color: #0f172a;
 }

 .product-hero-subtitle {
   margin: 0 0 18px;
   color: #475467;
   font-size: 1.08rem
 }

 .product-rating-row,
 .product-price-row,
 .product-urgency-row {
   display: flex;
   align-items: center;
   gap: 12px;
   flex-wrap: wrap;
   margin-top: 14px;
 }

 .product-rating-row span {
   color: #f59e0b;
   letter-spacing: .08em
 }

 .product-rating-row strong {
   font-size: 1.08rem;
   color: #101828
 }

 .product-rating-row small {
   color: #667085;
   font-weight: 700
 }

 .product-price-row del {
   color: #98a2b3;
   font-size: 1.25rem;
   font-weight: 800
 }

 .product-price-row strong {
   font-size: clamp(2.15rem, 5vw, 3.5rem);
   line-height: 1;
   color: #0f172a
 }

 .product-price-row span {
   padding: 8px 12px;
   border-radius: 999px;
   background: #dcfce7;
   color: #166534;
   font-weight: 900;
 }

 .product-urgency-row>div {
   flex: 1 1 180px;
   padding: 14px 16px;
   border-radius: 18px;
   background: #0f172a;
   color: #fff;
 }

 .product-urgency-row small {
   display: block;
   color: rgba(255, 255, 255, .7);
   font-weight: 700;
   font-size: .8rem;
   text-transform: uppercase;
   letter-spacing: .08em
 }

 .product-urgency-row strong {
   font-size: 1.28rem;
   color: #fff
 }

 .product-benefit-list {
   list-style: none;
   margin: 20px 0 0;
   padding: 0;
   display: grid;
   gap: 10px
 }

 .product-benefit-list li {
   position: relative;
   padding-left: 30px;
   color: #344054;
   font-weight: 750;
 }

 .product-benefit-list li::before {
   content: "";
   position: absolute;
   left: 0;
   top: .32em;
   width: 18px;
   height: 18px;
   border-radius: 50%;
   background: var(--success);
   box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .9);
 }

 .product-primary-cta {
   width: 100%;
   margin-top: 24px
 }

 .product-trust-line,
 .product-live-viewers {
   margin: 12px 0 0;
   color: #475467;
   text-align: center;
   font-weight: 700
 }

 .product-problem-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 22px
 }

 .product-problem-card {
   padding: 30px;
   position: relative;
   overflow: hidden
 }

 .product-problem-card::after {
   content: "";
   position: absolute;
   width: 150px;
   height: 150px;
   border-radius: 50%;
   right: -46px;
   bottom: -62px;
   background: rgba(220, 38, 38, .11);
 }

 .product-problem-card--solution::after {
   background: rgba(18, 183, 106, .15)
 }

 .product-problem-card span,
 .product-link-card span {
   display: inline-flex;
   margin-bottom: 12px;
   padding: 7px 11px;
   border-radius: 999px;
   background: #eef2ff;
   color: #344fc4;
   font-size: .82rem;
   font-weight: 900;
   text-transform: uppercase;
   letter-spacing: .08em;
 }

 .product-problem-card h2 {
   margin: 0 0 12px;
   font-size: clamp(1.7rem, 3vw, 2.7rem);
   line-height: 1.08;
   letter-spacing: -.035em
 }

 .product-problem-card p {
   margin: 0;
   color: #475467
 }

 .product-trust-strip {
   padding: 24px 28px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
   flex-wrap: wrap
 }

 .product-trust-strip p {
   margin: 0;
   font-weight: 900;
   color: #0f172a
 }

 .product-trust-strip div {
   display: flex;
   gap: 12px;
   flex-wrap: wrap
 }

 .product-trust-strip span {
   padding: 10px 14px;
   border-radius: 999px;
   background: #f2f4f7;
   color: #475467;
   font-weight: 900;
 }

 .product-feature-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 18px
 }

 .product-feature-slider {
   position: relative;
   overflow: hidden;
   padding: 2px 2px 0
 }

 .product-feature-slider:not(.swiper-initialized) {
   overflow: visible
 }

 .product-feature-slider:not(.swiper-initialized) .swiper-wrapper {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
   align-items: stretch
 }

 .product-feature-slider:not(.swiper-initialized) .swiper-slide {
   width: auto !important;
   height: auto
 }

 .product-feature-slider .swiper-wrapper {
   align-items: stretch
 }

 .product-feature-slider .swiper-slide {
   height: auto;
   display: flex
 }

 .product-feature-card {
   padding: 24px;
   min-height: 210px
 }

 .product-feature-slider .product-feature-card {
   width: 100%;
   height: 100%;
   box-shadow: none;
 }

 .product-feature-card>span {
   font-size: 2rem;
   display: inline-block;
   margin-bottom: 14px
 }

 .product-feature-card h3 {
   margin: 0 0 10px;
   line-height: 1.15
 }

 .product-feature-card p {
   margin: 0;
   color: #667085
 }

 .product-feature-slider__controls {
   display: none;
   align-items: center;
   justify-content: center;
   gap: 14px;
   margin-top: 18px
 }

 .product-feature-slider.swiper-initialized .product-feature-slider__controls {
   display: flex
 }

 .product-feature-slider__pagination {
   position: static !important;
   width: auto !important;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px
 }

 .product-feature-slider .swiper-pagination-bullet {
   width: 9px;
   height: 9px;
   margin: 0 !important;
   background: #98a2b3;
   opacity: .6;
   transition: width .22s ease, opacity .22s ease
 }

 .product-feature-slider .swiper-pagination-bullet-active {
   width: 22px;
   border-radius: 999px;
   background: var(--primary);
   opacity: 1
 }

 @media (max-width:900px) {
   .product-feature-slider:not(.swiper-initialized) .swiper-wrapper {
     grid-template-columns: repeat(2, minmax(0, 1fr))
   }
 }

 @media (max-width:767px) {
   .product-feature-slider {
     padding: 2px 2px 0
   }

   .product-feature-slider:not(.swiper-initialized) .swiper-wrapper {
     grid-template-columns: 1fr
   }
 }

 /* Product demo comparison - premium static layout */
 .product-demo-card {
   padding: 38px;
   text-align: center;
   max-width: 980px;
   margin-inline: auto;
   overflow: hidden;
 }

 .product-demo-card__header {
   max-width: 760px;
   margin: 0 auto 28px
 }

 .product-demo-card__header>span {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 10px;
   padding: 7px 13px;
   border-radius: 999px;
   background: #eff6ff;
   color: var(--primary);
   font-size: .76rem;
   font-weight: 950;
   letter-spacing: .09em;
   text-transform: uppercase;
 }

 .product-demo-card h2 {
   margin: 0 0 10px;
   font-size: clamp(1.85rem, 4vw, 3rem);
   line-height: 1.08;
   letter-spacing: -.04em;
   color: #0f172a
 }

 .product-demo-card__header p {
   margin: 0;
   color: #667085;
   font-weight: 750
 }

 .product-demo-comparison {
   display: grid;
   grid-template-columns: minmax(0, 1fr) 220px minmax(0, 1fr);
   gap: 20px;
   align-items: stretch;
   text-align: left;
 }

 .product-demo-panel {
   min-height: 270px;
   padding: 28px;
   border-radius: 26px;
   border: 1px solid rgba(16, 24, 40, .10);
   background: #fff;
   display: flex;
   flex-direction: column;
   justify-content: center;
   box-shadow: 0 16px 42px rgba(15, 23, 42, .06);
 }

 .product-demo-panel>span {
   display: inline-flex;
   width: max-content;
   margin-bottom: 14px;
   padding: 7px 12px;
   border-radius: 999px;
   background: #fff;
   font-size: .68rem;
   font-weight: 950;
   letter-spacing: .1em;
   text-transform: uppercase;
   box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
 }

 .product-demo-panel h3 {
   margin: 0 0 10px;
   font-size: clamp(1.45rem, 2.8vw, 2.15rem);
   line-height: 1.05;
   letter-spacing: -.045em;
   color: #0f172a;
 }

 .product-demo-panel p {
   margin: 0;
   color: #475467;
   font-weight: 750;
   line-height: 1.52
 }

 .product-demo-panel ul {
   display: grid;
   gap: 9px;
   margin: 18px 0 0;
   padding: 0;
   list-style: none;
   color: #344054;
   font-size: .94rem;
   font-weight: 850
 }

 .product-demo-panel li {
   position: relative;
   padding-left: 20px
 }

 .product-demo-panel li::before {
   content: '';
   position: absolute;
   left: 0;
   top: .6em;
   width: 8px;
   height: 8px;
   border-radius: 999px;
   background: currentColor;
   transform: translateY(-50%)
 }

 .product-demo-panel--before {
   background: linear-gradient(145deg, #fff7ed 0%, #fff 78%);
   border-color: rgba(249, 115, 22, .22)
 }

 .product-demo-panel--before>span {
   color: #b42318
 }

 .product-demo-panel--before li::before {
   color: #f97316
 }

 .product-demo-panel--after {
   background: linear-gradient(145deg, #ecfdf3 0%, #fff 78%);
   border-color: rgba(34, 197, 94, .24)
 }

 .product-demo-panel--after>span {
   color: #027a48
 }

 .product-demo-panel--after li::before {
   color: #22c55e
 }

 .product-demo-product {
   position: relative;
   min-height: 270px;
   border-radius: 28px;
   border: 1px solid rgba(16, 24, 40, .08);
   background: radial-gradient(circle at 50% 0%, rgba(47, 109, 246, .16), transparent 44%), linear-gradient(180deg, #fff, #f8fafc);
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   padding: 16px;
   box-shadow: 0 22px 58px rgba(15, 23, 42, .11);
   overflow: hidden;
 }

 .product-demo-product::before,
 .product-demo-product::after {
   content: '';
   position: absolute;
   border-radius: 999px;
   filter: blur(22px);
   opacity: .42;
   pointer-events: none
 }

 .product-demo-product::before {
   inset: 32px auto auto -38px;
   width: 110px;
   height: 110px;
   background: #f97316
 }

 .product-demo-product::after {
   right: -42px;
   bottom: 20px;
   width: 130px;
   height: 130px;
   background: #22c55e
 }

 .product-demo-product img {
   position: relative;
   z-index: 1;
   width: 100%;
   height: 180px;
   object-fit: cover;
   border-radius: 22px;
   box-shadow: 0 20px 42px rgba(15, 23, 42, .18);
 }

 .product-demo-product__badge {
   position: relative;
   z-index: 2;
   margin-top: 14px;
   padding: 8px 13px;
   border-radius: 999px;
   background: #0f172a;
   color: #fff;
   font-size: .78rem;
   font-weight: 950;
   letter-spacing: .02em;
   box-shadow: 0 14px 30px rgba(15, 23, 42, .20);
 }

 .product-demo-flow {
   display: grid;
   grid-template-columns: auto minmax(0, 1fr) auto;
   align-items: center;
   gap: 14px;
   margin-top: 26px;
   color: #344054;
   font-size: .9rem;
   font-weight: 950;
 }

 .product-demo-flow__bar {
   position: relative;
   height: 12px;
   border-radius: 999px;
   background: linear-gradient(90deg, #f97316 0%, #2f6df6 50%, #22c55e 100%);
   box-shadow: inset 0 0 0 1px rgba(16, 24, 40, .08), 0 12px 30px rgba(47, 109, 246, .12);
   overflow: hidden;
 }

 .product-demo-flow__bar::before {
   content: '';
   position: absolute;
   inset: 0;
   background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .72), transparent);
   transform: translateX(-100%);
   animation: productDemoFlow 2.8s ease-in-out infinite;
 }

 .product-demo-flow__bar::after {
   content: '';
   position: absolute;
   inset: 3px;
   border-radius: inherit;
   background: linear-gradient(90deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0));
   pointer-events: none;
 }

 .product-demo-flow__bar i {
   display: none
 }

 @keyframes productDemoFlow {

   0%,
   15% {
     transform: translateX(-110%)
   }

   55%,
   100% {
     transform: translateX(110%)
   }
 }

 @media (prefers-reduced-motion:reduce) {
   .product-demo-flow__bar::before {
     animation: none
   }
 }

 @media (max-width:900px) {
   .product-demo-comparison {
     grid-template-columns: 1fr;
     gap: 16px
   }

   .product-demo-panel {
     min-height: auto
   }

   .product-demo-product {
     min-height: auto;
     order: 2
   }

   .product-demo-panel--after {
     order: 3
   }

   .product-demo-product img {
     height: 220px
   }
 }

 @media (max-width:767px) {
   .product-demo-card {
     padding: 24px
   }

   .product-demo-card__header {
     margin-bottom: 20px
   }

   .product-demo-panel {
     padding: 22px;
     border-radius: 22px
   }

   .product-demo-product {
     padding: 14px;
     border-radius: 22px
   }

   .product-demo-product img {
     height: 190px;
     border-radius: 18px
   }

   .product-demo-flow {
     grid-template-columns: 1fr;
     gap: 9px;
     text-align: left
   }

   .product-demo-flow span:last-child {
     text-align: right
   }

   .product-demo-flow__bar {
     grid-column: 1/-1;
     grid-row: 2
   }
 }

 .product-testimonial-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 18px
 }

 .product-testimonial-slider {
   position: relative;
   overflow: hidden;
   padding: 2px 2px 0
 }

 .product-testimonial-slider:not(.swiper-initialized) {
   overflow: visible
 }

 .product-testimonial-slider:not(.swiper-initialized) .swiper-wrapper {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
   align-items: stretch
 }

 .product-testimonial-slider:not(.swiper-initialized) .swiper-slide {
   width: auto !important;
   height: auto
 }

 .product-testimonial-slider .swiper-wrapper {
   align-items: stretch
 }

 .product-testimonial-slider .swiper-slide {
   height: auto;
   display: flex
 }

 .product-testimonial-card {
   width: 100%;
   min-height: 232px;
   padding: 24px;
   margin: 0;
   display: flex;
   flex-direction: column;
   justify-content: space-between
 }

 .product-testimonial-card div {
   color: #f59e0b;
   letter-spacing: .1em;
   margin-bottom: 12px
 }

 .product-testimonial-card p {
   margin: 0 0 18px;
   color: #344054;
   font-weight: 650;
   line-height: 1.62;
   flex: 1
 }

 .product-testimonial-card cite {
   font-style: normal;
   font-weight: 900;
   color: #101828
 }

 .product-testimonial-card cite span {
   display: block;
   font-weight: 700;
   color: #667085;
   font-size: .92rem;
   margin-top: 4px
 }

 .product-testimonial-slider__controls {
   display: none;
   align-items: center;
   justify-content: center;
   gap: 14px;
   margin-top: 20px
 }

 .product-testimonial-slider.swiper-initialized .product-testimonial-slider__controls {
   display: flex
 }

 .product-testimonial-slider__pagination {
   position: static !important;
   width: auto !important;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px
 }

 .product-testimonial-slider .swiper-pagination-bullet {
   width: 9px;
   height: 9px;
   margin: 0 !important;
   background: #98a2b3;
   opacity: .62;
   transition: width .22s ease, opacity .22s ease, background .22s ease
 }

 .product-testimonial-slider .swiper-pagination-bullet-active {
   width: 24px;
   border-radius: 999px;
   background: var(--primary);
   opacity: 1
 }

 .product-testimonial-slider__button {
   width: 38px;
   height: 38px;
   border: 1px solid rgba(15, 23, 42, .12);
   border-radius: 999px;
   background: #fff;
   color: #101828;
   font-size: 1.45rem;
   line-height: 1;
   display: grid;
   place-items: center;
   box-shadow: 0 10px 24px rgba(16, 24, 40, .08);
   cursor: pointer;
   transition: transform .2s ease, box-shadow .2s ease, background .2s ease
 }

 .product-testimonial-slider__button:hover {
   transform: translateY(-1px);
   box-shadow: 0 14px 30px rgba(16, 24, 40, .12);
   background: #f8fafc
 }

 .product-testimonial-slider__button:focus-visible {
   outline: 3px solid rgba(47, 111, 237, .25);
   outline-offset: 3px
 }

 .product-testimonial-slider__button.swiper-button-disabled {
   opacity: .45;
   cursor: not-allowed;
   transform: none
 }

 @media (max-width:900px) {
   .product-testimonial-slider:not(.swiper-initialized) .swiper-wrapper {
     grid-template-columns: repeat(2, minmax(0, 1fr))
   }
 }

 @media (max-width:640px) {
   .product-testimonial-slider {
     padding: 2px 2px 0
   }

   .product-testimonial-slider:not(.swiper-initialized) .swiper-wrapper {
     grid-template-columns: 1fr
   }

   .product-testimonial-card {
     min-height: 210px;
     padding: 22px
   }

   .product-testimonial-slider__controls {
     gap: 10px;
     margin-top: 16px
   }

   .product-testimonial-slider__button {
     width: 36px;
     height: 36px
   }
 }

 .product-comparison-table-wrap {
   overflow: auto
 }

 .product-comparison-table {
   width: 100%;
   border-collapse: collapse;
   min-width: 720px
 }

 .product-comparison-table th,
 .product-comparison-table td {
   padding: 17px 20px;
   border-bottom: 1px solid rgba(16, 24, 40, .08);
   text-align: left
 }

 .product-comparison-table th {
   background: #0f172a;
   color: #fff;
   font-size: .9rem;
   text-transform: uppercase;
   letter-spacing: .08em
 }

 .product-comparison-table td:nth-child(2) {
   font-weight: 900;
   color: #166534;
   background: #f0fdf4
 }

 .product-guarantee-card {
   padding: 34px;
   text-align: center;
   background: linear-gradient(135deg, #fff 0%, #ecfeff 100%)
 }

 .product-guarantee-card h2,
 .product-final-card h2 {
   margin: 0 0 12px;
   font-size: clamp(2rem, 4vw, 3.4rem);
   letter-spacing: -.045em;
   line-height: 1.08
 }

 .product-guarantee-card p,
 .product-final-card p {
   margin: 0 auto 24px;
   color: #475467;
   max-width: 760px
 }

 .product-guarantee-steps {
   display: flex;
   justify-content: center;
   gap: 14px;
   flex-wrap: wrap
 }

 .product-guarantee-steps span {
   padding: 12px 18px;
   border-radius: 999px;
   background: #fff;
   border: 1px solid rgba(16, 24, 40, .08);
   font-weight: 900;
   color: #0f172a
 }

 .product-link-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 18px
 }

 .product-link-card {
   overflow: hidden
 }

 .product-link-card img {
   width: 100%;
   aspect-ratio: 1/1;
   object-fit: cover;
   background: #0f172a
 }

 .product-link-card>div {
   padding: 18px
 }

 .product-link-card h3 {
   margin: 0 0 14px;
   font-size: 1.04rem;
   line-height: 1.25
 }

 .product-link-card a {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   min-height: 44px;
   border-radius: 999px;
   background: #0f172a;
   color: #fff;
   font-weight: 900
 }

 .product-faq-list {
   display: grid;
   gap: 12px;
   max-width: 920px;
   margin-inline: auto
 }

 .product-faq {
   padding: 20px 24px
 }

 .product-faq summary {
   cursor: pointer;
   font-weight: 900;
   color: #0f172a
 }

 .product-faq p {
   margin: 14px 0 0;
   color: #475467
 }

 .product-final-card {
   padding: 42px;
   text-align: center;
   background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%);
   color: #fff
 }

 .product-final-card p,
 .product-final-card small {
   color: rgba(255, 255, 255, .78)
 }

 .product-final-card small {
   display: block;
   margin-top: 14px;
   font-weight: 800
 }

 .product-page-note {
   padding: 24px 0 60px;
   color: #667085;
   text-align: center;
   font-weight: 700
 }

 .product-sticky-cart {
   position: fixed;
   left: 50%;
   bottom: 18px;
   z-index: 80;
   width: min(calc(100% - 28px), 720px);
   transform: translateX(-50%) translateY(120%);
   transition: transform .3s ease;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 14px;
   padding: 12px 14px 12px 18px;
   border-radius: 999px;
   background: #0f172a;
   color: #fff;
   box-shadow: 0 18px 55px rgba(15, 23, 42, .3);
 }

 .product-sticky-cart.is-visible {
   transform: translateX(-50%) translateY(0)
 }

 .product-sticky-cart strong {
   display: block;
   line-height: 1.1
 }

 .product-sticky-cart small {
   display: block;
   color: rgba(255, 255, 255, .7);
   font-weight: 700;
   margin-top: 2px
 }

 .product-sticky-cart a {
   min-height: 46px;
   padding: 0 22px;
   border-radius: 999px;
   background: linear-gradient(135deg, #f97316, #facc15);
   color: #111827;
   font-weight: 950;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   white-space: nowrap
 }

 .product-exit-modal[hidden] {
   display: none
 }

 .product-exit-modal {
   position: fixed;
   inset: 0;
   z-index: 100;
   background: rgba(15, 23, 42, .62);
   display: grid;
   place-items: center;
   padding: 20px
 }

 .product-exit-modal__box {
   position: relative;
   width: min(100%, 520px);
   padding: 34px;
   border-radius: 28px;
   background: #fff;
   box-shadow: 0 30px 80px rgba(15, 23, 42, .28);
   text-align: center
 }

 .product-exit-modal__box button {
   position: absolute;
   top: 14px;
   right: 16px;
   border: 0;
   background: #f2f4f7;
   border-radius: 999px;
   width: 36px;
   height: 36px;
   font-size: 1.4rem;
   cursor: pointer
 }

 .product-exit-modal__box h2 {
   margin: 0 0 10px;
   line-height: 1.08;
   letter-spacing: -.035em
 }

 .product-exit-modal__box p {
   color: #475467;
   margin: 0 0 22px
 }

 .product-proof-toast {
   position: fixed;
   right: 18px;
   bottom: 92px;
   z-index: 79;
   width: min(calc(100vw - 36px), 360px);
   padding: 14px 16px;
   border-radius: 18px;
   background: #fff;
   border: 1px solid rgba(16, 24, 40, .08);
   box-shadow: 0 18px 50px rgba(15, 23, 42, .16);
   transform: translateY(18px);
   opacity: 0;
   transition: transform .25s ease, opacity .25s ease;
   color: #101828;
   font-weight: 850;
 }

 .product-proof-toast.is-visible {
   transform: translateY(0);
   opacity: 1
 }

 @media (max-width: 980px) {
   .product-conversion-header {
     top: auto
   }

   .product-hero-grid,
   .product-problem-grid {
     grid-template-columns: 1fr
   }

   .product-feature-grid,
   .product-testimonial-grid {
     grid-template-columns: repeat(2, 1fr)
   }

   .product-link-grid {
     grid-template-columns: repeat(2, 1fr)
   }
 }

 @media (max-width: 680px) {
   .vanta-product-page {
     padding-bottom: 112px
   }

   .product-urgency-bar {
     top: auto
   }

   .product-conversion-header {
     top: auto
   }

   .product-conversion-header__inner {
     min-height: auto;
     padding: 12px 0;
     align-items: flex-start;
     flex-direction: column
   }

   .product-conversion-header__inner>.button {
     width: 100%
   }

   .product-hero-section {
     padding-top: 30px
   }

   .product-offer-stack,
   .product-gallery,
   .product-problem-card,
   .product-guarantee-card,
   .product-final-card {
     border-radius: 22px;
     padding: 22px
   }

   .product-gallery__thumbs {
     grid-template-columns: repeat(4, 1fr)
   }

   .product-feature-grid,
   .product-testimonial-grid,
   .product-link-grid {
     grid-template-columns: 1fr
   }

   .product-urgency-row {
     display: grid;
     grid-template-columns: 1fr
   }

   .product-sticky-cart {
     border-radius: 22px;
     bottom: 12px;
     align-items: stretch
   }

   .product-sticky-cart a {
     padding-inline: 16px
   }

   .product-proof-toast {
     left: 14px;
     right: 14px;
     bottom: 100px;
     width: auto
   }
 }


 /* Product page polish: imported images, manageable headings, and mobile safety */
 .product-gallery__main,
 .product-gallery__thumbs button {
   background: #eaf0ff;
 }

 .product-gallery__main img,
 .product-gallery__thumbs img,
 .product-link-card img {
   display: block;
 }

 .product-offer-stack h1 {
   max-width: 11ch;
   text-wrap: balance;
 }

 .product-offer-stack {
   align-self: start;
 }

 .product-primary-cta {
   min-height: 54px;
 }

 @media (max-width: 1160px) {
   .product-offer-stack h1 {
     max-width: 14ch;
     font-size: clamp(2rem, 4.8vw, 3.2rem);
   }
 }

 @media (max-width: 980px) {
   .product-offer-stack h1 {
     max-width: 100%;
   }

   .product-gallery__main {
     max-height: none;
   }
 }

 @media (max-width: 680px) {
   .product-urgency-bar__inner {
     justify-content: flex-start;
     gap: 8px 12px;
   }

   .product-urgency-bar__inner strong {
     font-size: .86rem;
   }

   .product-conversion-header__inner>span {
     width: 100%;
     text-align: center;
   }

   .product-offer-stack h1 {
     font-size: clamp(2rem, 10vw, 2.65rem);
     line-height: 1.05;
     letter-spacing: -.045em;
   }

   .product-hero-subtitle {
     font-size: 1rem;
   }

   .product-rating-row,
   .product-price-row {
     gap: 8px 10px;
   }

   .product-price-row strong {
     font-size: clamp(2rem, 12vw, 2.85rem);
   }

   .product-link-card img {
     aspect-ratio: 16/11;
   }

   .product-sticky-cart {
     flex-direction: column;
     border-radius: 20px;
     width: min(calc(100% - 20px), 520px);
   }

   .product-sticky-cart a {
     width: 100%;
   }
 }

 @media (max-width: 420px) {

   .product-offer-stack,
   .product-gallery,
   .product-problem-card,
   .product-guarantee-card,
   .product-final-card {
     padding: 18px;
   }

   .product-urgency-row>div {
     flex-basis: 100%;
   }
 }


 /* Product Page Structure final fixes: non-sticky promo bars and live top timer */
 .product-urgency-bar,
 .product-conversion-header {
   position: relative !important;
   top: 34px !important;
 }

 .product-urgency-bar [data-product-top-countdown] {
   display: inline-block;
   min-width: 5ch;
   font-variant-numeric: tabular-nums;
 }

 .product-urgency-row strong[data-product-stock] {
   display: block;
   white-space: nowrap;
   font-size: clamp(1rem, 1.4vw, 1.18rem);
   line-height: 1.15;
 }

 .product-urgency-row>div {
   min-width: 0;
 }

 @media (max-width:680px) {
   .product-urgency-row strong[data-product-stock] {
     white-space: normal;
   }
 }

 /* Product Page Structure: keep the two urgency cards equal-width. */
 .product-urgency-row {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   align-items: stretch;
   gap: 12px;
   width: 100%;
 }

 .product-urgency-row>div {
   width: 100%;
   height: 100%;
   min-width: 0;
 }

 .product-urgency-row>div:only-child {
   grid-column: 1 / -1;
 }

 @media (max-width:680px) {
   .product-urgency-row {
     grid-template-columns: 1fr;
   }
 }

 /* =========================================================
   Standalone Product Detail Pages
========================================================= */
 .product-detail-section {
   padding-top: 52px;
   padding-bottom: 52px;
 }

 .product-detail-grid {
   display: grid;
   grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
   gap: 24px;
   align-items: stretch;
 }

 .product-detail-copy,
 .product-spec-card {
   background: #ffffff;
   border: 1px solid rgba(15, 23, 42, 0.08);
   border-radius: 28px;
   box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
   padding: clamp(24px, 3vw, 36px);
 }

 .product-detail-copy>span,
 .product-spec-card>span {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 14px;
   padding: 8px 12px;
   border-radius: 999px;
   background: rgba(47, 109, 246, 0.1);
   color: #2f6df6;
   font-size: 0.72rem;
   font-weight: 900;
   letter-spacing: 0.08em;
   text-transform: uppercase;
 }

 .product-detail-copy h2,
 .product-spec-card h3 {
   margin: 0 0 14px;
   color: #07142f;
   line-height: 1.04;
 }

 .product-detail-copy h2 {
   font-size: clamp(2rem, 4vw, 3.3rem);
 }

 .product-spec-card h3 {
   font-size: clamp(1.35rem, 2.2vw, 2rem);
 }

 .product-detail-copy p {
   margin: 0 0 18px;
   color: #516078;
   font-weight: 700;
   line-height: 1.7;
 }

 .product-detail-copy ul {
   display: grid;
   gap: 12px;
   padding: 0;
   margin: 22px 0 0;
   list-style: none;
 }

 .product-detail-copy li {
   position: relative;
   padding-left: 30px;
   color: #0f1e38;
   font-weight: 800;
   line-height: 1.5;
 }

 .product-detail-copy li::before {
   content: "";
   position: absolute;
   left: 0;
   top: 0.6em;
   width: 10px;
   height: 10px;
   border-radius: 999px;
   background: linear-gradient(135deg, #2f6df6, #23c55e);
   box-shadow: 0 0 0 5px rgba(47, 109, 246, 0.1);
 }

 .product-spec-card {
   background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
 }

 .product-spec-card dl {
   display: grid;
   gap: 12px;
   margin: 0;
 }

 .product-spec-card dl div {
   display: grid;
   grid-template-columns: minmax(92px, 0.45fr) minmax(0, 1fr);
   gap: 12px;
   align-items: start;
   padding: 12px 0;
   border-bottom: 1px solid rgba(15, 23, 42, 0.08);
 }

 .product-spec-card dt {
   color: #718096;
   font-size: 0.78rem;
   font-weight: 900;
   letter-spacing: 0.04em;
   text-transform: uppercase;
 }

 .product-spec-card dd {
   margin: 0;
   color: #07142f;
   font-weight: 850;
   line-height: 1.45;
   overflow-wrap: anywhere;
 }

 .product-spec-card a {
   display: inline-flex;
   justify-content: center;
   margin-top: 22px;
   width: 100%;
   border-radius: 16px;
   padding: 14px 18px;
   background: #0f172a;
   color: #ffffff;
   font-weight: 900;
   text-decoration: none;
   box-shadow: 0 16px 34px rgba(15, 23, 42, 0.18);
 }

 .product-link-card a {
   text-align: center;
 }

 @media (max-width: 900px) {
   .product-detail-grid {
     grid-template-columns: 1fr;
   }
 }

 @media (max-width: 640px) {
   .product-detail-section {
     padding-top: 36px;
     padding-bottom: 36px;
   }

   .product-spec-card dl div {
     grid-template-columns: 1fr;
     gap: 4px;
   }
 }


 /* =========================================================
   Client fix: remove exit popup and tighten responsive spacing
   ========================================================= */
 .product-exit-modal,
 .product-exit-modal[hidden] {
   display: none !important;
   visibility: hidden !important;
   pointer-events: none !important;
 }

 @media (max-width: 767px) {
   .site-container {
     width: min(calc(100% - 24px), var(--max));
   }

   .vanta-section {
     padding-top: 34px;
     padding-bottom: 34px;
   }

   .vanta-section--hero {
     padding-top: 28px;
     padding-bottom: 0;
   }

   .section-heading {
     margin-bottom: 18px;
   }

   .section-heading h2 {
     font-size: clamp(1.7rem, 7vw, 2.25rem);
   }

   .vanta-product-page .vanta-section {
     padding-top: 30px;
     padding-bottom: 30px;
   }

   .vanta-product-page .product-hero-section {
     padding-top: 26px;
     padding-bottom: 20px;
   }

   .vanta-product-page .product-problem-grid,
   .vanta-product-page .product-feature-slider:not(.swiper-initialized) .swiper-wrapper,
   .vanta-product-page .product-link-grid,
   .vanta-product-page .product-faq-list {
     gap: 14px;
   }

   .vanta-product-page .product-offer-stack,
   .vanta-product-page .product-gallery,
   .vanta-product-page .product-problem-card,
   .vanta-product-page .product-demo-card,
   .vanta-product-page .product-guarantee-card,
   .vanta-product-page .product-final-card,
   .vanta-product-page .product-trust-strip,
   .vanta-product-page .product-faq {
     border-radius: 22px;
   }

   .vanta-product-page .product-offer-stack,
   .vanta-product-page .product-gallery,
   .vanta-product-page .product-problem-card,
   .vanta-product-page .product-demo-card,
   .vanta-product-page .product-guarantee-card,
   .vanta-product-page .product-final-card {
     padding: 22px;
   }

   .vanta-product-page .product-trust-strip,
   .vanta-product-page .product-faq {
     padding: 18px 20px;
   }

   .vanta-product-page .product-demo-card__header,
   .vanta-product-page .section-heading {
     margin-bottom: 16px;
   }

   .vanta-product-page .product-demo-flow {
     margin-top: 18px;
   }

   .vanta-product-page .product-page-note {
     padding-top: 12px;
     padding-bottom: 36px;
   }
 }

 @media (max-width: 420px) {
   .vanta-product-page .vanta-section {
     padding-top: 24px;
     padding-bottom: 24px;
   }

   .vanta-product-page .product-hero-section {
     padding-top: 22px;
   }
 }

 /* =========================================================
   Front-end customer review submission section
   ========================================================= */
 .product-front-review-section {
   padding-top: 48px;
   padding-bottom: 48px;
 }

 .front-review-shell {
   position: relative;
   overflow: hidden;
   border: 1px solid rgba(47, 109, 246, 0.12);
   border-radius: 36px;
   padding: clamp(24px, 4vw, 44px);
   background:
     radial-gradient(circle at 8% 10%, rgba(47, 109, 246, 0.14), transparent 34%),
     radial-gradient(circle at 92% 8%, rgba(35, 197, 94, 0.12), transparent 30%),
     linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
   box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
 }

 .front-review-heading {
   max-width: 780px;
   margin: 0 auto 28px;
   text-align: center;
 }

 .front-review-heading span {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 10px;
   border-radius: 999px;
   padding: 8px 13px;
   background: #edf3ff;
   color: #2559dc;
   font-size: 0.72rem;
   font-weight: 950;
   letter-spacing: 0.12em;
   text-transform: uppercase;
 }

 .front-review-heading h2 {
   margin: 0;
   color: #06152f;
   font-size: clamp(2rem, 4vw, 3.2rem);
   line-height: 1.05;
   letter-spacing: -0.055em;
 }

 .front-review-heading p {
   max-width: 650px;
   margin: 12px auto 0;
   color: #53637d;
   font-weight: 700;
   line-height: 1.7;
 }

 .front-review-grid {
   display: grid;
   grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
   gap: 22px;
   align-items: start;
 }

 .front-review-form,
 .front-review-display {
   border: 1px solid rgba(15, 23, 42, 0.08);
   border-radius: 28px;
   background: rgba(255, 255, 255, 0.92);
   box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
 }

 .front-review-form {
   display: grid;
   gap: 16px;
   padding: clamp(18px, 3vw, 26px);
 }

 .front-review-form__top,
 .front-review-display__head {
   display: flex;
   gap: 12px;
   align-items: center;
   justify-content: space-between;
 }

 .front-review-form__top strong,
 .front-review-display__head h3 {
   display: block;
   margin: 0;
   color: #07142f;
   font-size: 1.08rem;
   font-weight: 950;
   line-height: 1.25;
 }

 .front-review-form__top small,
 .front-review-display__head span {
   display: block;
   margin-top: 3px;
   color: #66748b;
   font-size: 0.78rem;
   font-weight: 800;
 }

 .front-review-form__top>span,
 .front-review-display__head>span {
   margin: 0;
   white-space: nowrap;
   border-radius: 999px;
   padding: 8px 10px;
   background: #ecfdf5;
   color: #0f8a4b;
   font-size: 0.68rem;
   font-weight: 950;
   letter-spacing: 0.06em;
   text-transform: uppercase;
 }

 .product-text-reviews {
   margin-top: 18px;
   padding-top: 18px;
   border-top: 1px solid rgba(15, 23, 42, 0.08);
 }

 .product-text-reviews__head {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   margin-bottom: 14px;
 }

 .product-text-reviews__head h3 {
   margin: 0;
   color: #07142f;
   font-size: 1rem;
   font-weight: 950;
 }

 .product-text-reviews__head span {
   border-radius: 999px;
   padding: 7px 10px;
   background: #eff6ff;
   color: #1d4ed8;
   font-size: 0.68rem;
   font-weight: 900;
   letter-spacing: 0.04em;
   text-transform: uppercase;
   white-space: nowrap;
 }

 .product-text-reviews__list {
   display: grid;
   gap: 12px;
   max-height: 520px;
   overflow: auto;
   padding-right: 4px;
 }

 .product-text-review-card {
   border: 1px solid rgba(15, 23, 42, 0.08);
   border-radius: 18px;
   background: #f8fbff;
   padding: 14px 16px;
 }

 .product-text-review-card__stars {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 8px;
   color: #f59e0b;
   font-size: 0.95rem;
   letter-spacing: 0.04em;
 }

 .product-text-review-card__stars span {
   color: #64748b;
   font-size: 0.72rem;
   font-weight: 800;
 }

 .product-text-review-card p {
   margin: 0 0 10px;
   color: #0f172a;
   font-size: 0.92rem;
   line-height: 1.55;
 }

 .product-text-review-card footer {
   display: flex;
   flex-wrap: wrap;
   gap: 6px 10px;
   align-items: baseline;
 }

 .product-text-review-card footer strong {
   color: #07142f;
   font-size: 0.82rem;
   font-weight: 900;
 }

 .product-text-review-card footer small {
   color: #64748b;
   font-size: 0.72rem;
   font-weight: 700;
 }

 .front-review-form label {
   display: grid;
   gap: 7px;
   color: #14213b;
   font-size: 0.82rem;
   font-weight: 900;
 }

 .front-review-form label small {
   color: #7a8799;
   font-size: 0.74rem;
   font-weight: 750;
   line-height: 1.45;
 }

 .front-review-form input,
 .front-review-form select,
 .front-review-form textarea {
   width: 100%;
   border: 1px solid rgba(15, 23, 42, 0.12);
   border-radius: 16px;
   padding: 13px 14px;
   background: #f8fbff;
   color: #07142f;
   font: inherit;
   font-weight: 750;
   outline: none;
   transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
 }

 .front-review-form textarea {
   min-height: 118px;
   resize: vertical;
 }

 .front-review-form input:focus,
 .front-review-form select:focus,
 .front-review-form textarea:focus {
   border-color: rgba(47, 109, 246, 0.55);
   background: #ffffff;
   box-shadow: 0 0 0 4px rgba(47, 109, 246, 0.12);
 }

 .front-review-form__row {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
 }

 .front-review-rating-field {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
   border-radius: 18px;
   padding: 14px 16px;
   background: #f8fbff;
   border: 1px solid rgba(15, 23, 42, 0.08);
 }

 .front-review-rating-field>span {
   color: #14213b;
   font-size: 0.82rem;
   font-weight: 950;
 }

 .front-review-rating-input {
   display: inline-flex;
   flex-direction: row-reverse;
   justify-content: flex-end;
   gap: 4px;
 }

 .front-review-rating-input input {
   position: absolute;
   width: 1px;
   height: 1px;
   opacity: 0;
   pointer-events: none;
 }

 .front-review-rating-input label {
   display: block;
   cursor: pointer;
   color: #cbd5e1;
   font-size: 1.45rem;
   line-height: 1;
   transition: color 0.18s ease, transform 0.18s ease;
 }

 .front-review-rating-input label:hover,
 .front-review-rating-input label:hover~label,
 .front-review-rating-input input:checked~label {
   color: #f59e0b;
 }

 .front-review-rating-input label:hover {
   transform: translateY(-1px) scale(1.06);
 }

 .front-review-upload {
   cursor: pointer;
   border: 1px dashed rgba(47, 109, 246, 0.35);
   border-radius: 20px;
   padding: 16px;
   background: linear-gradient(180deg, #f8fbff, #ffffff);
 }

 .front-review-upload input {
   display: none;
 }

 .front-review-upload span {
   color: #0f1e4a;
   font-weight: 950;
 }

 .front-review-submit {
   width: 100%;
   border: 0;
   border-radius: 999px;
   padding: 15px 22px;
   background: linear-gradient(135deg, #0f1e4a, #2f6df6);
   color: #ffffff;
   cursor: pointer;
   font: inherit;
   font-weight: 950;
   box-shadow: 0 16px 34px rgba(47, 109, 246, 0.22);
   transition: transform 0.2s ease, box-shadow 0.2s ease;
 }

 .front-review-submit:hover {
   transform: translateY(-1px);
   box-shadow: 0 20px 42px rgba(47, 109, 246, 0.28);
 }

 .front-review-form__note {
   margin: 0;
   color: #6b7890;
   font-size: 0.78rem;
   font-weight: 750;
   line-height: 1.5;
   text-align: center;
 }

 .front-review-honeypot {
   position: absolute !important;
   left: -9999px !important;
   width: 1px !important;
   height: 1px !important;
   overflow: hidden !important;
 }

 .front-review-alert {
   margin: 0 0 18px;
   border-radius: 18px;
   padding: 14px 16px;
   font-weight: 900;
   text-align: center;
 }

 .front-review-alert--success {
   background: #ecfdf5;
   color: #0f8a4b;
 }

 .front-review-alert--error {
   background: #fff1f2;
   color: #be123c;
 }

 .front-review-display {
   min-width: 0;
   padding: clamp(18px, 3vw, 26px);
 }

 .front-review-display__head {
   margin-bottom: 16px;
 }

 .front-review-slider {
   min-width: 0;
   overflow: hidden;
 }

 .front-review-slider:not(.swiper-initialized) .swiper-wrapper {
   display: flex;
   flex-direction: column;
   gap: 16px;
 }

 .front-review-slider:not(.swiper-initialized) .swiper-slide {
   width: 100%;
   height: auto;
 }

 .front-review-card {
   display: grid;
   min-height: 100%;
   overflow: hidden;
   border: 1px solid rgba(15, 23, 42, 0.08);
   border-radius: 24px;
   background: #ffffff;
   box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
 }

 .front-review-card>img {
   width: 100%;
   aspect-ratio: 1 / 0.72;
   object-fit: cover;
   background: #eff4fb;
 }

 .front-review-card__body {
   display: grid;
   gap: 10px;
   padding: 18px;
 }

 .front-review-card__stars {
   display: flex;
   align-items: center;
   gap: 8px;
   color: #f59e0b;
   font-size: 0.95rem;
   font-weight: 950;
   letter-spacing: 0.06em;
 }

 .front-review-empty>div {
   color: #f59e0b;
   font-size: 0.95rem;
   font-weight: 950;
   letter-spacing: 0.06em;
 }

 .front-review-card__rating-text {
   color: #314057;
   font-size: 0.85rem;
   font-weight: 700;
   white-space: nowrap;
 }

 .front-review-card__body p {
   margin: 0;
   color: #314057;
   font-weight: 800;
   line-height: 1.6;
 }

 /* Testimonial stars + numeric rating */
 .product-testimonial-card__stars {
   display: flex;
   align-items: center;
   gap: 8px;
   color: #f59e0b;
   font-size: 0.95rem;
   font-weight: 900;
 }

 .product-testimonial-card__rating-text {
   color: #314057;
   font-size: 0.85rem;
   font-weight: 700;
 }

 .front-review-card__body strong {
   margin-top: 6px;
   color: #07142f;
   font-weight: 950;
 }

 .front-review-card__body small {
   color: #6b7890;
   font-weight: 850;
 }

 .front-review-card__body span {
   display: inline-flex;
   justify-self: start;
   border-radius: 999px;
   padding: 7px 10px;
   background: #eef4ff;
   color: #2559dc;
   font-size: 0.68rem;
   font-weight: 950;
   letter-spacing: 0.06em;
   text-transform: uppercase;
 }

 .front-review-slider__controls {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 12px;
   margin-top: 16px;
 }

 .front-review-slider__button {
   display: inline-flex;
   width: 36px;
   height: 36px;
   align-items: center;
   justify-content: center;
   border: 1px solid rgba(15, 23, 42, 0.1);
   border-radius: 999px;
   background: #ffffff;
   color: #0f1e4a;
   cursor: pointer;
   font-size: 1.45rem;
   font-weight: 900;
   line-height: 1;
   box-shadow: 0 10px 24px rgba(15, 23, 42, 0.09);
 }

 .front-review-slider__pagination {
   position: static !important;
   width: auto !important;
   min-width: 54px;
 }

 .front-review-empty {
   display: grid;
   place-items: center;
   min-height: 340px;
   border: 1px dashed rgba(47, 109, 246, 0.28);
   border-radius: 24px;
   padding: 28px;
   background: linear-gradient(180deg, #f8fbff, #ffffff);
   text-align: center;
 }

 .front-review-empty h4 {
   margin: 10px 0 8px;
   color: #07142f;
   font-size: 1.25rem;
   font-weight: 950;
 }

 .front-review-empty p {
   max-width: 360px;
   margin: 0;
   color: #617089;
   font-weight: 750;
   line-height: 1.6;
 }

 @media (max-width: 1020px) {
   .front-review-grid {
     grid-template-columns: 1fr;
   }
 }

 @media (max-width: 767px) {
   .product-front-review-section {
     padding-top: 30px;
     padding-bottom: 30px;
   }

   .front-review-shell {
     border-radius: 26px;
     padding: 20px;
   }

   .front-review-heading {
     margin-bottom: 18px;
   }

   .front-review-heading h2 {
     font-size: clamp(1.75rem, 7vw, 2.35rem);
   }

   .front-review-heading p {
     font-size: 0.9rem;
   }

   .front-review-form,
   .front-review-display {
     border-radius: 22px;
     padding: 18px;
   }

   .front-review-form__row {
     grid-template-columns: 1fr;
   }

   .front-review-form__top,
   .front-review-display__head,
   .front-review-rating-field {
     align-items: flex-start;
     flex-direction: column;
   }

   .front-review-form__top>span,
   .front-review-display__head>span {
     white-space: normal;
   }
 }

 /* Product hero review count anchor */
 .product-reviews-anchor {
   color: #667085;
   font-size: 0.92rem;
   font-weight: 800;
   text-decoration: none;
   white-space: nowrap;
 }

 .product-reviews-anchor:hover,
 .product-reviews-anchor:focus {
   color: #2f6df6;
   text-decoration: underline;
 }

 #product-reviews,
 #customer-review {
   scroll-margin-top: 130px;
 }

 /* =========================================================
   Client fix: tighten hero product typography
   ========================================================= */
 .vanta-product-page .product-offer-stack {
   padding: 28px;
 }

 .vanta-product-page .product-offer-stack h1 {
   max-width: 24ch;
   font-size: clamp(2.1rem, 3vw, 2.65rem);
   line-height: 1.08;
   letter-spacing: -0.045em;
   text-wrap: balance;
   overflow-wrap: normal;
   word-break: normal;
 }

 .vanta-product-page .product-price-row {
   gap: 10px;
   margin-top: 12px;
 }

 .vanta-product-page .product-price-row strong {
   font-size: clamp(1.95rem, 3.4vw, 2.55rem);
   line-height: 1;
 }

 .vanta-product-page .product-price-row del {
   font-size: 1.05rem;
 }

 .vanta-product-page .product-urgency-row>div {
   padding: 12px 14px;
   border-radius: 16px;
 }

 .vanta-product-page .product-urgency-row strong {
   font-size: 1.12rem;
 }

 .vanta-product-page .product-variations {
   display: grid;
   gap: 14px;
   margin-top: 16px;
   padding-top: 16px;
   border-top: 1px solid rgba(15, 23, 42, 0.08);
 }

 .vanta-product-page .product-variations__label {
   margin: 0 0 8px;
   font-size: 0.82rem;
   font-weight: 700;
   letter-spacing: 0.04em;
   text-transform: uppercase;
   color: rgba(15, 23, 42, 0.62);
 }

 .vanta-product-page .product-variations__options {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
 }

 .vanta-product-page .product-variations__option {
   appearance: none;
   border: 1px solid rgba(15, 23, 42, 0.14);
   background: #fff;
   color: #0f172a;
   border-radius: 999px;
   padding: 8px 14px;
   font-size: 0.86rem;
   line-height: 1.25;
   font-weight: 600;
   cursor: pointer;
   transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
 }

 .vanta-product-page .product-variations__option:hover {
   border-color: rgba(37, 99, 235, 0.45);
 }

 .vanta-product-page .product-variations__option.is-active {
   border-color: #2563eb;
   background: rgba(37, 99, 235, 0.08);
   color: #1d4ed8;
   box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.18);
 }

 .vanta-product-page .product-variations__label span {
   color: #0f172a;
   font-weight: 700;
   text-transform: none;
   letter-spacing: 0;
 }

 .vanta-product-page .product-variations__options--cards {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
   gap: 10px;
 }

 .vanta-product-page .product-variations__card {
   appearance: none;
   display: flex;
   flex-direction: column;
   align-items: stretch;
   gap: 6px;
   min-width: 0;
   padding: 8px;
   border: 2px solid rgba(15, 23, 42, 0.12);
   border-radius: 12px;
   background: #fff;
   cursor: pointer;
   text-align: center;
   transition: border-color 0.2s ease, box-shadow 0.2s ease;
 }

 .vanta-product-page .product-variations__card:hover {
   border-color: rgba(37, 99, 235, 0.45);
 }

 .vanta-product-page .product-variations__card.is-active {
   border-color: #2563eb;
   box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.2);
 }

 .vanta-product-page .product-variations__card-media {
   display: block;
   aspect-ratio: 1;
   border-radius: 8px;
   overflow: hidden;
   background: #f8fafc;
 }

 .vanta-product-page .product-variations__card-media img {
   width: 100%;
   height: 100%;
   object-fit: contain;
   display: block;
 }

 .vanta-product-page .product-variations__card-prices {
   display: flex;
   flex-direction: column;
   gap: 2px;
   line-height: 1.15;
 }

 .vanta-product-page .product-variations__card-prices strong {
   font-size: 0.92rem;
   color: #b91c1c;
   font-weight: 700;
 }

 .vanta-product-page .product-variations__card-prices del {
   font-size: 0.78rem;
   color: rgba(15, 23, 42, 0.55);
 }

 .vanta-product-page .product-variations__card-name {
   display: block;
   font-size: 0.72rem;
   font-weight: 700;
   line-height: 1.2;
   color: #0f172a;
   padding: 0 2px;
 }

 @media (max-width: 1160px) {
   .vanta-product-page .product-offer-stack h1 {
     max-width: 26ch;
     font-size: clamp(2rem, 3.2vw, 2.45rem);
   }

   .vanta-product-page .product-price-row strong {
     font-size: clamp(1.9rem, 3.2vw, 2.35rem);
   }
 }

 @media (max-width: 980px) {
   .vanta-product-page .product-offer-stack h1 {
     max-width: 100%;
     font-size: clamp(2rem, 5.5vw, 2.6rem);
   }
 }

 @media (max-width: 680px) {
   .vanta-product-page .product-offer-stack {
     padding: 20px;
   }

   .vanta-product-page .product-offer-stack h1 {
     font-size: clamp(1.75rem, 8vw, 2.25rem);
     line-height: 1.08;
   }

   .vanta-product-page .product-price-row strong {
     font-size: clamp(1.8rem, 9vw, 2.35rem);
   }
 }


 /* Product Page Structure: ACF-controlled end trust badges */
 .product-end-trust-section {
   padding-top: 36px;
   padding-bottom: 38px;
 }

 .product-end-trust-section__heading {
   margin-bottom: 18px;
 }

 .product-end-trust-badges {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
   gap: 14px;
   max-width: 980px;
   margin-inline: auto;
 }

 .product-end-trust-badges span {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 54px;
   padding: 0 24px;
   border-radius: 999px;
   background: #fff;
   border: 1px solid rgba(16, 24, 40, .08);
   color: #0f172a;
   font-weight: 950;
   box-shadow: 0 18px 42px rgba(15, 23, 42, .07);
   white-space: nowrap;
 }

 @media (max-width:680px) {
   .product-end-trust-section {
     padding-top: 26px;
     padding-bottom: 30px;
   }

   .product-end-trust-badges {
     gap: 10px;
     justify-content: flex-start;
   }

   .product-end-trust-badges span {
     min-height: 48px;
     padding: 0 16px;
     font-size: .92rem;
   }
 }


 /* Restored FAQ section: clear accordion cards controlled by Product Page Structure > FAQ Section. */
 .product-faq-section .section-heading {
   margin-bottom: 28px;
   text-align: center
 }

 .product-faq-list {
   display: grid;
   gap: 12px;
   max-width: 920px;
   margin-inline: auto
 }

 .product-faq summary {
   list-style: none;
   display: flex;
   align-items: center;
   gap: 10px
 }

 .product-faq summary::-webkit-details-marker {
   display: none
 }

 .product-faq summary::before {
   content: '›';
   display: inline-flex;
   font-size: 1rem;
   transition: transform .2s ease
 }

 .product-faq[open] summary::before {
   transform: rotate(90deg)
 }

 /* Bank picker dropdown – force black text for all options */
 .ec-bank-picker,
 .ec-bank-picker select,
 .ec-bank-picker option {
   color: #000 !important;
   /* black text */
   background-color: #fff;
   /* ensure a white background */
 }

 /* Optional: improve contrast on hover/focus */
 .ec-bank-picker select:hover,
 .ec-bank-picker select:focus,
 .ec-bank-picker option:hover {
   background-color: #f0f0f0;
 }

 /* Global dropdown styles to force black text color and white background */
 select,
 option,
 select option,
 .vanta-theme select,
 .vanta-theme option,
 .vanta-page select,
 .vanta-page option,
 .front-review-form select,
 .front-review-form option {
   color: #000000 !important;
   background-color: #ffffff !important;
 }