
/* VTX-Plugin - frontend.css */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }



:root {

  --background: #f9f9f8;

  --foreground: #1a1a22;

  --card: #ffffff;

  --card-foreground: #1a1a22;

  --primary: #22a06b;

  --primary-foreground: #ffffff;

  --secondary: #f3f3f2;

  --secondary-foreground: #2c2c36;

  --muted: #ebebea;

  --muted-foreground: #6b6b78;

  --accent: #e85d04;

  --accent-foreground: #ffffff;

  --destructive: #d13438;

  --destructive-foreground: #ffffff;

  --border: #e5e5e3;

  --input: #ebebea;

  --ring: #22a06b;

  --rating: #d9a52a;

  --warning: #d9a52a;

  --radius: 0.5rem;

}



body {

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  background-color: var(--background);

  color: var(--foreground);

  line-height: 1.6;

  -webkit-font-smoothing: antialiased;

}



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



ul, ol { list-style: none; }

img, svg { max-width: 100%; }



.container { max-width: 1280px; margin: 0 auto; padding: 0 16px; }

@media (min-width: 640px) { .container { padding: 0 24px; } }

@media (min-width: 1024px) { .container { padding: 0 32px; } }



/* Utility Classes */

.flex { display: flex; }

.flex-col { flex-direction: column; }

.flex-wrap { flex-wrap: wrap; }

.items-center { align-items: center; }

.items-start { align-items: start; }

.justify-between { justify-content: space-between; }

.justify-center { justify-content: center; }

.gap-1 { gap: 4px; }

.gap-2 { gap: 8px; }

.gap-3 { gap: 12px; }

.gap-4 { gap: 16px; }

.gap-6 { gap: 24px; }

.gap-8 { gap: 32px; }

.grid {
  display: grid;
  /*grid-template-columns;*/
  /*grid-template-columns: repeat(2, 1fr);*/
  /*border: 1px solid red;*/
}

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

@media (min-width: 640px) { .sm-grid-cols-2 { grid-template-columns: repeat(2, 1fr); } .sm-grid-cols-4 { grid-template-columns: repeat(4, 1fr); } }

@media (min-width: 1024px) { .lg-grid-cols-3 { grid-template-columns: repeat(3, 1fr); } .lg-grid-cols-4 { grid-template-columns: repeat(4, 1fr); } }

@media (min-width: 1280px) { .xl-grid-cols-sidebar { grid-template-columns: 1fr 280px; } }



.text-xs { font-size: 12px; line-height: 16px; }

.text-sm { font-size: 14px; line-height: 20px; }

.text-lg { font-size: 18px; line-height: 28px; }

.text-xl { font-size: 20px; line-height: 28px; }

.text-2xl { font-size: 24px; line-height: 32px; }

.text-3xl { font-size: 30px; line-height: 36px; }

.text-4xl { font-size: 36px; line-height: 40px; }

.text-5xl { font-size: 48px; line-height: 1; }

.font-medium { font-weight: 500; }

.font-semibold { font-weight: 600; }

.font-bold { font-weight: 700; }

.font-mono { font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace; }

.text-center { text-align: center; }

.text-right { text-align: right; }

.text-left { text-align: left; }

.uppercase { text-transform: uppercase; }

.tracking-wide { letter-spacing: 0.025em; }

.leading-relaxed { line-height: 1.625; }

.text-balance { text-wrap: balance; }



.text-foreground { color: var(--foreground); }

.text-muted-foreground { color: var(--muted-foreground); }

.text-primary { color: var(--primary); }

.text-icon { color: #659dd7; }

.text-primary-foreground { color: var(--primary-foreground); }

.text-accent { color: var(--accent); }

.text-destructive { color: var(--destructive); }

.text-rating { color: var(--rating); }

.text-warning { color: var(--warning); }



.bg-background { background-color: var(--background); }

.bg-card { background-color: var(--card); }

.bg-secondary { background-color: var(--secondary); }

.bg-primary { background-color: var(--primary); }

.bg-primary-10 { background-color: rgba(34, 160, 107, 0.1); }

.bg-primary-5 { background-color: rgba(34, 160, 107, 0.05); }

.bg-accent-10 { background-color: rgba(232, 93, 4, 0.1); }

.bg-destructive { background-color: var(--destructive); }

.bg-destructive-5 { background-color: rgba(209, 52, 56, 0.05); }

.bg-muted { background-color: var(--muted); }

.bg-secondary-50 { background-color: rgba(243, 243, 242, 0.5); }

.bg-secondary-30 { background-color: rgba(243, 243, 242, 0.3); }



.border { border: 1px solid var(--border); }

.border-b { border-bottom: 1px solid var(--border); }

.border-t { border-top: 1px solid var(--border); }

.border-primary-10 { border-color: rgba(34, 160, 107, 0.1); }

.border-primary-20 { border-color: rgba(34, 160, 107, 0.2); }

.border-destructive-20 { border-color: rgba(209, 52, 56, 0.2); }

.border-accent-20 { border-color: rgba(232, 93, 4, 0.2); }



.rounded { border-radius: var(--radius); }

.rounded-md { border-radius: 6px; }

.rounded-lg { border-radius: 8px; }

.rounded-xl { border-radius: 12px; }

.rounded-full { border-radius: 9999px; }



.p-2 { padding: 8px; }

.p-3 { padding: 12px; }

.p-4 { padding: 16px; }

.p-5 { padding: 20px!important; }

.p-6 { padding: 24px; }

.px-2 { padding-left: 8px; padding-right: 8px; }

.px-3 { padding-left: 12px; padding-right: 12px; }

.px-4 { padding-left: 16px; padding-right: 16px; }

.px-6 { padding-left: 24px; padding-right: 24px; }

.py-1 { padding-top: 4px; padding-bottom: 4px; }

.py-2 { padding-top: 8px; padding-bottom: 8px; }

.py-3 { padding-top: 12px; padding-bottom: 12px; }

.py-5 { padding-top: 20px; padding-bottom: 20px; }

.py-8 { padding-top: 32px; padding-bottom: 32px; }

.py-12 { padding-top: 48px; padding-bottom: 48px; }

.pb-5 { padding-bottom: 20px; }

.pb-8 { padding-bottom: 32px; }

.pb-24 { padding-bottom: 96px; }

.pt-6 { padding-top: 24px; }

.mb-1 { margin-bottom: 4px; }

.mb-2 { margin-bottom: 8px; }

.mb-3 { margin-bottom: 12px; }

.mb-4 { margin-bottom: 16px; 
  /*font-size: 20px!important;*/
}

.mb-6 { margin-bottom: 24px; 
  /*font-size: 30px!important;*/
}

.mb-8 { margin-bottom: 32px; }

.mt-0-5 { margin-top: 2px; }

.mt-1 { margin-top: 4px; }

.mt-2 { margin-top: 8px; }

.mt-3 { margin-top: 12px; }

.mt-4 { margin-top: 16px; }

.mt-5 { margin-top: 20px; }

.mt-6 { margin-top: 24px; }

.ml-2 { margin-left: 8px; }

.ml-auto { margin-left: auto; }

.mx-auto { margin-left: auto; margin-right: auto; }



.w-full { width: 100%; }

.max-w-md { max-width: 448px; }

.size-4 { width: 16px; height: 16px; }

.size-5 { width: 20px; height: 20px; }

.size-6 { width: 24px; height: 24px; }

.size-10 { width: 40px; height: 40px; }

.size-12 { width: 48px; height: 48px; }

.size-14 { width: 56px; height: 56px; }

.size-16 { width: 64px; height: 64px; }

.size-20 { width: 80px; height: 80px; }

@media (min-width: 640px) { .sm-size-24 { width: 96px; height: 96px; } }

.shrink-0 { flex-shrink: 0; }

.flex-1 { flex: 1 1 0%; }



.space-y-1 > * + * { margin-top: 4px; }

.space-y-2 > * + * { margin-top: 8px; }

.space-y-3 > * + * { margin-top: 12px; }

.space-y-4 > * + * { margin-top: 16px; }

.space-y-6 > * + * { margin-top: 24px; }

.space-y-16 > * + * { margin-top: 64px; }



.overflow-hidden { overflow: hidden; }

.overflow-x-auto { overflow-x: auto; }

.whitespace-nowrap { white-space: nowrap; }



.sticky { position: sticky; }

.top-16 { top: 64px; }

.top-20 { top: 80px; }

.top-24 { top: 96px; }

.fixed { position: fixed; }

.bottom-0 { bottom: 0; }

.left-0 { left: 0; }

.right-0 { right: 0; }

.z-40 { z-index: 40; }

.z-50 { z-index: 50; }



.scroll-mt-24 { scroll-margin-top: 96px; }



.shadow-sm { box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); }

.shadow-md { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1); }



.transition-colors { transition-property: color, background-color, border-color; transition-duration: 150ms; }

.transition-shadow { transition-property: box-shadow; transition-duration: 150ms; }

.transition-opacity { transition-property: opacity; transition-duration: 150ms; }



.opacity-0 { opacity: 0; }

.hover-opacity-100:hover { opacity: 1; }

.group:hover .group-hover-opacity-100 { opacity: 1; }

.hover-text-foreground:hover { color: var(--foreground); }

.hover-text-primary:hover { color: var(--primary); }

.hover-bg-secondary:hover { background-color: var(--secondary); }

.hover-bg-primary-10:hover { background-color: rgba(34, 160, 107, 0.1); }

.hover-bg-primary-90:hover { background-color: rgba(34, 160, 107, 0.9); }

.hover-shadow-md:hover { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); }

.group:hover .group-hover-bg-primary { background-color: var(--primary); }

.group:hover .group-hover-text-primary-foreground { color: var(--primary-foreground); }



.backdrop-blur { backdrop-filter: blur(8px); }



.inline-block { display: inline-block; }

.inline-flex { display: inline-flex; }

.block { display: block; }

.hidden { display: none; }

@media (min-width: 640px) { 

  .sm-inline { display: inline; } 

  .sm-flex-row { flex-direction: row; }

  .sm-text-left { text-align: left; }

  .sm-items-end { align-items: flex-end; }

  .sm-mb-0 { margin-bottom: 0; }

}

@media (min-width: 768px) { .md-flex { display: flex; } }

@media (min-width: 1024px) { 

  .lg-block { display: block; } 

  .lg-col-span-2 { grid-column: span 2; }

  .lg-hidden { display: none; }

}

@media (min-width: 1280px) { 

  .xl-block { display: block; } 

  .xl-hidden { display: none; }

  .xl-pb-0 { padding-bottom: 0; }

}



/* Button Styles */

.btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  font-weight: 500;

  font-size: 14px;

  border-radius: var(--radius);

  padding: 8px 16px;

  cursor: pointer;

  border: none;

  transition: background-color 150ms, opacity 150ms;

}

.btn:hover { opacity: 0.9; }

.btn-primary { background-color: var(--primary); color: var(--primary-foreground); }

.btn-primary:hover { background-color: rgba(34, 160, 107, 0.9); }

.btn-outline { background-color: transparent; border: 1px solid var(--border); color: var(--foreground); }

.btn-outline:hover { background-color: var(--secondary); }

.btn-lg { padding: 12px 24px; font-size: 16px; }



/* Badge Styles */

.badge {

  display: inline-flex;

  align-items: center;

  border-radius: 9999px;

  padding: 2px 10px;

  font-size: 12px;

  font-weight: 500;

  line-height: 20px;

}

.badge-secondary { background-color: var(--secondary); color: var(--secondary-foreground); }

.badge-outline { background-color: transparent; border: 1px solid var(--border); color: var(--muted-foreground); }

.badge-primary { background-color: var(--primary); color: var(--primary-foreground); }







/* Table Styles */

.table-container { width: 100%; overflow-x: auto; }

table { width: 100%; border-collapse: collapse; font-size: 14px; }

th { text-align: left; font-weight: 500; color: var(--muted-foreground); padding: 12px 16px; border-bottom: 1px solid var(--border); }

td { padding: 12px 16px; border-bottom: 1px solid var(--border); color: var(--foreground); }

th.text-center, td.text-center { text-align: center; }

tr:last-child td { border-bottom: none; }



/* Accordion Styles */

.accordion-item { border-bottom: 1px solid var(--border); }

.accordion-item:last-child { border-bottom: none; }

.accordion-trigger {

  display: flex;

  width: 100%;

  align-items: center;

  justify-content: space-between;

  padding: 20px 0;

  font-weight: 500;

  text-align: left;

  cursor: pointer;

  background: none;

  border: none;

  color: var(--foreground);

  font-size: 14px;

}

.accordion-trigger:hover { text-decoration: none; }

.accordion-chevron { 

  width: 16px; 

  height: 16px; 

  color: var(--muted-foreground);

  transition: transform 200ms ease;

  flex-shrink: 0;

}

.accordion-item.open .accordion-chevron { transform: rotate(180deg); }

.accordion-content {

  overflow: hidden;

  max-height: 0;

  transition: max-height 200ms ease;

}

.accordion-item.open .accordion-content { max-height: 500px; }

.accordion-content-inner { padding-bottom: 20px; color: var(--muted-foreground); line-height: 1.625; }



/* Icon Styles */

.icon { display: inline-block; vertical-align: middle; }

.icon svg { width: 100%; height: 100%; }

.fill-current { fill: currentColor; }

.fill-rating { fill: var(--rating); }

.fill-muted { fill: var(--muted); }

.stroke-current { stroke: currentColor; fill: none; }



/* TOC Navigation */

.toc-link {

  display: block;

  padding: 6px 12px;

  border-radius: 6px;

  font-size: 14px;

  color: var(--muted-foreground);

  transition: background-color 150ms, color 150ms;

}

.toc-link:hover { background-color: var(--secondary); color: var(--foreground); }

.toc-link.active { background-color: rgba(34, 160, 107, 0.1); color: var(--primary); font-weight: 500; }

#toc-list { list-style: none; padding-left: 0; margin: 0; }

#toc-list li { list-style: none; margin: 0; }

.sidebar-stack { align-self: start; }

.sidebar-stack > * { position: static; }



.mobile-toc { display: flex; gap: 8px; overflow-x: auto; padding: 12px 0; -webkit-overflow-scrolling: touch; scrollbar-width: none; }

.mobile-toc::-webkit-scrollbar { display: none; }

.mobile-toc-link {

  display: inline-block;

  white-space: nowrap;

  padding: 6px 12px;

  background-color: var(--secondary);

  border-radius: 9999px;

  font-size: 14px;

  color: var(--muted-foreground);

  transition: background-color 150ms, color 150ms;

}

.mobile-toc-link:hover { background-color: rgba(34, 160, 107, 0.1); color: var(--primary); }

.mobile-toc-link.active { background-color: rgba(34, 160, 107, 0.1); color: var(--primary); font-weight: 500; }



/* Card Grid Gap Fix */

.gap-px { gap: 1px; }

.gap-px > * { background-color: var(--card); }



/* Responsive Visibility */

@media (max-width: 1279px) { .desktop-only { display: none; } }

@media (min-width: 1280px) { .mobile-only { display: none; } }

@media (max-width: 1023px) { .lg-only { display: none; } }



/* Hero Card Layout */

@media (min-width: 1024px) {

  .hero-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 32px; }

}



/* Main Content Layout */

@media (min-width: 1280px) {

  .main-grid { display: grid; grid-template-columns: 1fr 280px; gap: 32px; }

}



.vtx-sticky-banner {

    position: fixed;

    left: 50%;

    bottom: 18px;

    transform: translateX(-50%);

    

    height: 96px;

    z-index: 99999;

    font-family: inherit;

}



.vtx-sticky-banner__shell {

    position: relative;

    display: grid;

    grid-template-columns: 220px 1fr;

    align-items: stretch;

    width: 100%;

    height: 100%;

    border-radius: 24px;

    overflow: hidden;

    box-shadow: 0 18px 40px rgba(21, 44, 31, 0.24);

    border: 1px solid #cfe1d6;

    background: #ffffff;

}



/* LEFT WHITE PART */

.vtx-sticky-banner__left {

    position: relative;

    display: flex;

    align-items: center;

    gap: 14px;

    padding: 0 18px 0 18px;

    background: linear-gradient(180deg, #ffffff 0%, #f6fbf8 100%);

    z-index: 2;

}



.vtx-sticky-banner__left::after {

    content: "";

    position: absolute;

    top: 0;

    right: -34px;

    width: 70px;

    height: 100%;

    background: linear-gradient(180deg, #ffffff 0%, #f6fbf8 100%);

    transform: skewX(-32deg);

    border-right: 1px solid rgba(47, 133, 90, 0.10);

    z-index: 1;

}



.vtx-sticky-banner__logo-box {

    position: relative;

    z-index: 2;

    width: 72px;

    height: 72px;

    border-radius: 18px;

    background: linear-gradient(180deg, #e4f2ea 0%, #d8ebe1 100%);

    display: flex;

    align-items: center;

    justify-content: center;

    box-shadow: inset 0 0 0 1px rgba(47, 133, 90, 0.08);

    flex-shrink: 0;

}



.vtx-sticky-banner__logo {

    color: #2f9a66;

    font-size: 42px;

    font-weight: 800;

    line-height: 1;

}



.vtx-sticky-banner__brand-meta {

    position: relative;

    z-index: 2;

    display: flex;

    flex-direction: column;

    min-width: 0;

}



.vtx-sticky-banner__brand-name {

    font-size: 28px;

    font-weight: 800;

    line-height: 1;

    color: #2b2f42;

    letter-spacing: -0.03em;

}



.vtx-sticky-banner__brand-tag {

    margin-top: 8px;

    display: inline-flex;

    align-self: flex-start;

    padding: 5px 10px;

    border-radius: 999px;

    background: #eef3ef;

    color: #68707f;

    font-size: 11px;

    font-weight: 700;

    line-height: 1;

    white-space: nowrap;

}



/* RIGHT GREEN PART */

.vtx-sticky-banner__right {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 18px;

    padding: 0 56px 0 54px;

    background: linear-gradient(135deg, #2ca36b 0%, #238a59 100%);

    overflow: hidden;

}



.vtx-sticky-banner__right::before {

    content: "";

    position: absolute;

    inset: 0;

    background:

        linear-gradient(120deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.00) 28%),

        linear-gradient(300deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.00) 22%);

    pointer-events: none;

}



.vtx-sticky-banner__right::after {

    content: "";

    position: absolute;

    top: 50%;

    right: 170px;

    width: 1px;

    height: 54px;

    background: rgba(255,255,255,0.18);

    transform: translateY(-50%);

}



.vtx-sticky-banner__offer {

    position: relative;

    z-index: 2;

    display: flex;

    flex-direction: column;

    min-width: 0;

}



.vtx-sticky-banner__offer-label {

    font-size: 12px;

    font-weight: 800;

    line-height: 1;

    letter-spacing: 0.14em;

    color: rgba(255,255,255,0.78);

    margin-bottom: 9px;

    white-space: nowrap;

}



.vtx-sticky-banner__offer-value {

    font-size: 32px;

    font-weight: 900;

    line-height: 1;

    color: #ffffff;

    letter-spacing: -0.03em;

    white-space: nowrap;

}



.vtx-sticky-banner__btn {

    position: relative;

    z-index: 2;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 150px;

    height: 52px;

    padding: 0 22px;

    border-radius: 14px;

    background: #ffffff;

    color: #238a59;

    text-decoration: none;

    font-size: 18px;

    font-weight: 800;

    line-height: 1;

    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);

    white-space: nowrap;

    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;

}



.vtx-sticky-banner__btn:hover {

    transform: translateY(-1px);

    background: #f5fff9;

    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);

}



.vtx-sticky-banner__close {

    position: absolute;

    top: 10px;

    right: 12px;

    width: 24px;

    height: 24px;

    border: 0;

    border-radius: 50%;

    background: rgba(255,255,255,0.18);

    color: #ffffff;

    font-size: 16px;

    line-height: 1;

    cursor: pointer;

    z-index: 5;

    display: flex;

    align-items: center;

    justify-content: center;

}



.vtx-sticky-banner__close:hover {

    background: rgba(255,255,255,0.28);

}



body {

    padding-bottom: 0px;

}



@media (max-width: 700px) {

    .vtx-sticky-banner {

        width: calc(100% - 20px);

        max-width: 600px;

        height: auto;

        bottom: 10px;

    }



    .vtx-sticky-banner__shell {

        grid-template-columns: 1fr;

        border-radius: 20px;

    }



    .vtx-sticky-banner__left {

        padding: 14px 16px;

    }



    .vtx-sticky-banner__brand-meta {

        display: none;

    }



    .vtx-sticky-banner__left {

    }



    .vtx-sticky-banner__left::after {

        display: none;

    }



    .vtx-sticky-banner__logo-box {

        width: 56px;

        height: 56px;

        border-radius: 14px;

    }



    .vtx-sticky-banner__logo {

        font-size: 32px;

    }



    .vtx-sticky-banner__brand-name {

        font-size: 22px;

    }



    .vtx-sticky-banner__brand-tag {

        font-size: 10px;

        margin-top: 6px;

    }



    .vtx-sticky-banner__right {

        padding: 16px;

        gap: 14px;

        flex-direction: column;

        align-items: stretch;

    }



    .vtx-sticky-banner__right::after {

        display: none;

    }



    .vtx-sticky-banner__offer-label {

        font-size: 11px;

        margin-bottom: 8px;

    }



    .vtx-sticky-banner__offer-value {

        font-size: 26px;

        white-space: normal;

    }



    .vtx-sticky-banner__btn {

        width: 100%;

        min-width: 0;

        height: 48px;

        font-size: 17px;

    }



    body {

        padding-bottom: 0px;

    }

}

@media (max-width: 700px) {

    .vtx-sticky-banner__brand-meta {

        display: none;

    }



    .vtx-sticky-banner__right {

        padding: 0 16px 16px 88px;

        gap: 14px;

        flex-direction: column;

        align-items: stretch;

    }



    .vtx-sticky-banner__left + .vtx-sticky-banner__right {

        margin-top: -56px;

    }



    .vtx-sticky-banner__offer {

        min-height: 56px;

        justify-content: center;

    }

}



/* Category Rating Bars */

/* Category Rating Bars */

.category-ratings .progress {

    width: 100%;

    height: 10px;

    background-color: #e5e7eb;

    border-radius: 9999px;

    overflow: hidden;

}



.category-ratings .progress-bar {

    display: block;

    height: 100%;

    border-radius: 9999px;

    background: #00707d;

    transition: width 300ms ease;

}

@media (min-width: 1024px) {
    .desktop-only {
        display: block !important;
        position: sticky !important;
        top: 96px !important;
        align-self: start !important;
        height: fit-content !important;
        z-index: 20 !important;
    }

    .desktop-only .sidebar-stack {
        position: static !important;
        top: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .main-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 280px !important;
        gap: 32px !important;
        align-items: start !important;
        overflow: visible !important;
    }
}

.vtx-review-page .container {
  padding-top: 32px;
  padding-bottom: 32px;
}

.desktop-only .sidebar-stack .bg-card h2,
.desktop-only .sidebar-stack .bg-card h3 {
  margin-top: 0px;
}

.text-primary {
    color: var(--primary);
}

/* class grid-single-mobile  */
@media (max-width: 640px) {
  #mobile div.grid-single-mobile {
    /*grid-template-columns: 1fr;*/
    border: 1px solid red;
  }
  #alternatives div.grid-single-mobile {
    /*grid-template-columns: 1fr;*/
    border: 1px solid red;
  }
  #verdict div.grid-single-mobile {
    /*grid-template-columns: 1fr;*/
    border: 1px solid red;
  }
  #full-review div.grid-single-mobile {
    /*grid-template-columns: 1fr;*/
    border: 1px solid red;
  }
  #safety div.grid-single-mobile {
    /*grid-template-columns: 1fr;*/
    border: 1px solid red;
  }
  #odds div.grid-single-mobile {
    /*grid-template-columns: 1fr;*/
    border: 1px solid red;
  }
  #support div.grid-single-mobile {
    /*grid-template-columns: 1fr;*/
    border: 1px solid red;
  }
}

/* grid-single-mobile */
@media (max-width: 640px) {
  #mobile div.lg-grid-cols-2 {
    /*grid-template-columns: 1fr;*/
  }
  #mobile div.grid {
    /*grid-template-columns: 1fr;*/
  }
}

section#alternatives h2 {
  /*font-size: 28px;*/
  font-size: 18px;
}

section.scroll-mt-24 h2,
section.scroll-mt-24 h3 {
    margin-top: 10px;
    margin-bottom: 20px;
}

.grid-items-three-mobile {
  flex-direction: row;
}
  
@media (max-width: 640px) {
  .grid-items-three-mobile {
    flex-direction: column;
  }
}

/*
.support-grid-2 {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  border: 1px solid red;
}
@media (min-width: 640px) {
  .support-grid-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.support-grid-4 {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  border: 1px solid red;
}

@media (min-width: 640px) {
  .support-grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

.support-grid-3 {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  border: 1px solid red;
}

@media (min-width: 640px) {
  .support-grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}*/

.grid-cols-1 { grid-template-columns: repeat(1, 1fr); }
.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.grid-cols-4 { grid-template-columns: repeat(4, 1fr); }

@media (min-width: 640px) {
  .sm\:grid-cols-1 { grid-template-columns: repeat(1, 1fr); }
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .sm\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .sm\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
}

@media (min-width: 768px) {
  .md\:grid-cols-1 { grid-template-columns: repeat(1, 1fr); }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .md\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
}

@media (min-width: 1024px) {
  .lg\:grid-cols-1 { grid-template-columns: repeat(1, 1fr); }
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 1279px) {
    #full-review .vtx-review-page .desktop-only {
        display: block !important;
    }
}

@media (max-width: 1080px) {
    #full-review .vtx-review-page .desktop-only {
        display: none !important;
    }
}

.group:hover .group-hover-text-primary-foreground {
    color: var(--primary-foreground);
}

.group:hover .group-hover-bg-primary {
    background-color: var(--primary);
}

.group .btn:hover{
    color: var(--primary-foreground);
    background-color: var(--primary);
}

.text-xs-bonus {
    font-size: 25px;
}

@media (max-width: 640px) { 
  .flex-col-bonus{
display: flex;
    flex-direction: column;
}
}