
/* --- HIDE: Ocultación absoluta e inapelable --- */
/* Bloquea display, visibilidad y espacio en el layout */
.hide {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* --- INUTIL: Bloqueo de interacción total --- */
/* Se aplica tanto a la clase manual como al atributo de seguridad del script */
.inutil, 
[data-api-locked="true"] {
    pointer-events: none !important; /* Desactiva Clicks, Hovers y Focus */
    cursor: not-allowed !important;   /* Indica visualmente el bloqueo */
    user-select: none !important;    /* Evita que se pueda seleccionar el texto */
}

/* --- RESET DE EVENTOS --- */
/* Asegura que ningún hijo del elemento bloqueado pueda reactivar eventos */
.inutil *, 
[data-api-locked="true"] * {
    pointer-events: none !important;
}

/* --- 1. ESTILOS DEL SCROLLBAR GLOBAL (.custom-scroll) --- */
  .custom-scroll {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    /* Esto asegura que la rueda del ratón funcione siempre */
    -webkit-overflow-scrolling: touch; 
  }

  .custom-scroll::-webkit-scrollbar {
    width: 4px;
  }

  .custom-scroll::-webkit-scrollbar-button {
    display: none !important;
  }

  .custom-scroll::-webkit-scrollbar-track {
    background: transparent;
    margin: 15px 0;
  }

  .custom-scroll::-webkit-scrollbar-thumb {
    background: var(--lavanda, #E6E6FA);
    border-radius: 10px;
  }

  /* Efecto: Cuando el usuario interactúa con la barra, activamos el cursor especial */
  .custom-scroll::-webkit-scrollbar-thumb:hover {
    background: var(--calm, #A3D8E4);
  }

  /* --- 2. ESTILOS ESPECÍFICOS DE LOS SELECTS --- */
  .c-select-container {
    position: relative;
    width: 100%;
    overflow: visible !important;
  }

  .c-options-list {
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    width: 100%;
    background-color: var(--dark, #000000);
    border: 1px solid var(--lavanda, #E6E6FA);
    box-sizing: border-box;
    border-radius: 20px;
    max-height: 250px;
    z-index: 999;
    display: none;
    opacity: 0;
    transform: scale(0.98) translateY(-5px);
    transition: all 0.2s ease;
  }

  .c-options-list.show {
    display: block;
    opacity: 1;
    transform: scale(1) translateY(0);
  }

  .c-option {
    padding: 12px 20px;
    color: var(--lavanda, #E6E6FA);
    transition: background 0.15s ease;
    font-size: 0.95em;
    cursor: none; /* Para que actúe tu cursor de Webflow */
  }

  .c-option:hover {
    background-color: var(--calm, #A3D8E4);
    color: white !important;
  }

  .arrow-icon {
    width: 12px;
    height: 12px;
    margin-left: 10px;
    flex-shrink: 0;
    color: var(--lavanda, #E6E6FA);
    transition: transform 0.3s ease;
  }
  .active .arrow-icon { transform: rotate(180deg); }

  .c-trigger {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
    cursor: none;
  }

  /* MESSAGE_MODAL_BEGIN */
  
  #message_modal {
    display: none;
    z-index: 9999;
    pointer-events: auto;
  }

  #message_modal.show {
    display: flex;
    animation: mm-in 360ms cubic-bezier(.22,.9,.35,1) both;
  }

  #message_modal.hiding {
    animation: mm-out 240ms ease both;
  }

  @keyframes mm-in {
    0%   { opacity: 0; transform: translateY(-10px) scale(.98); }
    70%  { opacity: 1; transform: translateY(3px)  scale(1.02); }
    100% { opacity: 1; transform: translateY(0)   scale(1); }
  }

  @keyframes mm-out {
    0%   { opacity: 1; }
    100% { opacity: 0; }
  }

  #message_modal .inner {
    transition: transform 200ms ease, opacity 200ms ease;
  }
  /***************END***************/