/*
Theme Name: Hello Elementor Child
Theme URI: https://www.solucionweb.com/
Description: Tema hijo personalizado para Hello Elementor con login privado, reglas de acceso, botones flotantes configurables, WhatsApp, shortcodes básicos administrables y seguridad antispam para formularios.
Author: Solución Web
Author URI: https://www.solucionweb.com/
Template: hello-elementor
Version: 2.4.8
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: custom-login, translation-ready, elementor, child-theme
*/

/* ---------- Generales ---------- */
html, body{
	overflow-x: hidden;
}

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

.margin-top-auto{
	margin-top: auto;
}

/* Párrafos */
.p-no-bottom p:last-child{
	margin-bottom: 0;
}

.p-no-bottom-all p{
	margin-bottom: 0;
}


/* Botón */
.btn-icon-red svg{
	fill: var(--e-global-color-primary);
}

/* Tabla */
#tabla-comparacion > div > table{
	border-radius: 20px;
}

#tabla-comparacion > div > table > thead > tr > th.elementor-inline-editing.elementor-repeater-item-f3cf4b7{
	background-color: var(--e-global-color-primary);
	color: #fff;
}

#tabla-comparacion > div > table > tbody > tr > td:nth-child(2){
	background-color: #fff2f3;
}

#tabla-comparacion > div > table > tbody > tr:nth-child(3) > td.elementor-repeater-item-5652d21.td-content-type-default,
#tabla-comparacion > div > table > tbody > tr > td:first-child{
	font-weight: 700;
}

@media (max-width: 767px) {
  #tabla-comparacion,
  #tabla-comparacion .elementor-widget-container {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }

  #tabla-comparacion table {
    width: 1100px !important;
    min-width: 1100px !important;
    table-layout: fixed !important;
  }

  #tabla-comparacion th:nth-child(1),
  #tabla-comparacion td:nth-child(1) {
    width: 220px !important;
    min-width: 220px !important;
  }

  #tabla-comparacion th:nth-child(n+2),
  #tabla-comparacion td:nth-child(n+2) {
    width: 290px !important;
    min-width: 290px !important;
  }

  #tabla-comparacion th,
  #tabla-comparacion td {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
}


/* ----- Header ----- */
@media (max-width: 1024px){
	.elementor-element-d6e5abe .e-n-menu-wrapper{
		box-sizing: border-box;
		max-height: calc(100vh - 49px);
		overflow-y: auto;
		background-color: #111214 !important;
		padding: 12px 18px 18px;
		border-radius: 0 0 20px 20px;
		box-shadow: 0 18px 40px rgba(17,18,20,.18);
	}
	.elementor-element-d6e5abe .e-n-menu-heading{
		display: flex;
		flex-direction: column;
		width: 100% !important;
		gap: 0;
	}
	.elementor-element-d6e5abe .e-n-menu-item{
		width: 100% !important;
		border-bottom: 1px solid rgba(222,222,222,.18);
	}
	.elementor-element-d6e5abe .e-n-menu-title{
		box-sizing: border-box;
		width: 100% !important;
		min-height: 48px;
		background: transparent !important;
	}
	.elementor-element-d6e5abe .e-n-menu-title-container{
		padding: 14px 0 !important;
		color: #DEDEDE !important;
	}
	.elementor-element-d6e5abe .e-n-menu-dropdown-icon{
		color: #DEDEDE !important;
	}
	.elementor-element-d6e5abe .e-n-menu-content{
		position: static !important;
		width: 100% !important;
		transform: none !important;
	}
	.elementor-element-d6e5abe .elementor-element-14d0375,
	.elementor-element-d6e5abe .elementor-element-efe1197{
		width: 100% !important;
		margin: 0 0 12px;
		padding: 18px 20px;
		border-radius: 14px;
	}
}

@media (max-width: 767px){
	.btn-header svg{
		display: none;
	}
}



/* ---------- Home ---------- */
.icon-box-vertical-center{
	display: flex;
	flex-direction: column;
	justify-content: center;
}


/* Líneas plotedas steps */
@media (min-width: 1025px){
	.cont-step::after{
		content: "";
		position: absolute;
		top: 74px;
		right: -24%;
		width: 48%;
		border-top: 2px dotted #aaa;
	}
}

/* Botones hero */
.btn-vehiculo.elementor-widget-button .elementor-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    padding: 20px 58px 20px 20px;
    border: 1px solid #c9c9c9;
    border-radius: 14px;
    background: #fff;
    color: #111;
    transition: border-color .2s ease, background-color .2s ease;
}

.btn-vehiculo.elementor-widget-button .elementor-button-content-wrapper {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
}

.btn-vehiculo.elementor-widget-button .elementor-button-icon {
    display: flex;
    width: 20px;
    flex: 0 0 20px;
}

.btn-vehiculo.elementor-widget-button .elementor-button-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.btn-vehiculo.elementor-widget-button .elementor-button::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: 20px;
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border: 2px solid #bcbcbc;
    border-radius: 50%;
    color: #ed1c24;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-50%);
    transition: border-color .2s ease;
}

.btn-vehiculo.elementor-widget-button .elementor-button:hover,
.btn-vehiculo.elementor-widget-button .elementor-button:focus-visible {
    border-color: #ed1c24;
    background: #fff2f3;
    color: #111;
}

.btn-vehiculo.elementor-widget-button .elementor-button:hover::after,
.btn-vehiculo.elementor-widget-button .elementor-button:focus-visible::after {
    border-color: #ed1c24;
}


/* Formulario */
span.texto-descriptivo{
	color: var(--e-global-color-text);
	font-size: 0.7rem;
	text-align: center;
	font-weight: 400;
	font-family: "Inter";
	width: 100%;
}

span.paso{
	color: var(--e-global-color-primary);
	text-transform: uppercase;
	font-size: 0.8rem;
	font-weight: 700;
	font-family: "Inter";
}


#form-cotizacion .e-form__indicators--type-progress_bar {
    width: 100%;
    margin-bottom: 28px;
}

#form-cotizacion .e-form__indicators__indicator {
    width: 100%;
}

#form-cotizacion .e-form__indicators__indicator__label {
    display: none !important;
}

#form-cotizacion .e-form__indicators__indicator__progress {
    position: relative;
    height: 5px;
    overflow: hidden;
    border-radius: 20px;
    background: #e7e7e7;
}

#form-cotizacion .e-form__indicators__indicator__progress::before,
#form-cotizacion .e-form__indicators__indicator__progress::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    width: 14px;
    background: #fff;
}

#form-cotizacion .e-form__indicators__indicator__progress::before {
    left: calc(33.333% - 7px);
}

#form-cotizacion .e-form__indicators__indicator__progress::after {
    left: calc(66.666% - 7px);
}

#form-cotizacion .e-form__indicators__indicator__progress__meter {
    height: 100%;
    border-radius: 20px;
    background: #ed1c24;
    color: transparent !important;
    font-size: 0 !important;
}

#form-cotizacion .elementor-field-group-cantidad_vehiculos .elementor-field-subgroup {
    display: grid;
    gap: 14px;
    width: 100%;
}

#form-cotizacion .elementor-field-group-cantidad_vehiculos .elementor-field-option {
    position: relative;
    display: block;
    width: 100%;
}

#form-cotizacion .elementor-field-group-cantidad_vehiculos input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    clip-path: inset(50%);
}

#form-cotizacion .elementor-field-group-cantidad_vehiculos .elementor-field-option > label {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 16px;
    width: 100%;
    min-height: 66px;
    margin: 0;
    padding: 20px;
    border: 1px solid #c9c9c9;
    border-radius: 14px;
    background: #fff;
    color: #111;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

#form-cotizacion .elementor-field-group-cantidad_vehiculos .elementor-field-option > label::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3z'/%3E%3Cpath d='M14 9h4l3 3v4h-7z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

#form-cotizacion .elementor-field-group-cantidad_vehiculos .elementor-field-option > label::after {
    content: "";
    width: 22px;
    height: 22px;
    border: 2px solid #b7b7b7;
    border-radius: 50%;
    box-sizing: border-box;
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

#form-cotizacion .elementor-field-group-cantidad_vehiculos .elementor-field-option > label:hover {
    border-color: #ed1c24;
    background: #fff2f3;
    transform: translateX(2px);
}

#form-cotizacion .elementor-field-group-cantidad_vehiculos input[type="radio"]:checked + label {
    border-color: #ed1c24;
    background: #fff2f3;
    transform: translateX(2px);
}

#form-cotizacion .elementor-field-group-cantidad_vehiculos input[type="radio"]:checked + label::after {
    border-color: #ed1c24;
    background: #ed1c24;
    box-shadow: inset 0 0 0 5px #fff;
}

#form-cotizacion .elementor-field-group-cantidad_vehiculos input[type="radio"]:focus-visible + label {
    outline: 3px solid rgb(237 28 36 / 18%);
    outline-offset: 2px;
}

#form-cotizacion .elementor-field-group-tipo_vehiculo > .elementor-field-label {
    width: 100%;
    margin-bottom: 10px;
}

#form-cotizacion .elementor-field-group-tipo_vehiculo .elementor-field-subgroup {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
}

#form-cotizacion .elementor-field-group-tipo_vehiculo .elementor-field-option {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
}

#form-cotizacion .elementor-field-group-tipo_vehiculo .elementor-field-option:nth-child(5) {
    grid-column: 1 / -1;
}

#form-cotizacion .elementor-field-group-tipo_vehiculo input[type="checkbox"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    clip-path: inset(50%);
}

#form-cotizacion .elementor-field-group-tipo_vehiculo .elementor-field-option > label {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 52px;
    margin: 0;
    padding: 13px 16px;
    border: 1px solid #c9c9c9;
    border-radius: 14px;
    background: #fff;
    color: #111;
    font-weight: 600;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

#form-cotizacion .elementor-field-group-tipo_vehiculo .elementor-field-option > label:hover,
#form-cotizacion .elementor-field-group-tipo_vehiculo input[type="checkbox"]:checked + label {
    border-color: #ed1c24;
    background: #fff2f3;
    color: #ed1c24;
    transform: translateX(2px);
}

#form-cotizacion .elementor-field-group-tipo_vehiculo input[type="checkbox"]:focus-visible + label {
    outline: 3px solid rgb(237 28 36 / 18%);
    outline-offset: 2px;
}

#form-cotizacion .elementor-field-textual {
    min-height: 46px;
    padding: 10px 14px;
    border: 1px solid #c9c9c9;
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
    font-size: 16px;
    line-height: 1.2;
    transition: border-color .2s ease, box-shadow .2s ease;
}

#form-cotizacion input.elementor-field-textual {
    height: 46px;
}

#form-cotizacion select.elementor-field-textual {
    height: 46px;
    padding-right: 42px;
}

#form-cotizacion .elementor-field-textual:focus {
    border-color: #ed1c24;
    box-shadow: 0 0 0 4px rgb(237 28 36 / 10%);
    outline: 0;
}

#form-cotizacion .elementor-field-label {
    margin-bottom: 5px;
}

#form-cotizacion .e-form__buttons {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
}

#form-cotizacion .e-form__buttons__wrapper {
    flex: 0 0 auto;
    width: auto;
}

#form-cotizacion .e-form__buttons .elementor-button {
    min-height: 52px;
    padding: 13px 28px;
    border-radius: 999px;
    font-weight: 700;
}

#form-cotizacion .e-form__buttons__wrapper__button-previous {
    border: 1px solid #d8d8d8;
    background: #fff;
    color: #111;
}

#form-cotizacion .e-form__buttons__wrapper__button-next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid #ed1c24;
    background: #ed1c24;
    color: #fff;
}

#form-cotizacion .e-form__buttons__wrapper__button-next::after {
    content: "→";
    color: #fff;
    font-size: 23px;
    font-weight: 400;
    line-height: 1;
}

#form-cotizacion button[type="submit"] {
    border: 1px solid #ed1c24;
    background: #ed1c24;
    color: #fff;
}

#form-cotizacion .e-form__buttons__wrapper__button-next:hover,
#form-cotizacion button[type="submit"]:hover {
    border-color: #cf1219;
    background: #cf1219;
}

@media (max-width: 767px) {
    #form-cotizacion .elementor-field-group-tipo_vehiculo .elementor-field-subgroup {
        grid-template-columns: 1fr;
    }

    #form-cotizacion .elementor-field-group-tipo_vehiculo .elementor-field-option:nth-child(5) {
        grid-column: auto;
    }

    #form-cotizacion .elementor-field-group-cantidad_vehiculos .elementor-field-option > label {
        grid-template-columns: 22px minmax(0, 1fr) 22px;
        gap: 12px;
        padding: 17px;
    }

    #form-cotizacion .e-form__buttons {
        flex-wrap: wrap;
    }
}


/* Filtros color */
.img-000{
	filter: brightness(0) saturate(100%) invert(0%) sepia(100%) saturate(7443%) hue-rotate(271deg) brightness(89%) contrast(90%);
}