/*********************************
 GTRANSLATE – CUSTOM CSS
*********************************/
.gt_float_switcher{
  background:#181818 !important;
  border-radius:10px !important;
  color:white !important;
  border-color:rgb(36,36,36) !important;
}

.gt-selected{
  background:#181818 !important;
}

.gt-lang-code{
  color:white !important;
}

.nturl{
  color:white !important;
}

/*********************************
 UTILIDADES GENERALES
*********************************/
.p-2{ padding:0 5px; }
.p-4{ padding:0 10px; }
.ml-2{ margin:0 20px; }
.mr-2{ margin:0 20px; }
.mt-2{ padding-top:20px; }

.index-99{ z-index:-1; }

.txt-menu{ color:black; }
.txt-blue{ color:#6666FF; }

.wpb_raw_code.no-margin,
.wpb_raw_code.no-margin .wpb_wrapper{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

/*********************************
 TARJETAS / CAJAS DESTACADAS
*********************************/
.vc_custom_1762829967611{
  background:linear-gradient(135deg,#3a1c00,#d35400);
  border-radius:25px;
  padding:35px;
  color:#fff;
  box-shadow:
    inset 0 0 10px rgba(0,0,0,.4),
    0 8px 25px rgba(211,84,0,.35);
  transition:box-shadow .4s ease, transform .3s ease;
}

.vc_custom_1762829967611:hover{
  box-shadow:
    inset 0 0 10px rgba(0,0,0,.5),
    0 12px 35px rgba(255,140,0,.6),
    0 0 20px rgba(255,180,50,.5);
  transform:translateY(-4px);
}

.wpb-price-container{ color:white; }

ul.wpb-plan-features li{
  color:#fff !important;
  font-weight:500;
  line-height:1.6;
  margin-bottom:8px;
  list-style:none;
}

/*********************************
 BOTONES
*********************************/
.cta-btn{
  background:#111;
  color:#fff;
  font-weight:600;
  padding:12px 30px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.2);
  text-transform:uppercase;
  letter-spacing:1px;
  transition:.3s ease;
  box-shadow:0 0 12px rgba(0,0,0,.4);
}

.cta-btn:hover{
  background:#000;
  box-shadow:0 0 18px rgba(255,140,0,.6);
  transform:translateY(-3px);
}

.btn-princing button{
  background:#111 !important;
  color:#fff !important;
  font-weight:600 !important;
  padding:12px 30px !important;
  border-radius:25px !important;
  border:1px solid rgba(255,255,255,.2) !important;
  text-transform:uppercase !important;
  letter-spacing:1px !important;
  transition:.3s ease !important;
  box-shadow:0 0 12px rgba(0,0,0,.4) !important;
}

.btn-princing button:hover{
  background:#000 !important;
  box-shadow:0 0 18px rgba(255,140,0,.6) !important;
  transform:translateY(-3px) !important;
}

/*********************************
 HOVERBOX / FLEX
*********************************/
.vc-hoverbox-block.vc-hoverbox-front{
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  padding:20px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.flex-right.vc_row{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:10px;
}

.vertical-col{
  display:flex;
  flex-direction:column;
  justify-content:center;
  height:100%;
}

/*********************************
 FILAS CON SEPARADORES
*********************************/
.my-special-row{
  display:flex;
  position:relative;
}

.my-special-row>.vc_column_container{
  position:relative;
  flex:1;
  margin:0 10px;
}

.my-special-row>.vc_column_container:not(:last-child)::after{
  content:"";
  position:absolute;
  top:30%;
  right:0;
  width:1px;
  height:30%;
  background:rgba(255,255,255,.2);
}

@media(max-width:768px){
  .my-special-row{
    display:block !important;
  }
  .my-special-row>.vc_column_container::after{
    display:none;
  }
}


/*********************************
 TARJETAS SERVICIOS – WRAPPER REAL
*********************************/

/* ESTE ES EL CONTENEDOR QUE RECORTA TODO */
.character-card-inner {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background-color: transparent;
}

/* limpiar wrappers dentro del contenedor */
.character-card-inner .vc_column-inner,
.character-card-inner .wpb_wrapper,
.character-card-inner figure,
.character-card-inner .vc_single_image-wrapper {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* IMAGEN PRINCIPAL */
.character-image {
  position: relative;
  z-index: 1;
}

.character-card-inner .character-image img {
  display: block;
  width: auto;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 12px;
}

/* FRANJA INFERIOR CON LOGO / TEXTO */
.promo-caption-logo {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  display: flex;
  justify-content: center;
  align-items: center;

  padding: 10px 12px;
  z-index: 2;
  margin: 9px;
}

/* CAPA DE BLUR */
.promo-caption-logo::before {
  content: "";
  position: absolute;
  inset: 0;

  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;

  z-index: -1;
}

/* NORMALIZA SOLO EL LOGO DENTRO DEL CAPTION */
.promo-caption-logo .wpb_wrapper,
.promo-caption-logo .vc_figure,
.promo-caption-logo .vc_single_image-wrapper {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* IMAGEN DEL LOGO */
.promo-caption-logo img {
  
  width:auto;
  height: 50px;
  object-fit: contain;  /* mantiene proporción dentro del contenedor */
  display: block;

}

.corporate_design .wpb_single_image .vc_single_image-wrapper.vc_box_rounded, .corporate_design .wpb_single_image .vc_single_image-wrapper.vc_box_rounded img, .corporate_design .wpb_single_image {
    border-radius: 0px 0px 20px 20px !important;
    overflow: hidden;
}



/* MOBILE */
@media (max-width: 768px) {
  .character-card-inner {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 24px;
  }

  /* puedes bajar un poco la altura visual */
  .character-card-inner .character-image img {
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border-radius:12px;
  }

  .promo-caption-logo {
    height: 54px;
    padding: 0 8px;
  }

  .promo-caption-logo img {
    /*max-height: 70%;
    max-width: 80%;*/
    
  }
  
  .vc_row .vc_col-sm-3 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }

  .vc_row .vc_col-sm-3 > .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

.index-99{
  z-index: -1;
}


.wpcf7-not-valid-tip{
display:block !important;
color:#ff4d4f !important;
font-size:14px !important;
margin-top:6px;
}

.wpcf7-response-output{
display:block !important;
margin-top:20px;
padding:12px;
border-radius:6px;
background:#2a2a2a;
color:#fff;
}



.header-logo img,
.logo img {
    max-height: 60px !important;
    height: auto !important;
    width: auto !important;
}

/* Estado base: oculta ambas para evitar parpadeo en carga */
.img-es,
.img-en {
  display: none;
}

/* Español por defecto: cualquier idioma que NO empiece con "en" */
html:not([lang^="en"]) .img-es {
  display: block;
}

/* Inglés: cualquier idioma que empiece con "en" (en, en-US, en-GB…) */
html[lang^="en"] .img-en {
  display: block;
}

/* Español por defecto: cualquier idioma que NO empiece con "en" */
html:not([lang^="en"]) .policy-es {
  display: block;
}

/* Inglés: cualquier idioma que empiece con "en" (en, en-US, en-GB…) */
html[lang^="es"] .policy-en {
  display: block;
}