@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css");


.help-button {
  position: fixed;
  right: 16px;
  bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  border: none;
  border-radius: 9999px;
  background: #D8DF00;              /* amarillo SERNAC */
  color: #020143;                    /* azul oscuro */
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
  cursor: pointer;
  /*z-index: 999999;/* permite que la imagen no se recorte */
}

.help-button .nhb-icon{
  width: 34px;
  height: 34px;
  border-radius: 9999px;             /* disco azul */
  color: #020143;
  display: grid;
  place-items: center;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  transition: transform .5s ease-in-out;
}

.help-button .nhb-icon i{
  font-size: 20px;                     /* sube el tamaño del ícono */
  line-height: 1;
}

.help-button .nhb-text{
  font-family: 'Poppins', sans-serif; 
  font-size: 18px;                     /* antes 16px */
  font-weight: 700;                    /* más “pesado” */
  line-height: 1;
  letter-spacing: .2px;
  color: #020143;
}

/* ===== HOVER: solo borde oscuro, mismo tamaño ===== */
.help-button:hover{
  /* mantenemos misma sombra exterior */
  box-shadow:
    0 8px 20px rgba(0,0,0,.18),
    inset 0 0 0 2px #0A175C;          /* borde oscuro INTERNO (no “agranda”) */
  transform: none;                    /* por si había alguna regla previa */
}
.help-button:hover .nhb-icon{ transform: none; }

#chatContainer.active + #needHelpButton {
  display: none !important;
}

.feedback-button-selected.positivo {
    font-weight: bold;
    border: 2px solid #28a745;
    background-color: #28a745;
    color: white;
}

.feedback-button-selected.negativo {
    font-weight: bold;
    border: 2px solid #dc3545;
    background-color: #dc3545;
    color: white;
}

.chatbot-container {
    display: none;
    flex-direction: column;
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 380px;
    height: 75vh;
    border: 1px solid #ccc;
    background: white;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    border-radius: 10px;
    overflow: hidden;
}

.chatbot-container.visible {
    display: flex;
}

.chat-header {
    background: #DBDF02;
    color: black;
    font-weight: 600;
    font-size: 1.1em;;
    padding: 20px 10px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.chat-content {
    flex-grow: 1;
    padding: 10px;
    overflow-y: auto;
    background-color: #f8f9fa;
    padding-bottom: 120px;
}

.chat-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 1rem;
  background: rgba(255, 255, 255, 0.5);
  /*backdrop-filter: blur(10px);*/
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0 0 10px 10px;
}

.footer-button {
  display: flex;
  align-items: center;
  gap: 5px;
  background-color: transparent;
  border: none;
  color: #020147;
  font-weight: 600;
  line-height: 1.6;
  cursor: pointer;
  font-size: 1em;
  padding: 10px 15px;
  border-radius: 18px;
  transition: background-color 0.3s ease;
}

.footer-button:hover {
  background-color: #e2e3ea;
}

.footer-button i {
  font-size: 16px;
}


.footer-button i {
    font-size: 14px;
}

/* Estilos de opción */
.stioption-block {
    border: 1px solid #DBDF02;
    background-color: #ffffff;
    border-radius: 10px;
    border-width: 3px;
    padding: 15px;
    margin: 10px 0;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s, color 0.3s;
}

.stioption-block .option-title {
    font-weight: 600;
    color: #000;
    font-size: 1em;
}

.stioption-block .option-subtitle {
    font-size: 0.85em;
    line-height: 1.4;
    color: #111;
}

.option-block .option-arrow {
    color: #000;
    font-size: 1em;
}

.stioption-block:hover {
    background-color: #DBDF02;
    border: 3px solid black;
}

.stioption-block:hover .option-title,
.stioption-block:hover .option-subtitle,
.stioption-block:hover .option-arrow {
    color: #000;
    
}

/* Botón Volver con estilo y alineación */
#footerBackButton {
    display: none;
    color: #020147;
    border: 1px solid transparent;
    border-radius: 18px;
    padding: 10px 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
    box-shadow: none;
    align-items: center;
    justify-content: center;
    font-size: 1em;
}

#footerBackButton:hover {
    background-color: #e2e3ea;
}

#footerBackButton i {
    margin-right: 8px;
    font-size: 16px;
}

#goStartButton {
  display: none; 
  left: 10px;
  display: flex;
  align-items: center;
  gap: 5px;
  background-color: transparent;
  border: none;
  color: #020147;
  font-weight: bold;
  cursor: pointer;
  font-size: 20px;
  padding: 8px 20px;
  border-radius: 20px;
  transition: background-color 0.3s ease;      /* Lo empuja hacia la izquierda si hay otros elementos */
}

#goStartButton:hover {
  background-color: #e2e3ea;
}

#goStartButton i {
  font-size: 16px;
  color: #020147;
}

.stioption-block {
    margin-top: 15px;
}

.stifeedback-box {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 20px;
  margin: 20px auto;
  margin-bottom: 15px;
  background-color: white;
  max-width: 90%;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.feedback-title {
  font-weight: 600;
  text-align: center;
  margin-bottom: 15px;
}

.stifeedback-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.stifeedback-button {
  border: 1px solid #ccc;
  background-color: white;
  color: #000;
  font-weight: 500;
  padding: 10px 25px;
  border-radius: 25px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.stifeedback-button:hover {
  background-color: #f2f2f2;
}

.stifeedback-form {
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 20px;
  margin: 15px auto;
  background-color: #fcfcfc;
  max-width: 90%;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.stifeedback-form p {
  font-weight: 600;
  font-size: 16px;
  text-align: center !important;
  margin-bottom: 15px;
}

.stifeedback-form textarea {
  width: 100%;
  height: 80px;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 15px;
  resize: none;
  margin-bottom: 15px;
}

.feedback-submit {
  width: 100%;
  height: 45px;
  background-color: #28a745;
  color: white;
  font-weight: 700;
  font-size: 16px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  box-sizing: border-box;
}

.feedback-submit:hover {
  background-color: #218838;
}
.feedback-card {
    background-color: #ffffff; /* tarjeta blanca */
    border-radius: 8px;
    padding: 16px;
    margin: 15px 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    display: flex;
    justify-content: center; /* centrar el bloque de gracias */
}
.feedback-thanks {
    display: flex;
    align-items: center;
    background-color: #e6f4ea; /* verde suave */
    color: #137333; /* verde del texto */
    border-radius: 8px;
    padding: 12px 16px;
    font-weight: bold;
    font-size: 1em;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.feedback-thanks i {
    font-size: 20px;
    margin-right: 10px;
    color: #137333; /* mismo verde que el texto */
}

#chatContent {
    max-height: 100%; /* Ajusta a tu altura */
    overflow-y: auto;
}

.stifeedback-button-selected {
  font-weight: bold;
  border: 2px solid #28a745;
  background-color: #28a745;
  color: white;
}

.stifeedback-button.positivo i {
  color: white;
}

.stifeedback-button.negativo i {
  color: white;
}

.footer-buttons-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0 10px;
}

#goStartButton,
#footerBackButton {
  background-color: transparent;
  border: none;
  border-radius: 18px;
  padding: 10px 15px;
  font-weight: 600;
  cursor: pointer;
  font-size: 1em;
  color: #020147;
  display: flex;
  align-items: center;
  transition: background-color 0.3s ease;
}

#goStartButton {
  display: none;
}

#goStartButton:hover,
#footerBackButton:hover {
  background-color: #e2e3ea;
}

#goStartButton i,
#footerBackButton i {
  margin-right: 6px;
  font-size: 16px;
}

#chatContent::-webkit-scrollbar-thumb {
    background-color: #020147; /* celeste */
    border-radius: 4px;
    border: 2px solid #e0e0e0; /* opcional: pequeño borde para dar separación */
}

#chatContent::-webkit-scrollbar-thumb:hover {
    background-color: #3a396f; /* celeste más oscuro al pasar mouse */
}

/* Para Firefox */
#chatContent {
    scrollbar-color: #020147 #e0e0e0; /* thumb color y track color */
    scrollbar-width: thin; /* tamaño fino */
}

.sticontent-card {
    background-color: #ffffff;
    border-radius: 8px;
    padding: 16px;
    margin: 12px 0;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    font-size: 1em;
    color: #000000;
    line-height: 1.5;
}

.stibreadcrumb-container {
    font-size: 14px;
    color: #555;
    margin-bottom: 10px;
}

.stibreadcrumb-item {
    cursor: pointer;
    color: #9d9d9d;
    text-decoration: none;
}

.stibreadcrumb-item:hover {
    text-decoration: underline;
    color: #020147
}

.stibreadcrumb-separator {
    margin: 0 5px;
    color: #adb5bd;
}

.stinstruction-text {
    color: #444;
    font-size: 1.1em;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 5px;
    margin-bottom: 5px;
}

.stititulo {
  color: #343a40;
  font-size: 1.05em;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 12px;
}

.option-text-icon {
  color: #000;
}

.stinfo-body {
    color: #343a40;
    font-size: 0.95em;
    line-height: 1.6;
}

.chatbot-message-bubble {
  background: white;
  border-radius: 10px;
  padding: 16px;
  margin: 12px 0;
  box-shadow: 0px 0px 6px rgba(0,0,0,0.1);
}

.breadcrumb {
  color: #777;
  font-size: 13px;
  margin-bottom: 6px;
}

.input-group {
  display: flex;
  margin-top: 8px;
}

.input-prefix {
  background: #eee;
  padding: 12px;
  border: 1px solid #ccc;
  border-right: none;
  border-radius: 6px 0 0 6px;
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

input#userPhone {
  flex: 1;
  padding: 10px;
  border: 1px solid #ccc;
  border-left: none;
  border-radius: 0 4px 4px 0;
}

input#userPhone:disabled {
  background-color: #f5f5f5 !important;
  color: #333 !important;
  cursor: not-allowed !important;
  border-color: #ddd !important;
  box-shadow: none !important;
}

.call-button {
  width: 100%;
  padding: 12px;
  background-color: #28a745;
  color: white;
  font-weight: bold;
  font-size: 16px;
  border: none;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  margin-top: 10px;
}

.error-message {
  color: red;
  font-size: 13px;
  margin-top: 8px;
  text-align: center;
}

.custom-card {
  background-color: white;
  border-radius: 12px;
  padding: 24px;
  margin: 16px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.custom-button {
  background-color: #28a745;
  border: none;
  color: white;
  width: 100%;
  font-weight: bold;
  padding: 12px 0;
  font-size: 16px;
  border-radius: 6px;
}

.custom-input-group {
  display: flex;
  margin-bottom: 16px;
}

.custom-input-prefix {
  background-color: #eee;
  padding: 12px;
  border: 1px solid #ccc;
  border-right: none;
  border-radius: 6px 0 0 6px;
}

.custom-input-field {
  flex: 1;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 0 6px 6px 0;
}

.custom-info {
  margin-top: 24px;
  text-align: center;
}

.custom-info strong {
  display: block;
  color: #00005E;
  font-weight: bold;
  margin-bottom: 4px;
}

.phone-input-group {
  display: flex;
  width: 100%;
  margin-bottom: 12px;
}

.input-field {
  flex: 1;
  padding: 12px;
  border: 1px solid #ccc;
  border-left: none;
  border-radius: 0 6px 6px 0;
  font-size: 16px;
}

.info-block {
  text-align: center;
  font-size: 15px;
  color: #00123c; /* o el azul oscuro que desees */
  margin-top: 20px;
  line-height: 1.5;
}

.info-block strong {
  font-weight: bold;
  color: #00123c;
}

.info-separator {
  border: none;
  border-top: 1px solid #e6e6e6; /* gris suave */
  margin: 20px 0 15px;
}

.success-message {
  background-color: #e5f7e9;
  color: #228b4e;
  font-weight: bold;
  padding: 12px;
  text-align: center;
  border-radius: 8px;
  margin-top: 15px;
  font-size: 16px;
}

.success-message i {
  margin-right: 8px;
}

.origen-llamada {
  background-color: #f6fff8;
  border: 1px solid #b0e6c6;
  padding: 15px;
  border-radius: 8px;
  margin-top: 12px;
  text-align: center;
  font-size: 16px;
  color: #10713a;
}

.origen-llamada strong {
  display: block;
  font-size: 20px;
  font-weight: bold;
  color: #10713a;
}

.success-box {
  background-color: #e4f5e9;
  padding: 14px;
  border-radius: 8px;
  color: #1d6e30;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
}

.success-check i {
  margin-right: 8px;
  font-size: 18px;
}

.llamada-box {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #c9e7d1;
  border-radius: 8px;
  color: #1d6e30;
  background-color: #ffffff;
  font-size: 16px;
  text-align: center;
  font-weight: normal;
}

.llamada-box strong {
  display: block;
  font-size: 22px;
  font-weight: bold;
  margin-top: 4px;
}

.disabled-input {
  background-color: #f5f5f5;
  color: #888;
  cursor: not-allowed;
}

#chatHeaderTitle {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: bold;
  font-size: 16px;
}

.bubble-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}

.input-field:disabled {
  background-color: #f5f5f5 !important;
  color: #333 !important;
  cursor: not-allowed !important;
  border-color: #ddd !important;
  box-shadow: none !important;
}

.info-icon{
  display:inline-block;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  transition: transform .5s ease-in-out;
  will-change: transform;
}

/* Animación breve al abrir (opcional) */
.info-icon.spin{
  animation: flip-open .6s ease-in-out;
}
@keyframes flip-open{
  0% { transform: rotateY(-90deg); }
  100%{ transform: rotateY(0deg); }
}

.external-call-button {
    position: fixed;
    top: 40px;
    right: 20px;
    /*z-index: 99999;*/                  /* un punto más alto que el chat (1000) */
    background-color: #5CB4F4;
    color: #0B1958;
    border: 2px solid #fff;
    border-radius: 30px;
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    transition: background-color 0.3s ease;
}

.external-call-button:hover {
  background-color: #020147;
}

.external-call-button i {
  font-size: 18px;
}

#chat-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; /* No interfiere con el resto del sitio */
  z-index: 9999;
}

#chat-wrapper * {
  pointer-events: auto; /* Solo los elementos del chat son interactivos */
}
