/* PASO 1*/
span.destacado-pestana {
  text-transform: uppercase;
  font-family: var(--font-OSM);
  font-size: 115%;
}
#selector-gas {
  border: 0px;
  background: transparent;
  color: #ef7d0c;
  padding: 0px;
}
#selector-producto {
  border: 0px;
  background: transparent;
  color: #ef7d0c;
  padding: 0px;
}

#selector-electricity {
  border: 0px;
  background: transparent;
  color: #ef7d0c;
  padding: 0px;
}

.section__products {
  display: flex;
}
#optimiza_texto {
  display: none;
}
.cuota-fija_price {
  display: block !important;
}

.cuota-fija_price .valor-dato * {
  text-align: left;
  color: var(--color-secundario);
}

#selected-product > div.info-product .cuota-fija_price .valor-dato .precio {
  font-size: 3.2rem;
}

.dfd_address-3 {
  display: none !important;
}

#selected-product
  > div.info-product
  .cuota-fija_price
  .valor-dato
  .precio
  span {
  font-size: 75%;
  font-family: var(--font-OSM);
  color: var(--color-secundario);
}

#selected-product > div.info-product .cuota-fija_price .valor-dato p {
  font-size: 1em;
}

.section__products .section__products-product {
  background-color: #fafafa;
  text-align: center;
  padding: 50px 30px;
  margin: 5px;
  position: relative;
  width: 50%;
}

#selector-gas {
  white-space: break-spaces;
  max-width: 100% !important;
  height: 50px !important;
}
#selector-cristal {
  white-space: break-spaces;
  max-width: 100% !important;
  height: 50px !important;
}

.section__products .section__products-product p {
  margin: 10px 0;
}
select[readonly] {
  pointer-events: none;
}
.section__products .section__products-product .title-product {
  color: var(--e-global-color-primary);
  font-size: 1.6em;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 15px;
  font-family: var(--font-OSM);
}

.title_servicio {
  font-size: 1.25em;
  margin-bottom: 10px;
}

.section__products .section__products-product .type-product {
  font-family: var(--font-OR);
  color: var(--color-secundario);
  margin-bottom: 0;
  font-size: 1.1em;
}

.section__products .section__products-product input[name="product"] {
  position: absolute;
  width: 100%;
  height: 100%;
  appearance: none;
  left: 0;
  top: 0;
  cursor: pointer;
}

.section__products .section__products-product input[name="product"]:checked {
  background-color: rgba(210, 210, 210, 0.215);
}

.section__products .section__products-product .options-product {
  margin-top: 40px;
  display: none;
}

.section__products .section__products-product .options-product select {
  z-index: 9999;
  max-width: 200px;
}

#selectLocalizacion {
  border: 0px;
  background: transparent;
  color: #ef7d0c;
  padding: 0px;
  width: 180px;
  margin-left: auto;
  font-size: 1.1em;
  margin-bottom: 10px;
}
.selectLocalizacion_name {
  width: 180px;
  margin-left: auto;
  text-align: left;
  color: var(--e-global-color-secondary);
  font-weight: bolder;
  font-size: 0.95em;
  font-family: var(--font-OSM);
  margin-bottom: 0px !important;
  padding-left: 5px;
}
#selected-product ul > li {
  margin-top: 10px;
}

.section__products .section__products-product .options-product div {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.section__products .section__products-product .options-product div > span {
  width: 50%;
}

.options-product {
  display: none !important;
}

.section__sva {
  margin-top: 15px;
}

.section__sva label {
  font-size: 1.1em;
  color: black;
}

.section__sva label > a {
  text-decoration: underline;
  margin-left: 5px;
}

.section__sva label > strong {
  color: var(--e-global-color-primary);
}

.section__sva label > input {
  margin-right: 10px;
  height: 15px !important;
  display: inline;
  width: auto !important;
}

.dfd_form.buttons {
  display: flex;
  align-items: center;
  justify-content: end;
  margin-top: 0;
  margin-right: 30px;
}

/* PASO 2 */
#data_user_form .fields {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 15px;
}

#data_user_form .fields .col-6 {
  width: 50%;
}

#data_user_form .check > span {
  color: #999;
  font-size: 0.9em;
  font-style: italic;
}

.dfd_form input:not([type="checkbox"]),
.dfd_form select {
  background-color: #fafafa;
  font-size: 1.1em;
  padding: 15px 25px;
  border: 1px solid #d5d5d5;
  color: #8b8b8b;
  font-family: var(--font-OL);
  margin: 5px;
  height: 55px;
  width: -webkit-fill-available;
}

.dfd_form .check input {
  -webkit-appearance: auto;
}

.dfd_form .check > span {
  margin-left: 5px;
}

.dfd_form .check a {
  color: var(--e-global-color-secondary);
  text-decoration: underline;
}

.dfd_form .separator {
  background-color: var(--e-global-color-primary);
  border: none;
  height: 2px;
  margin: 25px 5px;
}

.dfd_form .buttons {
  display: flex;
  align-items: center;
  justify-content: end;
  margin-top: 80px;
  margin-right: 20px;
}

.dfd_form .buttons > a {
  margin-right: 30px;
  color: var(--e-global-color-secondary);
  font-size: 1.2em;
}

.dfd_terminos_condiciones {
  color: #4e4e4e;
  font-size: 12px;
  padding: 10px;
}
.dfd_terminos_condiciones a {
  color: #4e4e4e !important;
  text-decoration: underline !important;
}

/* PASO 3*/
#cups_form .address {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

#cups_form .col-3 {
  width: 33.3%;
}
#cups_form .col-6 {
  width: 66.6%;
}
/* #cups_form .address>input,
#cups_form .address>select {
  width: 32%;
} */

/* #cups_form .address>input:first-of-type {
  width: 64%;
} */

#cups_form input:not([type="checkbox"]),
#cups_form select {
  width: -webkit-fill-available;
}

#cups_form .check {
  margin: 10px 0;
}

#cups_form .check span {
  color: black !important;
}

.dfd_catastral_reference {
  display: flex !important;
}

.dfd_catastral_reference > p {
  color: #ef7d0c !important;
  font-size: 14px !important;
  font-style: italic !important;
}
.dfd_catastral_reference > img {
  margin-right: 10px !important;
  padding: 6px 10px 8px 8px !important;
  height: 61px !important;
  width: auto !important;
}

/* PASO 4 */
/* Datos*/
.show_data {
  display: flex;
  flex-wrap: wrap;
}

.show_data > div {
  width: 50%;
}

.show_data > div > p {
  padding: 10px 25px;
  border: 1px solid #d5d5d5;
  background-color: #fafafa;
  border-radius: 3px;
  font-weight: bolder;
  color: #4e4e4e;
  font-size: 0.95em;
  margin: 5px;
}

/* IBAN*/
#iban_form .fields {
  display: flex;
}

#iban_form .fields input {
  width: -webkit-fill-available;
}
#iban_form .check:first-of-type {
  margin-top: 20px;
}
#iban_form .check > span {
  color: #999;
  font-size: 0.9em;
  margin-left: 5px;
}

#iban_form .check > span a {
  color: var(--e-global-color-primary);
}

#iban_form input {
  padding: 15px 10px;
}

#iban_form .iban {
  width: 12.5%;
}

#iban_form .iban_num {
  width: 50%;
}

/* DFDMOD 22/07/2025: modificación responsive */
@media (max-width: 768px) {

  #iban_form .fields {
    display: flex;
    flex-direction: column !important;
  }
  
  #iban_form .iban {
    width: 100% !important;
  }
}
/* END DFDMOD */

/* Información del producto seleccionado*/
#selected-product {
  background-color: #f7f7f7;
  padding: 30px;
}

#selected-product > p {
  color: var(--e-global-color-primary);
  font-weight: 600;
}

#selected-product > div.header > p:first-child {
  color: var(--e-global-color-secondary);
  font-size: 1.4em;
  font-weight: bolder;
  margin-bottom: -5px;
}

#selected-product > div.header .name-product {
  color: var(--e-global-color-primary);
  font-weight: bolder;
  font-size: 2em;
  padding-bottom: 20px;
  border-bottom: 1px solid #ebebeb;
  margin-bottom: 0;
  font-family: var(--font-OSM);
  text-transform: uppercase;
}

#selected-product > div.info-product {
  margin-bottom: 25px;
}

#selected-product > div.info-product > div {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #ebebeb;
}

#selected-product > div.info-product .product-text {
  color: var(--e-global-color-secondary);
}

#selected-product > div.info-product .product-text span {
  font-family: var(--font-OL);
  font-weight: 100;
  font-size: 0.9em;
}

#selected-product > div.info-product p {
  margin: 20px 0;
  font-weight: bolder;
  font-size: 1.2em;
  font-family: var(--font-OSM);
  color: var(--e-global-color-primary);
}
.condiciones-a {
  display: flex;
  align-items: center;
}
.condiciones-a i {
  margin-right: 10px;
}

.dfd_acpt_d_inmediate {
  color: var(--color-secundario);
  font-weight: bold;
}
.dfd_acpt_d {
  color: black !important;
}
/* --------------------------------

xpopup

-------------------------------- */
.cd-popup {
  z-index: 999;
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(94, 110, 141, 0.9);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s 0s, visibility 0s 0.3s;
  -moz-transition: opacity 0.3s 0s, visibility 0s 0.3s;
  transition: opacity 0.3s 0s, visibility 0s 0.3s;
}
.cd-popup.is-visible {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.3s 0s, visibility 0s 0s;
  -moz-transition: opacity 0.3s 0s, visibility 0s 0s;
  transition: opacity 0.3s 0s, visibility 0s 0s;
}

.cd-popup-container {
  position: relative;
  width: 90%;
  max-width: 445px;
  margin: 4em auto;
  background: #fff;
  border-radius: 0.25em 0.25em 0.4em 0.4em;
  text-align: center;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateY(-40px);
  -moz-transform: translateY(-40px);
  -ms-transform: translateY(-40px);
  -o-transform: translateY(-40px);
  transform: translateY(-40px);
  /* Force Hardware Acceleration in WebKit */
  -webkit-backface-visibility: hidden;
  -webkit-transition-property: -webkit-transform;
  -moz-transition-property: -moz-transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  transition-duration: 0.3s;
}

/* .cd-popup-container p {
  padding: 3em 1em;
} */

.cd-popup-container p.text-content-normal {
  padding: 3em 1em;
}

.cd-popup-container p.text-content-small {
  padding: 2em 1em;
}

.cd-popup-container .cd-buttons:after {
  content: "";
  display: table;
  clear: both;
}
.cd-popup-container .cd-buttons li {
  float: left;
  width: 100%;
  list-style: none;
}
.cd-popup-container .cd-buttons a {
  display: block;
  height: 60px;
  line-height: 60px;
  text-transform: uppercase;
  color: #fff;
  -webkit-transition: background-color 0.2s;
  -moz-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
.cd-popup-container .cd-buttons li:first-child a {
  background: var(--color-principal);
  border-radius: 0 0 0 0.25em;
}
.no-touch .cd-popup-container .cd-buttons li:first-child a:hover {
  width: 100%;
  background-color: var(--color-principal);
}
.cd-popup-container .cd-buttons li:last-child a {
  width: 100%;
  background: var(--color-principal);
  border-radius: 0 0 0.25em 0;
}
.no-touch .cd-popup-container .cd-buttons li:last-child a:hover {
  width: 100%;
  background-color: var(--color-principal);
}
.cd-popup-container .cd-popup-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 30px;
  height: 30px;
}
.cd-popup-container .cd-popup-close::before,
.cd-popup-container .cd-popup-close::after {
  content: "";
  position: absolute;
  top: 12px;
  width: 14px;
  height: 3px;
  background-color: #8f9cb5;
}
.cd-popup-container .cd-popup-close::before {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  left: 8px;
}
.cd-popup-container .cd-popup-close::after {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  right: 8px;
}
.is-visible .cd-popup-container {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}

.destacado {
  color: #ef7d0c;
}

/* The switch - the box around the slider */
.switch {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 19px;
  top: 3px;
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 11px;
  width: 11px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

input:checked + .slider {
  background-color: var(--color-principal);
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196f3;
}

input:checked + .slider:before {
  -webkit-transform: translateX(21px);
  -ms-transform: translateX(21px);
  transform: translateX(21px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 17px;
}

.slider.round:before {
  border-radius: 50%;
}

.lds-dual-ring {
  display: inline-block;
  width: 80px;
  height: 80px;
}
.lds-dual-ring:after {
  content: " ";
  display: block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  border: 6px solid #fff;
  border-color: #fff transparent #fff transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.loader {
  margin: auto;
  border: 4px solid #eaf0f6;
  border-radius: 50%;
  border-top: 4px solid var(--color-principal);
  width: 40px;
  height: 40px;
  animation: spinner 4s linear infinite;
}

@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@media only screen and (min-width: 1170px) {
  .cd-popup-container {
    margin: 8em auto;
  }
}

/* Cambios Difadi */
.section__products {
  padding: 0 !important;
}
.elementor-element-19524bb .section__products {
  /*flex-wrap: wrap;*/
}
.elementor-element-19524bb .section__products .section__products-product {
  flex: initial !important;
  width: calc(50% - 0.5em);
}

@media (max-width: 1280px) {
  .section__products {
    flex-wrap: wrap;
  }
  .section__products .section__products-product {
    flex: initial !important;
    width: calc(50% - 0.5em);
  }
}

@media (max-width: 768px) {
  .section__products .section__products-product {
    width: 100%;
  }
}
span.promotion_yellow_box {
  /* display: none; */
  padding: 10px;
  background-color: lightgoldenrodyellow;
  float: right;
  text-align: center;
}
.section__sva label:has( input[ type="checkbox" ]:checked ) ~ span.promotion_yellow_box {
  display: none;
}

.tooltip {
  font-size: 1rem;
  display: inline-block;
  border-bottom: 1px dotted black;
}

.tooltip .tooltiptext {
  visibility: hidden;
  color: black;
  background-color: #dddddd;
  padding: 5px 5px;
  border-radius: 6px;
  position: absolute;
  z-index: 1;
  border-color: #4e4e4e;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
}

.radioTarifa {
  display: none;
}

.labelTarifa {
  display: inline-block;
  position: relative;
  padding-left: 25px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 1.15em;
  user-select: none;
  color: black;
  margin-right: 10px !important;
}

/* Estilos para el checkmark */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: #eee;
  border-radius: 4px;
}

/* Cuando el contenedor se ha marcado */
.radioTarifa:checked + .labelTarifa .checkmark {
  background-color: #eee;
}

/* Crear el checkmark: después del contenedor */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Mostrar el checkmark cuando está seleccionado */
.radioTarifa:checked + .labelTarifa .checkmark:after {
  display: block;
}

/* Estilo del checkmark */
.labelTarifa .checkmark:after {
  left: 7px;
  top: 5px;
  width: 6px;
  height: 9px;
  border: solid orange;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}

.fixedTermMonth, .fixedTermDay{
  margin-bottom: 2px !important;
}

.fixedTerm-div{
  margin: 10px 0px;
}

.dfd-freelance {
  margin-top: 1em;
  margin-left: 1em;    
  vertical-align: top !important;
}

.dfd-freelance > input[type="checkbox"]
{
  width:20px;
  height:20px;
  border: 5px var(--e-global-color-primary) !important;
  border-radius: 0 !important;
}

.dfd-freelance > label > span
{
  color: var(--e-global-color-primary);
}
.dfd-freelance > label
{
  vertical-align: top !important;
  color:  var(--color-secundario);
}

.dfd-main-residence > input[type="checkbox"]
{
  margin-top: 10px;
  margin-left: 5px;
}

.dfd-main-residence > input[type="checkbox"]
{
  width:14px;
  height:14px;
  border: 5px var(--e-global-color-primary) !important;
  border-radius: 0 !important;
}

.dfd-main-residence > label > span
{
  font-size: 14px;
  color: var(--e-global-color-primary);
}
/* /Cambios Difadi */