/*
Theme Name:   Movedo Child
Theme URI:    http://themeforest.net/user/greatives
Description:  Movedo Child Theme
Version:      3.5.4
Author:       Greatives Team
Author URI:   http://greatives.eu
Template:     movedo
*/
:root {
  --color-principal: #e71321; /* rojo principal */
  --color-secundario: #ef3742; /* rojo claro */
  --color-terciario: #8b1312; /* rojo oscuro */
  --color-white: #fff;
  --color-black: #000;
  --color-gris-boton: #737373;
  --color-gris-claro: #f7f7f5;
  --color-gris-medio: #bbb;
  --color-gris-oscuro: #d8d8d8;
  --color-gris-label: #605f5f;
  --color-gris-fondo: #f7f7f5;
}

html {
	font-size: 16px;
}
a:focus,
form input:focus,
form select:focus,
form button:focus {
  outline-style: dotted!important; /* Tipo de borde punteado */
  outline-color: var(--color-principal)!important;    /* Color del borde */
  outline-width: 2px!important;     /* Grosor del borde */
}
#grve-page-title .grve-title,
#grve-blog-title .grve-title,
#grve-search-page-title .grve-title {
  margin: 0;
}
h2, .grve-h2 {
  margin: 0 0 .5rem;
}
h3, .grve-h3 {
  color: var(--color-principal);
  font-size: 1.125rem;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.56;
  letter-spacing: normal;
  margin: 0;
}
h4, .grve-h4 {
  color: var(--color-principal);
  font-size: 1rem;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  margin: 0;
}
p {
  margin-bottom: 1rem;
}
ul li {
  font-size: 1rem;
  line-height: 21px;
  margin: 0.875rem 0;
}
li::marker {
  color: var(--color-secundario);
}
.grve-carousel .owl-dots {
    margin-top: 1.563rem;
  }
.owl-dots .owl-dot span,
.owl-dots .owl-dot span:hover {
  background-color: rgba(0,0,0,0.3);
  border: 0!important;
  border-radius: 99px;
  height: 3px;
  margin: 0 0.438rem;
  opacity: 1;
  width: 43.5px;
  }
  .owl-dots .owl-dot.active span {
     background-color: var(--color-secundario)!important;
     height: 5px;
  }
#grve-theme-wrapper .grve-extra-round {
  font-size: 1rem!important;
  font-weight: 500!important;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.938rem!important;
  letter-spacing: normal;
  padding: 0.2rem 2.5rem;
  text-align: center;
  text-transform: none;
}
#grve-theme-wrapper .grve-bg-primary-1 {
  background-color: transparent!important;
  border: 1px solid var(--color-principal)!important;
  color: var(--color-principal)!important;
  }
  #grve-theme-wrapper .grve-bg-primary-1:hover {
    background-color: var(--color-principal)!important;
    border: 1px solid var(--color-principal)!important;
    color: var(--color-white)!important;
  }
#grve-theme-wrapper .btn-border-black {
  border: 1px solid var(--color-black);
  color: var(--color-black);
  }
  #grve-theme-wrapper .btn-border-black:hover {
    border: 1px solid var(--color-principal);
    color: var(--color-white);
    }
.box-grey {
  box-shadow: 0 5px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: var(--color-gris-claro);
  padding: 2rem 2.95rem;
}
.grve-box.box-grey .grve-media {
  margin: 0;
}
.grve-box.box-grey .grve-image-hover {
  min-height: 12.25rem;
  justify-content: center;
  align-items: center;
  display: flex;
  }
  .grve-box .grve-media img {
    margin: 0 auto;
    width: auto;
  }
  .grve-box.box-grey .grve-box-content .grve-box-title {
    margin: 1rem 0 0.5rem;
  }

/* Header */
#grve-top-bar ul.grve-right-side li.grve-topbar-item p a {
  padding: 4px 12px 2px 14px;
  border-radius: 13px;
  border: solid 1px var(--color-white);
  }
  #grve-top-bar ul.grve-right-side li.grve-topbar-item p a:hover {
    color: var(--color-principal);
    background-color: var(--color-white);
  }
  #grve-top-bar ul.grve-right-side {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
#grve-top-bar ul.grve-left-side li p a {
  display: inline-block;
  padding-right: 1rem;
}
#grve-main-header .grve-logo .grve-wrapper {
  transform: translate(0, -50%);
  }
  #grve-main-header .grve-logo .grve-wrapper img {
    top: 0;
  }
#grve-top-bar ul li,
#grve-header .grve-horizontal-menu ul.grve-menu li {
  margin: 0;
}
#grve-header .grve-horizontal-menu.grve-position-right ul.grve-menu > li > a {
  padding: 0 1rem;
}



.banda-proyectos .grve-image-text.grve-layout-1 .grve-image {
  width: 100%;
}
.banda-proyectos .grve-image-text {
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  position: relative;
  }
  .banda-proyectos .grve-image-text .grve-content {
    bottom: 20px;
    left: 24px;
    padding: 0!important;
    position: absolute;
  }
  .banda-proyectos .grve-image-text .grve-content h3 {
    color: var(--color-white);
    font-weight: normal;
    line-height: 1.2rem;
    margin: 0;
    }
    .banda-proyectos .grve-image-text .grve-content h3 strong {
      display: block;
      font-weight: bold;
    }
.banda-contadores .grve-counter .grve-counter-title {
  color: var(--color-white);
  font-weight: normal;
}
.banda-contadores .grve-counter .grve-counter-item {
  display: inline-block;
  position: relative;
  }
  .banda-contadores .grve-counter .grve-counter-item::before {
    content: "+";
    font-size: 4.5rem;
    font-weight: normal;
    left: -3rem;
    position: absolute;
    top: 0;
  }
.banda-contadores .grve-column-1-3:last-child .grve-counter-item::before {
  content: none;
  }
  .banda-contadores .grve-column-1-3:last-child .grve-counter-item::after {
    content: "%";
    font-size: 4.5rem;
    font-weight: normal;
    right: -3.5rem;
    position: absolute;
    top: 0;
  }
.banda-logos .grve-element p {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  }

/* Interiores */
.listado-evolucion {
  list-style: none;
  }
  .listado-evolucion li {
    padding: .85rem 0 1rem 5rem;
    position: relative;
  }
  .listado-evolucion li img {
    left: 9px;
    position: absolute;
    top: 9px;
    }
    .listado-evolucion li:nth-child(2) img {
      left: 9px;
      position: absolute;
      top: 13px;
    }
  .listado-evolucion li::before {
    background: url('/wp_algama/wp-content/uploads/2026/03/ICON_HOY.png') 0 0 no-repeat;
    content: "";
    left: 0;
    height: 47px;
    position: absolute;
    top: 0;
    width: 67px;
  }
  .listado-evolucion li::after {
    background-color: var(--color-principal);
    content: "";
    left: 22px;
    height: 40px;
    position: absolute;
    bottom: -14px;
    width: 1px;
  }
  .listado-evolucion li:last-child::after {
    content: none;
  }
  .listado-evolucion li strong {
    display: block;
  }
.grve-box-icon.grve-top-icon .grve-box-title-wrapper {
  margin-bottom: 0;
  }
  .box-border .grve-box-icon.grve-top-icon .grve-box-title-wrapper h3 {
    color: var(--color-principal);
  }

.grve-box-content .grve-box-title.grve-h3 {
  color: var(--color-black);
}
.banda-cajas-img-text .grve-row.grve-columns-gap-30 .grve-column-1-3 {
  padding-left: 5rem;
  padding-right: 5rem;
}
.banda-cajas-img-text .grve-counter .grve-counter-item {
  margin: 0;
  }
  .banda-cajas-img-text .grve-counter .grve-counter-item span {
    position: relative;
    }
    .banda-cajas-img-text .grve-counter .grve-counter-item span::before {
      content: "+";
      color: var(--color-secundario);
      font-size: 80px;
      font-weight: normal;
      font-stretch: normal;
      font-style: normal;
      line-height: 0.39;
      letter-spacing: normal;
      height: 0;
      left: -3.5rem;
      position: absolute;
      top: 2.2rem;
      width: 0;
    }
  .banda-cajas-img-text .grve-counter .grve-counter-title {
    color: var(--color-black);
    font-weight: normal;
    line-height: normal;
    }
    .banda-cajas-img-text .grve-counter .grve-counter-title strong {
      display: block;
      font-weight: bold;
      }
/* Formulario */
/* form contacto */
#grve-theme-wrapper .form-contacto .gform_fields {
  row-gap: 0!important;
}
#grve-theme-wrapper .form-contacto .gform-grid-col,
#grve-theme-wrapper .wppb-user-forms .wppb-form-field {
  position: relative;
  margin-bottom: 0;
}
#grve-theme-wrapper .wppb-user-forms .wppb-form-field {
  padding: 1rem 0 0 2px;
}

/* Estilo base del input (incluir textarea y select) */
#grve-theme-wrapper .form-contacto .gform-grid-col input,
#grve-theme-wrapper .form-contacto .gform-grid-col textarea,
#grve-theme-wrapper .form-contacto .gform-grid-col select,
#grve-theme-wrapper .wppb-user-forms .wppb-form-field input,
#grve-theme-wrapper .wppb-user-forms .wppb-form-field textarea,
#grve-theme-wrapper .wppb-user-forms .wppb-form-field select {
  border: none;
  border-bottom: 1px solid var(--color-gris-label);
  box-shadow: none;
  color: var(--color-gris-label);
  font-size: 1rem;
  padding: 10px 0 5px;
  background: transparent;
  transition: border-color 0.2s ease;
  width: 100%;
}
#grve-theme-wrapper .form-contacto .gform-grid-col textarea,
#grve-theme-wrapper .wppb-user-forms .wppb-form-field textarea {
  margin: 0;
}

/* Quitar spinners en inputs number para mejorar UX */
#grve-theme-wrapper .form-contacto .gform-grid-col input[type="number"]::-webkit-outer-spin-button,
#grve-theme-wrapper .form-contacto .gform-grid-col input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}
#grve-theme-wrapper .form-contacto .gform-grid-col input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}
#grve-theme-wrapper .form-contacto .gfield.gfield--type-consent input {
  border: 1px solid var(--color-gris-label);
  padding: 0;
}
#grve-theme-wrapper .form-contacto .gform-grid-col input:focus {
  outline: none;
  border-bottom: 2px solid #0073aa; /* color al enfocar */
}
#grve-content .form-contacto  div.ginput_complex {
  display: flex;
  justify-content: space-between;
  }
  #grve-content .form-contacto  div.ginput_complex .gf_clear.gf_clear_complex {
    display: none;
  }
  #grve-theme-wrapper .form-contacto div.ginput_complex .gform-grid-col {
    max-width: 40%;
  }
/* Label flotante */
#grve-theme-wrapper .form-contacto .gform-field-label,
#grve-theme-wrapper .form-contacto .gfield_description,
#grve-theme-wrapper .wppb-user-forms .wppb-form-field label {
  position: absolute;
  top: 8px;
  left: auto;
  font-size: 1rem;
  font-weight: normal;
  color: var(--color-gris-label);
  pointer-events: none;
  transition: all 0.2s ease;
  width: 100%!important;
  z-index: 1;
}
#grve-theme-wrapper .form-contacto .gform-field-label.gfield_consent_label {
  position: relative;
  margin: 0;
  padding: 0;
  top: 0;
}
#grve-theme-wrapper .form-contacto .gfield.gfield--type-consent,
#grve-theme-wrapper .form-contacto .gfield--type-radio  {
  position: relative;
}
#grve-theme-wrapper .wppb-user-forms .wppb-form-field.login-remember {
  margin-bottom: 1.5rem;
  }
  #grve-theme-wrapper .wppb-user-forms .wppb-form-field.login-remember label {
    margin: 0;
    top: 0;
  }
#grve-theme-wrapper .wppb-user-forms .wppb-form-field input[type="checkbox"] {
  width: auto;
}
#grve-theme-wrapper .form-contacto .gfield .gfield_description,
#grve-theme-wrapper .form-contacto .gfield.gfield--type-consent .gfield_label,
#grve-theme-wrapper .form-contacto .gfield--type-radio .gform-field-label,
#grve-theme-wrapper .wppb-user-forms .login-remember label {
  display: inline-block;
  line-height: normal;
  font-size: .8rem;
  margin: .35rem 0 0.75rem 0;
  position: relative;
}
#grve-theme-wrapper .form-contacto .ginput_container_radio .gfield_radio {
  display: flex;
  }
  #grve-theme-wrapper .form-contacto .ginput_container_radio .gfield_radio .gchoice {
    margin-right: 1rem;
    }
#grve-theme-wrapper .form-contacto .gfield--type-radio .gform-field-label {
  margin-top: 0;
}
#grve-theme-wrapper .form-contacto .gfield--type-radio .gfield_description {
  margin: 1rem 0;
  padding: 0;
}
#grve-theme-wrapper .form-contacto .gfield .gfield_description.ginput_counter {
  margin: 0 0 2rem;
  padding: 0;
}
#grve-theme-wrapper .form-contacto .gfield.gfield--type-consent .gfield_label {
  margin: 0;
  padding-left: 0.5rem;
}
#grve-theme-wrapper .form-contacto .gfield--type-radio .gfield_label {
  display: none;
}
/* Cuando el campo está enfocado o tiene contenido (clases en .gform-grid-col añadidas por JS) */
#grve-theme-wrapper .form-contacto .gform-grid-col.has-focus .gform-field-label,
#grve-theme-wrapper .form-contacto .gfield.has-focus .gfield_description,
#grve-theme-wrapper .wppb-user-forms .wppb-form-field.has-focus label {
  left: 0;
  top: -18px;
  font-size: 12px;
  color: var(--color-gris-label);
  background: var(--color-white);
  padding: 0 4px;
  z-index: 2;
}
#grve-theme-wrapper .wppb-user-forms .wppb-form-field.has-focus label {
  top: -2px;
}


#grve-theme-wrapper .form-contacto input[type=submit].gform_button.button,
#grve-theme-wrapper .wppb-user-forms .form-submit input[type=submit].button {
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
  border-radius: 22px;
  color: var(--color-black);
  font-size: 1rem!important;
  font-weight: 500!important;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.938rem!important;
  letter-spacing: normal;
  padding: 0.2rem 2.5rem;
  text-align: center;
  text-transform: none;
  }
  #grve-theme-wrapper .form-contacto input[type=submit].gform_button.button:hover,
  #grve-theme-wrapper .wppb-user-forms .form-submit input[type=submit].button:hover {
    background-color: var(--color-principal);
    border: 1px solid var(--color-principal);
    color: var(--color-white);
  }
/* Form proyecto */
#grve-theme-wrapper .banda-formulario .grve-column-1-2:first-child {
  margin-top: -3rem;
  position: relative;
}
#grve-theme-wrapper .banda-formulario .grve-element.grve-text {
  font-style: italic;
  margin-bottom: 1rem;
}
#grve-theme-wrapper .banda-formulario form label,
#grve-theme-wrapper .banda-formulario form legend,
#grve-content .banda-formulario form span:not(.grve-heading-color) {
  color: var(--color-white);
  font-size: 0.875rem;
  margin: 0;
}
#grve-theme-wrapper .banda-formulario form input,
#grve-theme-wrapper .banda-formulario form textarea {
  background-color: var(--color-white);
  border-radius: 8px;
  margin-bottom: 0;
  padding: 0.5rem 1rem;
}
#grve-theme-wrapper .banda-formulario form textarea {
    max-height: 3rem;
  }
#grve-theme-wrapper .banda-formulario form input::placeholder,
#grve-theme-wrapper .banda-formulario form textarea::placeholder {
  color: var(--color-black);
}
#grve-theme-wrapper .banda-formulario form .gform-field-label--type-sub,
#grve-theme-wrapper .banda-formulario form .gfield_description {
  display: none;
}
#grve-theme-wrapper .banda-formulario .gform-footer {
    padding: 0.875rem 0;
}
#grve-theme-wrapper .banda-formulario input[type='submit']:not(.grve-custom-btn) {
  background-color: transparent;
  border-radius: 22px!important;
  border: solid 1px var(--color-white);
  font-family: 'Poppins';
  font-size: 18px!important;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.72;
  letter-spacing: normal;
  padding: .35rem 3.45rem;
  text-transform: none;
  text-align: center;
}
#grve-theme-wrapper .banda-formulario input[type='submit']:not(.grve-custom-btn):hover {
  background-color: var(--color-white);
  color: var(--color-principal);
}

/* Servicios */
.fila-inicial-servicios .box-servicio:nth-child(2n+2),
.fila-inicial-servicios .box-servicio:nth-child(2n+3) {
  margin-top: 0!important;
}
.box-servicio:nth-child(2n+2) {
  position: relative;
  margin-top: -3.5rem;
}
.box-servicio:nth-child(2n+3) {
  position: relative;
  margin-top: -2.25rem;
}
.fila-segunda-servicios .box-servicio:nth-child(2n+2) {
  margin-top: -2.5rem;
}
.fila-segunda-servicios .box-servicio:nth-child(2n+3) {
  margin-top: -1.25rem;
}
.box-servicio .grve-column-wrapper {
  background-color: var(--color-gris-claro);
  box-shadow: 0 5px 6px 0 rgba(0, 0, 0, 0.16);
  }
  .box-servicio .grve-column-wrapper .grve-image {
    margin-bottom: 1.563rem;
  }
  .box-servicio .grve-column-wrapper .grve-h3 {
    color: var(--color-black);
    line-height: 1.25rem;
    padding: 0 1.813rem 0.35rem 2rem;
  }
  .box-servicio .grve-column-wrapper .grve-h4 {
    color: var(--color-principal);
    padding: 0 1.813rem 0 2rem;
  }
  .box-servicio .grve-element.grve-text {
    font-size: 0.875rem;
    padding: 0 1.813rem 1.688rem 2rem;
  }


/** Footer **/
#grve-bottom-bar .grve-row-inner:first-child .grve-column-inner:first-child {
  padding-left: 0;
}
#grve-bottom-bar .grve-row-inner:first-child .grve-column-inner:last-child {
  padding-right: 0;
}
#grve-bottom-bar .grve-row-inner:first-child .grve-column-inner .grve-h5 {
  font-size: 1rem;
  margin: 0 0 0.5rem;
}
#grve-bottom-bar .grve-row-inner .grve-column-inner p {
  font-size: 0.875rem;
  line-height: 1.875rem;
}
#grve-bottom-bar .grve-column-1-2:first-child {
  padding-left: 0;
  width: 40%;
}
#grve-bottom-bar .grve-column-1-2:last-child {
  padding-right: 0;
  width: 60%;
}
#grve-bottom-bar .grve-row-inner:last-child {
  border-top: 1px solid var(--color-black);
  margin-top: 2rem;
  padding-top: 1rem;
}


/*******************/
/**  Responsive  **/
/*******************/
@media (max-width: 767px) {

  #grve-top-bar ul.grve-right-side {
      justify-content: center;
      margin: .5rem 0 0;
  }
  .banda-contadores .grve-column-inner {
    margin: .75rem 0;
  }
  .banda-contadores .grve-counter .grve-counter-item::before {
    font-size: 2.5rem;
    left: -2rem;
    top: -5px;
  }
  .banda-contadores .grve-column-1-3:last-child .grve-counter-item::after {
      font-size: 2rem;
      right: -2rem;
      top: -2px;
  }
  .banda-proyectos .grve-image-text.grve-layout-1 .grve-image {
    margin-bottom: auto;
  }
  .box-servicio:nth-child(2n+2),
  .box-servicio:nth-child(2n+3),
  .fila-segunda-servicios .box-servicio:nth-child(2n+2),
  .fila-segunda-servicios .box-servicio:nth-child(2n+3) {
    margin-top: 0;
  }
  .box-servicio .grve-image-wrapper {
    width: 100%;
    }
    .box-servicio .grve-image-wrapper img {
      margin: 0;
      width: 100%;
    }
  .box-border,
  .box-grey {
    margin-top: .75rem;
    margin-bottom: .75rem;
  }
  .banda-cajas-img-text .grve-counter .grve-counter-item span::before {
    font-size: 2.5rem;
    left: -2rem;
    top: 1rem;
  }
  #grve-theme-wrapper .banda-formulario .grve-column-1-2:first-child {
    display: none;
  }
  #grve-bottom-bar .grve-column-1-6 {
    padding: 0;
  }
  #grve-bottom-bar .grve-row-inner:first-child .grve-column-inner .grve-h5 {
    font-size: 1rem;
    margin: 1rem 0 0 0;
  }
  #grve-bottom-bar .grve-column-1-2:first-child,
  #grve-bottom-bar .grve-column-1-2:last-child {
    text-align: center;
    width: 100%;
  }
  #grve-bottom-bar .grve-row-inner .grve-column-inner p,
  #grve-bottom-bar .grve-row-inner .grve-align-right {
    text-align: center!important;
  }
}
