 :root {
   /**Colors**/
   --ancho-desktop-forms-modal: 360px;
   --ancho-mobile-forms-modal: 100%;
 }


 /* OCULTAR SPINNER / THROBBER DE AJAX */
 .ajax-progress,
 .ajax-progress-throbber {
   display: none !important;
 }



 /* MODAL – CONTENEDOR GENERAL */
 .ui-dialog {
   border: none !important;
   border-radius: 14px !important;
   box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
   max-width: 640px !important;
   width: 92% !important;
 }

 /* Permitir scroll en modales de webforms */
 .ui-dialog {
   max-height: 90vh !important;
 }

 .ui-dialog-content {
   max-height: calc(90vh - 100px) !important;
   overflow-y: auto !important;
   overflow-x: hidden !important;
 }

 .ui-dialog form {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
 }

 .ui-dialog form .js-webform-type-processed-text {
   text-align: center;
 }


 .ui-dialog form label {
   font-size: 16px;
   color: black !important;
   font-family: var(--stelae-font-family-regular);
   pointer-events: none;
 }


 .ui-dialog form .js-webform-type-processed-text h1 {
   font-size: 24px;
   color: var(--stelae-sodalite-blue);
   font-family: var(--stelae-font-family-semi-bold);
 }

 .iti--fullscreen-popup.iti--container {
   z-index: 50000;
 }

 .ui-dialog form .js-webform-type-processed-text p {
   font-size: 16px;
   color: black;
   font-family: var(--stelae-font-family-regular);
 }

 .ui-dialog form .js-webform-type-textfield {
   width: var(--ancho-desktop-forms-modal);
 }

 .ui-dialog form .radios--wrapper {
   width: 340px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-direction: column;
   margin-bottom: 5px !important;
 }

 .ui-dialog form .radios--wrapper legend span {
   font-size: 16px;
   font-family: var(--stelae-font-family-regular);
   color: black !important;
 }

 .ui-dialog a {
   color: black !important;
 }

 .traslado-leer-mas {
   pointer-events: initial;
 }

 .ui-dialog .webform-submission-form p {
   font-size: 14px;
   color: black;
   margin-bottom: 0;
   font-family: var(--stelae-font-family-regular);
 }

 .form-item-acepto-los-terminos-y-las-politicas-de-privacidad {
   margin-bottom: 3rem !important;
 }

 form a {
   font-weight: 600;
 }

 .ui-dialog form .radios--wrapper .fieldset-wrapper .js-webform-radios {
   display: flex;
   align-items: center;
   justify-content: center;
   width: var(--ancho-desktop-forms-modal);
   gap: 36px;
 }


 .ui-dialog form .radios--wrapper .fieldset-wrapper .js-webform-radios .js-webform-type-radio {
   display: flex;
   flex-wrap: nowrap;
   align-items: center;
   justify-content: center;
   margin: 0rem;
 }

 .ui-dialog form .radios--wrapper .fieldset-wrapper .js-webform-radios .js-webform-type-radio input, form .radios--wrapper .fieldset-wrapper .js-webform-radios .js-webform-type-radio input {
  margin: 0rem;
  padding: 1.4rem !important;
  border: 2px solid #fff;
 }

 .ui-dialog form .radios--wrapper .fieldset-wrapper .js-webform-radios .js-webform-type-radio input:checked, form .radios--wrapper .fieldset-wrapper .js-webform-radios .js-webform-type-radio input:checked {
   background-color: white;
   border: 6px solid var(--green-apple);
   padding: 1.4rem;
   border: 2px solid var(--green-apple) !important;
   background-image: url("../img/Ellipse.svg") !important;
   background-position: 8.6px !important;
   background-color: #fff !important;
 }

 .form-item-telefono-avanzado {
  min-width: 360px !important;
 }
 .form-item-telefono-avanzado .iti input.iti__tel-input[type=tel] {
  margin-top: 5px !important;
 }

 .ui-dialog form .js-webform-type-textarea {
   width: var(--ancho-desktop-forms-modal);
   margin-bottom: 2rem;
 }


 .ui-dialog form .js-webform-type-textarea label {
   width: var(--ancho-desktop-forms-modal);
 }


 .ui-dialog form .js-webform-type-checkbox {
   width: var(--ancho-desktop-forms-modal);
 }

 .ui-dialog form .js-webform-type-checkbox input {
   width: 44px;
   height: 44px;
   padding: 22px !important;
 }

.js-webform-type-checkbox {
  pointer-events: auto !important;
  position: relative;
  z-index: 10;
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  column-gap: .5rem;
  margin-top: 20px;
}

.js-webform-type-checkbox * {
  pointer-events: auto !important;
}

.js-webform-type-checkbox label a { 
  cursor: pointer !important;
  z-index: 100;
  position: relative;
}
.js-webform-type-checkbox .error-message {
    grid-column: 1 / -1;
    margin-top: .25rem;
}

 .ui-dialog form .js-form-wrapper {
   width: var(--ancho-desktop-forms-modal);
   display: flex;
   align-self: center;
 }

 .ui-dialog .button {
   background-color: var(--stelae-sodalite-blue) !important;
   font-family: var(--stelae-font-family-bold) !important;
   border: none !important;
   color: var(--stelae-white) !important;
   padding: 16px 40px !important;
   text-align: center !important;
   text-decoration: none !important;
   font-size: 16px !important;
   width: 100% !important;
   cursor: pointer !important;
   height: 44px !important;
   display: flex !important;
   align-items: center !important;
   justify-content: center !important;
   border-radius: 0 !important;
   background-image: none !important;
   margin-bottom: 20px !important;
 }

 /* CONFIRMACIÓN MODAL */
 .webform-confirmation .webform-confirmation__message {
   font-family: var(--stelae-font-family-regular);
   color: var(--stelae-sodalite-blue);
   font-size: 16px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-direction: column;
 }


 .webform-confirmation .webform-confirmation__message p {
   text-align: center;
   margin-bottom: 12px;
   font-size: 16px;
 }

 .webform-confirmation__message h2 {
   font-family: var(--stelae-font-family-bold);
   color: var(--stelae-sodalite-blue);
   font-size: 24px;
   margin-bottom: 16px;
 }
 .webform-confirmation__message p, .webform-confirmation__message div, .webform-confirmation__message a {
    color: var(--stelae-sodalite-blue) !important;
}

 .webform-confirmation .webform-confirmation__message span {
   text-decoration: underline;
   font-family: var(--stelae-font-family-bold);
 }

 .webform-confirmation .webform-confirmation__message #webform-confirmation-atention {
   margin-bottom: 0px;
 }

 /* MOBILE L */
 @media (max-width: 480px) {
   .ui-dialog {
     width: 100% !important;
     max-width: 100% !important;
     height: 100vh !important;
     max-height: 100vh !important;
     margin: 0 !important;
     top: 0 !important;
     left: 0 !important;
     position: fixed !important;
   }

   .ui-dialog-content {
     max-height: calc(100vh - 60px) !important;
     height: calc(100vh - 60px) !important;
     width: 100% !important;
   }

   .ui-dialog-titlebar {
     border-radius: 0 !important;
   }

   .ui-dialog #drupal-modal {
     max-height: 100% !important;
   }

   .ui-dialog form .js-webform-type-processed-text h1 {
     width: 64%;
     justify-self: center;
   }

   .ui-dialog form .js-webform-type-processed-text p {
     width: 100% !important;
     justify-self: center;
   }

   .ui-dialog .js-webform-type-telefono-custom {
     width: 355px;
   }

   .ui-dialog form .telefono-intl-input {
     width: 355px;
   }

   .ui-dialog form .js-form-wrapper {
     width: 350px;
   }

   .ui-dialog form .radios--wrapper .fieldset-wrapper .js-webform-radios .js-webform-type-radio {
     width: 100px;
   }

   form .radios--wrapper .fieldset-wrapper .js-webform-radios .js-webform-type-radio {
     width: 100px;
   }

   .ui-dialog form .js-webform-type-textarea {
     width: 350px;
   }

   .ui-dialog form .js-webform-type-checkbox {
     width: 360px;
   }

 }

 /* MOBILE M */
 @media (max-width: 394px) {}


 /* MOBILE S */
 @media (max-width: 361px) {

   .ui-dialog form .js-webform-type-textfield {
     width: 330px;
   }

   .ui-dialog .js-webform-type-telefono-custom {
     width: 325px;
   }

   .ui-dialog form .telefono-intl-input {
     width: 325px;
   }

   .ui-dialog form .js-form-wrapper {
     width: 320px;
   }

   .ui-dialog form .js-webform-type-textarea {
     width: 320px !important;
   }

   .ui-dialog form .js-webform-type-checkbox {
     width: 325px !important;
   }

 }


 /* FORMULARIOS */

 .form-control {
   margin-top: 5px;
   color: var(--spanish-grey);
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: flex-start;
   padding: 8px;
   gap: 8px;
   background: var(--steale-terciary-button-hover);
   border: 1px solid var(--steale-medium-medium-blue);
   border-radius: 4px;
   height: 44px;
 }
  input[type="time"], input[type="date"] {
    position: relative;
  }
  input[type="time"]::-webkit-calendar-picker-indicator, input[type="date"]::-webkit-calendar-picker-indicator {
    width: 36px;
    height: 36px;
    position: absolute;
    right: 5px;
    filter: brightness(0) saturate(100%) invert(16%) sepia(38%) saturate(1755%) hue-rotate(202deg) brightness(96%) contrast(91%);
  }

 .form-select {
   border-radius: 5px;
   border: 1px;
   margin-top: 5px;
   background-image: url("../img/keyboard_arrow_down.svg") !important;
   background: var(--steale-terciary-button-hover);
   background-size: 20px 20px !important;
   color: var(--stelae-sodalite-blue);
   border: 1px solid var(--steale-medium-medium-blue);
   background-repeat: no-repeat;
   background-position: right .75rem center;
   height: 44px;
 }

 .form-select.is-valid:focus, .was-validated .form-select:valid:focus, .form-select.is-valid, .was-validated .form-select:valid {
   border: 1px solid var(--steale-medium-medium-blue) !important;
   box-shadow: none;
 }

 .form-select.is-valid,
 .was-validated .form-select:valid {
   border-color: var(--green-apple);
 }

 .webform-submission-form label {
   color: var(--stelae-sodalite-blue) !important;
   font-family: var(--stelae-font-family-regular) !important;
   font-size: 16px;
   width: 100%;
   /* display: contents; */
 }
 .webform-submission-contact-node-14-add-form button[type="submit"] {
  opacity: 1 !important;
 }

 .form-check-input:checked {
   background-color: var(--green-apple) !important;
   border-color: var(--green-apple);
 }

 input.form-radio.form-check-input {
   height: 4px;
   margin-top: 8px;
   padding-top: 16px;
 }

 .form-check-input:checked[type="radio"] {
   background-image: url("../img/Ellipse.svg") !important;
   background-repeat: no-repeat;
   background-position: center;
   background-size: 60% 60%;
   border: none;
 }

 .form-check-input {
   box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.4) !important;
   border: none;
 }


 form .radios--wrapper {
   width: 340px;
   display: flex;
   align-items: flex-start;
   justify-content: center;
   flex-direction: column;
   margin-bottom: 5px !important;
 }

 form .radios--wrapper legend span {
   font-size: 16px;
   font-family: var(--stelae-font-family-regular);
 }

 form .radios--wrapper .fieldset-wrapper .js-webform-radios {
   display: flex;
   align-items: center;
   justify-content: center;
   width: var(--ancho-desktop-forms-modal);
   gap: 36px;
 }


 form .radios--wrapper .fieldset-wrapper .js-webform-radios .js-webform-type-radio {
   display: flex;
   flex-wrap: nowrap;
   align-items: center;
   justify-content: center;
   margin: 0rem;
 }

 form .radios--wrapper .fieldset-wrapper .js-webform-radios .js-webform-type-radio input {
   margin: 0rem;
   padding: 1.2rem;
 }

 form .radios--wrapper .fieldset-wrapper .js-webform-radios .js-webform-type-radio input:checked {
   background-color: white;
   border: 6px solid var(--green-apple);
 }

 .texto-completo {
   display: none;
 }

 .texto-completo p, .texto-corto p  {
  margin: 0 !important;
 }

 .toggle-texto strong {
   cursor: pointer;
   color: black;
   font-family: var(--stelae-font-family-semi-bold);
 }



 /*FORMULARIO CONTACTO*/

 .block-views-blockpaquetes-block-3 {
   border: none !important;
 }

 .block-views-blockpaquetes-block-3 .views-view-responsive-grid {
   --views-responsive-grid--column-count: 1 !important;
 }

 .ui-dialog .button.disabled {
   background-color: var(--spanish-grey) !important;
   border: none !important;
   color: var(--stelae-sodalite-blue) !important;
   cursor: not-allowed !important;
   pointer-events: none;
   background-image: none;
   border-radius: initial;
   opacity: inherit !important;
 }

 .ui-dialog .button:hover {
  background-color: var(--stelae-sodalite-blue-hover) !important;
   border: none !important;
    color: var(--stelae-white);
   background-image: none;
   border-radius: initial;
 }

#edit-deceased-data-pane > div.js-webform-states-hidden.js-webform-type-textfield.webform-type-textfield.js-form-item.js-form-type-textfield.form-type-textfield.js-form-item-donde-esta-certificado.form-item-donde-esta-certificado.mb-3 > label {
    display: none;
}



 /* Eliminar padding extra que añade jQuery UI */
 .ui-widget.ui-widget-content {
   padding: 0 !important;
   top: 88px;
   z-index: 9999;
 }

 /************************************************
 * OVERLAY / FONDO OSCURO
 ************************************************/
 .ui-widget-overlay {
   background: rgba(0, 0, 0, 0.6);
 }

 /************************************************
 * BARRA SUPERIOR DEL MODAL
 ************************************************/
 .ui-dialog-titlebar {
   background: white !important;
   border: none !important;
   padding: 16px 20px !important;
   display: flex !important;
   justify-content: flex-end !important;
   border-radius: 14px 14px 0 0;
 }

 /* Ocultar título del modal (Webform ya trae el suyo) */
 .ui-dialog-title {
   display: none !important;
 }

 /************************************************
 * BOTÓN CERRAR (X)
 ************************************************/
 .ui-dialog-titlebar-close {
   background: transparent !important;
   border: none !important;
   width: 32px !important;
   height: 32px !important;
   display: flex !important;
   align-items: center !important;
   justify-content: center !important;
   margin: 0 !important;
   padding: 0 !important;
 }

 .ui-dialog .ui-dialog-titlebar-close {
   right: 0rem !important;
   position: relative !important;
   background-image: url(../img/close.png) !important;
   background-repeat: no-repeat !important;
 }



 /* Icono personalizado de cerrar */
 .ui-button .ui-icon {
   /* background-image: url("/themes/custom/stelae_bootstrap/img/close.png") !important; */
   background-image: none !important;
   background-size: 18px 18px;
   background-position: center;
   background-repeat: no-repeat;
 }

 /************************************************
 * CONTENIDO DEL MODAL
 ************************************************/
 .ui-dialog-content {
   padding: 10px 24px 30px !important;
 }

 /************************************************
 * WEBFORM – ESTRUCTURA GENERAL
 ************************************************/
 .webform-submission-form {
   font-family: inherit;
 }

 /************************************************
 * TÍTULO Y TEXTO INTRODUCTORIO
 ************************************************/
 .webform-submission-form h2,
 .webform-submission-form h3 {
   text-align: center;
   font-size: 20px;
   font-weight: 700;
   margin-bottom: 10px;
 }

 .webform-submission-form p {
   font-size: 14px;
   color: var(--stelae-sodalite-blue);
   margin-bottom: 24px;
 }

 /************************************************
 * CAMPOS DEL FORMULARIO
 ************************************************/
 .webform-submission-form .form-item {
   margin-bottom: 16px;
 }

 .iti--separate-dial-code .iti__selected-flag {
   background-color: transparent !important;
 }

 /************************************************
 * RADIOS (Sí / No)
 ************************************************/
 .webform-submission-form .form-radios {
   display: flex;
   gap: 24px;
 }

 .webform-submission-form .form-radios label {
   font-weight: 500;
 }

 /************************************************
 * CHECKBOX
 ************************************************/
 .form-check-input.is-valid:checked,
 .was-validated .form-check-input:valid:checked {
   background-color: rgb(42, 150, 100);
   background-color: #49B280;
   width: 44px;
   height: 44px;
   border: none;
 }

 .form-check .form-check-input {
   margin-left: 0rem;
 }

 .form-check {
   min-height: 1.5rem;
   padding-left: 0rem;
   margin-bottom: .125rem;
   display: flex;
   gap: 10px;
   display: flex;
   margin-bottom: 24px !important;
 }

 .form-item-acepto-los-terminos-y-las-politicas-de-privacidad {
   display: grid;
   grid-template-columns: auto 1fr;
   column-gap: .5rem;
   margin-top: 20px;
   /* separación checkbox - label */
 }

 /* Checkbox */
 .form-item-acepto-los-terminos-y-las-politicas-de-privacidad .privacity-conditions>input.form-check-input {
   grid-column: 1;
   grid-row: 1;
   margin-top: .25rem;
   /* alinea visualmente con label */
 }

 /* Label pegada al input */
 .form-item-acepto-los-terminos-y-las-politicas-de-privacidad>label.form-check-label {
   grid-column: 2;
   grid-row: 1;
   margin: 0;
   /* elimina espacios extra */
   display: inline-block;
 }

.webform-submission-form .form-check-label {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center;
    padding-top: 7px;
}

 /* Error abajo, ancho completo */
 .form-item-acepto-los-terminos-y-las-politicas-de-privacidad>.invalid-feedback {
   grid-column: 1 / -1;
   margin-top: .25rem;
 }



 form small {
   color: var(--stelae-sodalite-blue);
   font-family: var(--stelae-font-family-regular);
   width: 100%;
 }


 .iti__flag {
   display: none;
 }

 .form-control {
   color: var(--stelae-sodalite-blue);
 }

 #edit-telefono-avanzado-number {
   width: 100% !important;
 }

 .iti {
   width: 100% !important;
 }

 #edit-flexbox-01>div:nth-child(2)>div>div>div {
   width: 100% !important;
 }

 .form-check-label {
   font-size: 14px !important;
 }

 .form-check-input.is-invalid~.form-check-label,
 .was-validated .form-check-input:invalid~.form-check-label {
   width: 100%;
 }

 .iti__arrow {
   margin-left: 6px;
   border-left: 5px solid transparent;
   border-right: 5px solid transparent;
   border-top: 6px solid var(--stelae-sodalite-blue);
 }

 .defuncion-field.js-form-item.js-form-type-checkbox.checkbox.form-check.mb-6.leer-mas-processed {
   margin-bottom: 3rem !important;
 }

 /* span.description-client-form {
    font-family: 'Poppins-Light';
} */

 .leer-mas-processed {
   position: relative;
 }

 .leer-mas-processed .error-message.invalid-feedback.d-block {
   position: absolute;
   top: 100%;
   left: 0;
   width: 100%;
 }

 div#edit-payment-information-billing-information-field-privacidad-wrapper {
   margin-bottom: 3rem !important;
 }

 /*
 * RESPONSIVE
 **/

 @media (max-width: 767px) {
    form .radios--wrapper {
      align-items: center; 
    }
  }
 /* MOBILE L */
 @media (max-width: 480px) {

   .form-check {
     justify-content: flex-start;
     width: 100%;
   }

   form small {
     width: 100%;
   }


 }

 /* MOBILE M */
 @media (max-width: 394px) {
   /* form small {
     width: 325px;
   } */
 }

 /* MOBILE S */
 @media (max-width: 361px) {
   /* form small {
     width: 300px;
   } */
 }