.elementor-299 .elementor-element.elementor-element-942e6b9{--display:flex;--min-height:484px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-299 .elementor-element.elementor-element-942e6b9:not(.elementor-motion-effects-element-type-background), .elementor-299 .elementor-element.elementor-element-942e6b9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.infranova.es/wp-content/uploads/2026/04/Bare-Metal-scaled-1-1.jpg");background-position:center center;background-size:cover;}.elementor-299 .elementor-element.elementor-element-2bcdfb8{--display:flex;--border-radius:25px 25px 25px 25px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-299 .elementor-element.elementor-element-3563e8c{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-299 .elementor-element.elementor-element-3563e8c .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:77px;font-weight:600;color:#FFFFFF;}.elementor-299 .elementor-element.elementor-element-9be2024{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;}.elementor-299 .elementor-element.elementor-element-9be2024:not(.elementor-motion-effects-element-type-background), .elementor-299 .elementor-element.elementor-element-9be2024 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#112240;}.elementor-299 .elementor-element.elementor-element-5ef4f82{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-299 .elementor-element.elementor-element-d38eb52{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;}.elementor-299 .elementor-element.elementor-element-d38eb52:not(.elementor-motion-effects-element-type-background), .elementor-299 .elementor-element.elementor-element-d38eb52 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#112240;}.elementor-299 .elementor-element.elementor-element-09a9f9b .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:36px;font-weight:600;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-299 .elementor-element.elementor-element-e02db49{text-align:justify;font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:400;color:#FFFFFF;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-299 .elementor-element.elementor-element-d064bd8 .elementor-button{background-color:#639AFF;font-family:"tt_fors", Sans-serif;font-size:20px;font-weight:500;fill:#FFFFFF;color:#FFFFFF;border-radius:25px 25px 25px 25px;}.elementor-299 .elementor-element.elementor-element-d064bd8 .elementor-button:hover, .elementor-299 .elementor-element.elementor-element-d064bd8 .elementor-button:focus{background-color:#547ECA;color:#FFFFFF;}.elementor-299 .elementor-element.elementor-element-d064bd8 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-299 .elementor-element.elementor-element-d064bd8 .elementor-button:hover svg, .elementor-299 .elementor-element.elementor-element-d064bd8 .elementor-button:focus svg{fill:#FFFFFF;}@media(max-width:767px){.elementor-299 .elementor-element.elementor-element-3563e8c .elementor-heading-title{font-size:38px;}.elementor-299 .elementor-element.elementor-element-09a9f9b .elementor-heading-title{font-size:31px;}}@media(min-width:768px){.elementor-299 .elementor-element.elementor-element-2bcdfb8{--width:54%;}.elementor-299 .elementor-element.elementor-element-5ef4f82{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-942e6b9 *//* Franja GRIS CLARO (#e4e4e4) */
.elementor-299 .elementor-element.elementor-element-942e6b9::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #639AFF;
    /* Recorte nítido para la franja gris */
    clip-path: polygon(0 94%, 100% 82%, 100% 100%, 0% 100%);
    z-index: 1;
}

/* Franja ROJA OSCURA (#c02924) */
.elementor-299 .elementor-element.elementor-element-942e6b9::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #112240;
    /* Recorte un poco más bajo para dejar ver el gris arriba */
    clip-path: polygon(0 96%, 100% 84%, 100% 100%, 0% 100%);
    z-index: 2;
}

/* Contenedor Hero */
.elementor-299 .elementor-element.elementor-element-942e6b9 {
    min-height: 400px !important;
    position: relative;
    overflow: hidden;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a78c2fb *//* Tabla shortcode bm- dentro de cualquier wrap */
.vp-wrap .bm-table-wrap,
.ss-wrap .bm-table-wrap,
.ia-wrap .bm-table-wrap,
.gm-wrap .bm-table-wrap,
.cl-wrap .bm-table-wrap {
  border-radius: 8px;
  border: 1px solid #1e2d4a;
  overflow: hidden;
  width: 100%;
}

.vp-wrap .bm-table,
.ss-wrap .bm-table,
.ia-wrap .bm-table,
.gm-wrap .bm-table,
.cl-wrap .bm-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
  font-family: 'Inter', sans-serif;
}

.vp-wrap .bm-table thead tr,
.ss-wrap .bm-table thead tr,
.ia-wrap .bm-table thead tr,
.gm-wrap .bm-table thead tr,
.cl-wrap .bm-table thead tr {
  background: #1e6fff;
}

.vp-wrap .bm-table thead th,
.ss-wrap .bm-table thead th,
.ia-wrap .bm-table thead th,
.gm-wrap .bm-table thead th,
.cl-wrap .bm-table thead th {
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
  padding: 0.75rem 0.9rem;
  text-align: left;
  white-space: nowrap;
}

.vp-wrap .bm-table tbody tr,
.ss-wrap .bm-table tbody tr,
.ia-wrap .bm-table tbody tr,
.gm-wrap .bm-table tbody tr,
.cl-wrap .bm-table tbody tr {
  border-bottom: 1px solid #1e2d4a;
  transition: background 0.2s;
}

.vp-wrap .bm-table tbody tr:last-child,
.ss-wrap .bm-table tbody tr:last-child,
.ia-wrap .bm-table tbody tr:last-child,
.gm-wrap .bm-table tbody tr:last-child,
.cl-wrap .bm-table tbody tr:last-child {
  border-bottom: none;
}

.vp-wrap .bm-table tbody tr:nth-child(odd),
.ss-wrap .bm-table tbody tr:nth-child(odd),
.ia-wrap .bm-table tbody tr:nth-child(odd),
.gm-wrap .bm-table tbody tr:nth-child(odd),
.cl-wrap .bm-table tbody tr:nth-child(odd) {
  background: #0f1628;
}

.vp-wrap .bm-table tbody tr:nth-child(even),
.ss-wrap .bm-table tbody tr:nth-child(even),
.ia-wrap .bm-table tbody tr:nth-child(even),
.gm-wrap .bm-table tbody tr:nth-child(even),
.cl-wrap .bm-table tbody tr:nth-child(even) {
  background: rgba(30, 111, 255, 0.04);
}

.vp-wrap .bm-table tbody tr:hover,
.ss-wrap .bm-table tbody tr:hover,
.ia-wrap .bm-table tbody tr:hover,
.gm-wrap .bm-table tbody tr:hover,
.cl-wrap .bm-table tbody tr:hover {
  background: rgba(0, 212, 255, 0.06);
}

.vp-wrap .bm-table td,
.ss-wrap .bm-table td,
.ia-wrap .bm-table td,
.gm-wrap .bm-table td,
.cl-wrap .bm-table td {
  padding: 0.8rem 0.9rem;
  color: #e0e8f8;
  vertical-align: middle;
  font-size: 0.83rem;
  line-height: 1.4;
}

.vp-wrap .bm-plan,
.ss-wrap .bm-plan,
.ia-wrap .bm-plan,
.gm-wrap .bm-plan,
.cl-wrap .bm-plan {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.vp-wrap .bm-plan--starter,
.ss-wrap .bm-plan--starter,
.ia-wrap .bm-plan--starter,
.gm-wrap .bm-plan--starter,
.cl-wrap .bm-plan--starter { color: #5bc8f5; }

.vp-wrap .bm-plan--performance,
.ss-wrap .bm-plan--performance,
.ia-wrap .bm-plan--performance,
.gm-wrap .bm-plan--performance,
.cl-wrap .bm-plan--performance { color: #4d9fff; }

.vp-wrap .bm-plan--advanced,
.ss-wrap .bm-plan--advanced,
.ia-wrap .bm-plan--advanced,
.gm-wrap .bm-plan--advanced,
.cl-wrap .bm-plan--advanced { color: #f5c842; }

.vp-wrap .bm-plan--enterprise,
.ss-wrap .bm-plan--enterprise,
.ia-wrap .bm-plan--enterprise,
.gm-wrap .bm-plan--enterprise,
.cl-wrap .bm-plan--enterprise { color: #ff7043; }

.vp-wrap .bm-price,
.ss-wrap .bm-price,
.ia-wrap .bm-price,
.gm-wrap .bm-price,
.cl-wrap .bm-price {
  white-space: nowrap;
  color: #7a90b8;
}

.vp-wrap .bm-price strong,
.ss-wrap .bm-price strong,
.ia-wrap .bm-price strong,
.gm-wrap .bm-price strong,
.cl-wrap .bm-price strong {
  display: block;
  color: #00d4ff;
  font-size: 1rem;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
}

/* ── MÓVIL ──────────────────────────────────── */
@media (max-width: 700px) {
  .vp-wrap .bm-table-wrap,
  .ss-wrap .bm-table-wrap,
  .ia-wrap .bm-table-wrap,
  .gm-wrap .bm-table-wrap,
  .cl-wrap .bm-table-wrap {
    border: none;
    background: transparent;
  }

  .vp-wrap .bm-table,
  .ss-wrap .bm-table,
  .ia-wrap .bm-table,
  .gm-wrap .bm-table,
  .cl-wrap .bm-table,
  .vp-wrap .bm-table tbody,
  .ss-wrap .bm-table tbody,
  .ia-wrap .bm-table tbody,
  .gm-wrap .bm-table tbody,
  .cl-wrap .bm-table tbody,
  .vp-wrap .bm-table tr,
  .ss-wrap .bm-table tr,
  .ia-wrap .bm-table tr,
  .gm-wrap .bm-table tr,
  .cl-wrap .bm-table tr,
  .vp-wrap .bm-table td,
  .ss-wrap .bm-table td,
  .ia-wrap .bm-table td,
  .gm-wrap .bm-table td,
  .cl-wrap .bm-table td {
    display: block;
    width: 100%;
  }

  .vp-wrap .bm-table thead,
  .ss-wrap .bm-table thead,
  .ia-wrap .bm-table thead,
  .gm-wrap .bm-table thead,
  .cl-wrap .bm-table thead {
    display: none;
  }

  .vp-wrap .bm-table tbody tr,
  .ss-wrap .bm-table tbody tr,
  .ia-wrap .bm-table tbody tr,
  .gm-wrap .bm-table tbody tr,
  .cl-wrap .bm-table tbody tr {
    background: #0f1628 !important;
    border: 1px solid #1e2d4a;
    border-radius: 8px;
    margin-bottom: 1rem;
    overflow: hidden;
  }

  .vp-wrap .bm-table td,
  .ss-wrap .bm-table td,
  .ia-wrap .bm-table td,
  .gm-wrap .bm-table td,
  .cl-wrap .bm-table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.55rem 1rem;
    border-bottom: 1px solid rgba(30, 45, 74, 0.8);
    gap: 0.5rem;
  }

  .vp-wrap .bm-table td:last-child,
  .ss-wrap .bm-table td:last-child,
  .ia-wrap .bm-table td:last-child,
  .gm-wrap .bm-table td:last-child,
  .cl-wrap .bm-table td:last-child {
    border-bottom: none;
  }

  .vp-wrap .bm-table td::before,
  .ss-wrap .bm-table td::before,
  .ia-wrap .bm-table td::before,
  .gm-wrap .bm-table td::before,
  .cl-wrap .bm-table td::before {
    content: attr(data-label);
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7a90b8;
    flex-shrink: 0;
    min-width: 110px;
  }

  .vp-wrap .bm-table td.bm-plan,
  .ss-wrap .bm-table td.bm-plan,
  .ia-wrap .bm-table td.bm-plan,
  .gm-wrap .bm-table td.bm-plan,
  .cl-wrap .bm-table td.bm-plan {
    justify-content: center;
    background: rgba(30, 111, 255, 0.12);
    font-size: 0.95rem;
    padding: 0.7rem 1rem;
  }

  .vp-wrap .bm-table td.bm-plan::before,
  .ss-wrap .bm-table td.bm-plan::before,
  .ia-wrap .bm-table td.bm-plan::before,
  .gm-wrap .bm-table td.bm-plan::before,
  .cl-wrap .bm-table td.bm-plan::before {
    display: none;
  }

  .vp-wrap .bm-table td.bm-price,
  .ss-wrap .bm-table td.bm-price,
  .ia-wrap .bm-table td.bm-price,
  .gm-wrap .bm-table td.bm-price,
  .cl-wrap .bm-table td.bm-price {
    justify-content: center;
    padding: 0.8rem 1rem;
    background: rgba(0, 212, 255, 0.05);
  }

  .vp-wrap .bm-table td.bm-price::before,
  .ss-wrap .bm-table td.bm-price::before,
  .ia-wrap .bm-table td.bm-price::before,
  .gm-wrap .bm-table td.bm-price::before,
  .cl-wrap .bm-table td.bm-price::before {
    display: none;
  }

  .vp-wrap .bm-price strong,
  .ss-wrap .bm-price strong,
  .ia-wrap .bm-price strong,
  .gm-wrap .bm-price strong,
  .cl-wrap .bm-price strong {
    font-size: 1.2rem;
    display: inline;
  }
}

/* ============================================
   VPN - CSS completo autónomo
   Para bloque HTML en Elementor
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');

/* ── VARIABLES Y RESET ──────────────────────── */
.vp-wrap {
  --vp-surface:      #0f1628;
  --vp-border:       #1e2d4a;
  --vp-blue:         #1e6fff;
  --vp-blue-mid:     #4d9fff;
  --vp-blue-light:   #93c5fd;
  --vp-cyan:         #00d4ff;
  --vp-text:         #e0e8f8;
  --vp-muted:        #7a90b8;
  --vp-white:        #ffffff;
  --vp-radius:       8px;

  font-family: 'Inter', sans-serif;
  background-color: transparent;
  color: var(--vp-text);
  padding: 2rem 1.5rem;
  border-radius: 12px;
  line-height: 1.6;
  box-sizing: border-box;
}

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

/* ── HERO ───────────────────────────────────── */
.vp-hero {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 3rem;
}

@media (min-width: 768px) {
  .vp-hero {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

.vp-hero__title {
  font-family: 'Rajdhani', sans-serif;
  font-size: clamp(2rem, 7vw, 3.1rem);
  font-weight: 700;
  color: var(--vp-white);
  letter-spacing: 0.02em;
  line-height: 1.05;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

.vp-hero__title--accent {
  color: var(--vp-cyan);
}

.vp-hero__sub {
  font-family: 'Rajdhani', sans-serif;
  font-size: clamp(1rem, 2.5vw, 1.3rem);
  font-weight: 600;
  color: var(--vp-blue-light);
  letter-spacing: 0.03em;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

.vp-hero__desc {
  font-size: 0.92rem;
  color: var(--vp-muted);
  max-width: 520px;
  line-height: 1.65;
}

.vp-hero__desc--mt {
  margin-top: 0.6rem;
  color: var(--vp-text);
  font-weight: 500;
}

/* Ideal para */
.vp-ideal {
  background: var(--vp-surface);
  border: 1px solid var(--vp-border);
  border-left: 3px solid var(--vp-cyan);
  border-radius: var(--vp-radius);
  padding: 1.25rem 1.5rem;
}

.vp-ideal__title {
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--vp-cyan);
  text-transform: uppercase;
  margin-bottom: 0.8rem;
}

.vp-ideal__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.vp-ideal__list li {
  font-size: 0.88rem;
  color: var(--vp-text);
  display: flex;
  align-items: center;
  gap: 0.55rem;
  line-height: 1.4;
}

.vp-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--vp-cyan);
  flex-shrink: 0;
}

/* ── CARACTERÍSTICAS ────────────────────────── */
.vp-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1rem;
  margin-bottom: 3rem;
}

.vp-feature {
  background: var(--vp-surface);
  border: 1px solid var(--vp-border);
  border-top: 2px solid var(--vp-blue);
  border-radius: var(--vp-radius);
  padding: 1.25rem 1rem;
  text-align: center;
  transition: border-top-color 0.25s;
}

.vp-feature:hover {
  border-top-color: var(--vp-cyan);
}

.vp-feature__icon {
  font-size: 1.8rem;
  margin-bottom: 0.6rem;
  display: block;
}

.vp-feature h3 {
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--vp-white);
  letter-spacing: 0.03em;
  margin-bottom: 0.4rem;
  text-transform: uppercase;
  line-height: 1.3;
}

.vp-feature p {
  font-size: 0.76rem;
  color: var(--vp-muted);
  line-height: 1.45;
}

/* ── SECCIÓN GENÉRICA ───────────────────────── */
.vp-section {
  margin-bottom: 3rem;
}

.vp-section__title {
  font-family: 'Rajdhani', sans-serif;
  font-size: clamp(1rem, 3vw, 1.45rem);
  font-weight: 700;
  color: var(--vp-white);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 1.5rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--vp-border);
}

/* ── TABLA ──────────────────────────────────── */
.vp-table-wrap {
  border-radius: var(--vp-radius);
  border: 1px solid var(--vp-border);
  overflow: hidden;
}

.vp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
}

.vp-table thead tr {
  background: var(--vp-blue);
}

.vp-table thead th {
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--vp-white);
  padding: 0.75rem 0.9rem;
  text-align: left;
  white-space: nowrap;
}

.vp-table tbody tr {
  border-bottom: 1px solid var(--vp-border);
  transition: background 0.2s;
}

.vp-table tbody tr:last-child {
  border-bottom: none;
}

.vp-table tbody tr:nth-child(odd) {
  background: var(--vp-surface);
}

.vp-table tbody tr:nth-child(even) {
  background: rgba(30, 111, 255, 0.04);
}

.vp-table tbody tr:hover {
  background: rgba(0, 212, 255, 0.06);
}

.vp-table td {
  padding: 0.8rem 0.9rem;
  color: var(--vp-text);
  vertical-align: middle;
  font-size: 0.83rem;
}

/* Plan nombres */
.vp-plan {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.vp-plan--1 { color: #5bc8f5; }
.vp-plan--2 { color: #4d9fff; }
.vp-plan--3 { color: #f5c842; }
.vp-plan--4 { color: #ff7043; }

/* Precio */
.vp-price {
  white-space: nowrap;
  color: var(--vp-muted);
}

.vp-price strong {
  display: block;
  color: var(--vp-cyan);
  font-size: 1rem;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
}

/* ── TABLA → TARJETAS MÓVIL ─────────────────── */
@media (max-width: 700px) {
  .vp-table-wrap {
    border: none;
    background: transparent;
  }

  .vp-table,
  .vp-table tbody,
  .vp-table tr,
  .vp-table td {
    display: block;
    width: 100%;
  }

  .vp-table thead {
    display: none;
  }

  .vp-table tbody tr {
    background: var(--vp-surface) !important;
    border: 1px solid var(--vp-border);
    border-radius: var(--vp-radius);
    margin-bottom: 1rem;
    overflow: hidden;
  }

  .vp-table tbody tr:hover {
    background: rgba(0, 212, 255, 0.06) !important;
  }

  .vp-table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.55rem 1rem;
    border-bottom: 1px solid rgba(30, 45, 74, 0.8);
    gap: 0.5rem;
    font-size: 0.82rem;
  }

  .vp-table td:last-child {
    border-bottom: none;
  }

  .vp-table td::before {
    content: attr(data-label);
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--vp-muted);
    flex-shrink: 0;
    min-width: 120px;
  }

  .vp-table td.vp-plan {
    justify-content: center;
    background: rgba(30, 111, 255, 0.12);
    font-size: 0.95rem;
    padding: 0.7rem 1rem;
  }

  .vp-table td.vp-plan::before {
    display: none;
  }

  .vp-table td.vp-price {
    justify-content: center;
    padding: 0.8rem 1rem;
    background: rgba(0, 212, 255, 0.05);
  }

  .vp-table td.vp-price::before {
    display: none;
  }

  .vp-price strong {
    font-size: 1.2rem;
    display: inline;
  }
}

/* ── POR QUÉ ELEGIRNOS ──────────────────────── */
.vp-why {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}

.vp-why__item {
  background: var(--vp-surface);
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-radius);
  padding: 1.25rem;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  transition: border-color 0.25s, transform 0.2s;
}

.vp-why__item:hover {
  border-color: var(--vp-blue-mid);
  transform: translateY(-2px);
}

.vp-why__icon {
  font-size: 1.8rem;
  flex-shrink: 0;
  line-height: 1;
}

.vp-why__item h3 {
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--vp-cyan);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.3rem;
  line-height: 1.3;
}

.vp-why__item p {
  font-size: 0.82rem;
  color: var(--vp-muted);
  line-height: 1.5;
}

/* ── CTA FINAL ──────────────────────────────── */
.vp-cta {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
  background: linear-gradient(135deg, rgba(30, 111, 255, 0.15), rgba(0, 212, 255, 0.07));
  border: 1px solid var(--vp-blue);
  border-radius: var(--vp-radius);
  padding: 1.25rem 1.5rem;
}

.vp-cta__icon {
  font-size: 2rem;
  flex-shrink: 0;
  line-height: 1;
}

.vp-cta__title {
  font-family: 'Rajdhani', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--vp-white);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.3;
}

.vp-cta__sub {
  font-size: 0.85rem;
  color: var(--vp-muted);
  margin-top: 0.25rem;
  line-height: 1.4;
}

/* ── RESPONSIVE GENERAL ─────────────────────── */
@media (max-width: 480px) {
  .vp-wrap {
    padding: 1.25rem 1rem;
  }

  .vp-features {
    grid-template-columns: 1fr 1fr;
  }

  .vp-why {
    grid-template-columns: 1fr;
  }
}



/* Tabla responsive móvil - clases bm- dentro de gm-wrap */
.gm-wrap .bm-table-wrap {
  border-radius: 8px;
  border: 1px solid #2a1f4a;
  overflow: hidden;
}

.gm-wrap .bm-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
}

.gm-wrap .bm-table thead tr {
  background: #7c3aed;
}

.gm-wrap .bm-table thead th {
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
  padding: 0.75rem 0.9rem;
  text-align: left;
  white-space: nowrap;
}

.gm-wrap .bm-table tbody tr {
  border-bottom: 1px solid #2a1f4a;
  transition: background 0.2s;
}

.gm-wrap .bm-table tbody tr:last-child {
  border-bottom: none;
}

.gm-wrap .bm-table tbody tr:nth-child(odd) {
  background: #0f1628;
}

.gm-wrap .bm-table tbody tr:nth-child(even) {
  background: rgba(124, 58, 237, 0.04);
}

.gm-wrap .bm-table tbody tr:hover {
  background: rgba(168, 85, 247, 0.08);
}

.gm-wrap .bm-table td {
  padding: 0.8rem 0.9rem;
  color: #e0e8f8;
  vertical-align: middle;
  font-size: 0.83rem;
  line-height: 1.4;
}

.gm-wrap .bm-plan {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.gm-wrap .bm-plan--starter    { color: #60a5fa; }
.gm-wrap .bm-plan--performance { color: #a78bfa; }
.gm-wrap .bm-plan--advanced   { color: #e879f9; }
.gm-wrap .bm-plan--enterprise  { color: #f43f5e; }

.gm-wrap .bm-price {
  white-space: nowrap;
  color: #7a90b8;
}

.gm-wrap .bm-price strong {
  display: block;
  color: #a855f7;
  font-size: 1rem;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
}

/* Tarjetas móvil */
@media (max-width: 700px) {
  .gm-wrap .bm-table-wrap {
    border: none;
    background: transparent;
  }

  .gm-wrap .bm-table,
  .gm-wrap .bm-table tbody,
  .gm-wrap .bm-table tr,
  .gm-wrap .bm-table td {
    display: block;
    width: 100%;
  }

  .gm-wrap .bm-table thead {
    display: none;
  }

  .gm-wrap .bm-table tbody tr {
    background: #0f1628 !important;
    border: 1px solid #2a1f4a;
    border-radius: 8px;
    margin-bottom: 1rem;
    overflow: hidden;
  }

  .gm-wrap .bm-table tbody tr:hover {
    background: rgba(168, 85, 247, 0.08) !important;
  }

  .gm-wrap .bm-table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.55rem 1rem;
    border-bottom: 1px solid rgba(42, 31, 74, 0.8);
    gap: 0.5rem;
  }

  .gm-wrap .bm-table td:last-child {
    border-bottom: none;
  }

  .gm-wrap .bm-table td::before {
    content: attr(data-label);
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7a90b8;
    flex-shrink: 0;
    min-width: 110px;
  }

  .gm-wrap .bm-table td.bm-plan {
    justify-content: center;
    background: rgba(124, 58, 237, 0.15);
    font-size: 0.95rem;
    padding: 0.7rem 1rem;
  }

  .gm-wrap .bm-table td.bm-plan::before {
    display: none;
  }

  .gm-wrap .bm-table td.bm-price {
    justify-content: center;
    padding: 0.8rem 1rem;
    background: rgba(168, 85, 247, 0.07);
  }

  .gm-wrap .bm-table td.bm-price::before {
    display: none;
  }

  .gm-wrap .bm-price strong {
    font-size: 1.2rem;
    display: inline;
  }
}



/* Tabla responsive móvil - clases bm- dentro de gm-wrap */
.gm-wrap .bm-table-wrap {
  border-radius: 8px;
  border: 1px solid #2a1f4a;
  overflow: hidden;
}

.gm-wrap .bm-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
}

.gm-wrap .bm-table thead tr {
  background: #7c3aed;
}

.gm-wrap .bm-table thead th {
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
  padding: 0.75rem 0.9rem;
  text-align: left;
  white-space: nowrap;
}

.gm-wrap .bm-table tbody tr {
  border-bottom: 1px solid #2a1f4a;
  transition: background 0.2s;
}

.gm-wrap .bm-table tbody tr:last-child {
  border-bottom: none;
}

.gm-wrap .bm-table tbody tr:nth-child(odd) {
  background: #0f1628;
}

.gm-wrap .bm-table tbody tr:nth-child(even) {
  background: rgba(124, 58, 237, 0.04);
}

.gm-wrap .bm-table tbody tr:hover {
  background: rgba(168, 85, 247, 0.08);
}

.gm-wrap .bm-table td {
  padding: 0.8rem 0.9rem;
  color: #e0e8f8;
  vertical-align: middle;
  font-size: 0.83rem;
  line-height: 1.4;
}

.gm-wrap .bm-plan {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.gm-wrap .bm-plan--starter    { color: #60a5fa; }
.gm-wrap .bm-plan--performance { color: #a78bfa; }
.gm-wrap .bm-plan--advanced   { color: #e879f9; }
.gm-wrap .bm-plan--enterprise  { color: #f43f5e; }

.gm-wrap .bm-price {
  white-space: nowrap;
  color: #7a90b8;
}

.gm-wrap .bm-price strong {
  display: block;
  color: #a855f7;
  font-size: 1rem;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
}

/* Tarjetas móvil */
@media (max-width: 700px) {
  .gm-wrap .bm-table-wrap {
    border: none;
    background: transparent;
  }

  .gm-wrap .bm-table,
  .gm-wrap .bm-table tbody,
  .gm-wrap .bm-table tr,
  .gm-wrap .bm-table td {
    display: block;
    width: 100%;
  }

  .gm-wrap .bm-table thead {
    display: none;
  }

  .gm-wrap .bm-table tbody tr {
    background: #0f1628 !important;
    border: 1px solid #2a1f4a;
    border-radius: 8px;
    margin-bottom: 1rem;
    overflow: hidden;
  }

  .gm-wrap .bm-table tbody tr:hover {
    background: rgba(168, 85, 247, 0.08) !important;
  }

  .gm-wrap .bm-table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.55rem 1rem;
    border-bottom: 1px solid rgba(42, 31, 74, 0.8);
    gap: 0.5rem;
  }

  .gm-wrap .bm-table td:last-child {
    border-bottom: none;
  }

  .gm-wrap .bm-table td::before {
    content: attr(data-label);
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7a90b8;
    flex-shrink: 0;
    min-width: 110px;
  }

  .gm-wrap .bm-table td.bm-plan {
    justify-content: center;
    background: rgba(124, 58, 237, 0.15);
    font-size: 0.95rem;
    padding: 0.7rem 1rem;
  }

  .gm-wrap .bm-table td.bm-plan::before {
    display: none;
  }

  .gm-wrap .bm-table td.bm-price {
    justify-content: center;
    padding: 0.8rem 1rem;
    background: rgba(168, 85, 247, 0.07);
  }

  .gm-wrap .bm-table td.bm-price::before {
    display: none;
  }

  .gm-wrap .bm-price strong {
    font-size: 1.2rem;
    display: inline;
  }
}/* End custom CSS */