@import url('https://fonts.googleapis.com/css2?family=Neuton:ital,wght@0,200;0,300;0,400;0,700;0,800;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Courgette&family=Neuton:ital,wght@0,200;0,300;0,400;0,700;0,800;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700&display=swap');

:root{
  --color-principal:#4cc2e681;
  --color-textos: #0B3A46;
  --amarillito:  rgb(214, 187, 9);
  --color-bg: #f1f5f6;
  --color-footer :#046583;
  --color-body: #faf7ea;
  --color-input:#e6eef4;
  /* extras derivados */
  --ok:#036028;        /* éxito */
  --err:#7a0d03;       /* error */
  --warn:rgb(240,203,15);
  --info:#4cc2e681;

}
*{
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  
 
}
/* Fondo con imagen */
body.fondo-imagen::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url(../img/balanza.jpg);
  background-size: cover;
  background-position: center;
  background-color: rgba(255,255,255,0.7); /* overlay para legibilidad */
  background-blend-mode: lighten;
  z-index: -1;
}

/* Fondo liso */
body.fondo-liso {
  background-color: var(--color-body);
}
body{
  background-color: var(--color-body);
}



h2, h3, h4, h5, h6 {
  font-family:  'Courgette', cursive;
  text-shadow: 1px 1px #020202 !important;
  color: var(--color-textos) !important;
}
span{
   font-family: 'Neuton', serif;
    color: var(--color-textos);
}
p{
  font-family:'Neuton', serif;
  color: var(--color-textos);  
}


table{
   box-shadow: 0 0 5px rgba(0,0,0,1);
}

/*Lista de items del index*/
/*ul index*/
.ul-index{
  box-shadow:  0 3px 6px rgb(16, 89, 102);
  transition: color 0.3s;
}
.seccion{
  background-color: var(--color-bg);
  border: 5px  groove var(--color-textos);
}

.check{
  color: var(--color-textos);
}
/**/
label{
  font-weight: bold;
  color: var(--color-textos);
  
}
input{
  box-shadow:  0 6px 18px rgba(11,114,133,.12);
}
.form-control {
  border: 2px solid transparent; /* borde fijo desde el inicio */
  background-color: var(--color-body);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-control:hover {
  border-color: var(--color-textos); /* solo cambia color, no grosor */
  box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
.form-control:focus {
  border-color: var(--color-textos); /* solo cambia color, no grosor */
  box-shadow: 2px 2px 5px rgba(0,0,0,1);
}
.input-form{
  background-color: var(--color-bg);
  box-shadow:  0 6px 18px rgba(11,114,133,.12);
}


a{
  text-decoration: none;
}
.arroba{
  background-color: var(--color-textos);
}
/*index*/
.texto-intro p {
    text-indent: 2em;
    line-height: 1.8;
  }
.calculadora {
  border: 8px ridge rgb(2, 69, 86);
  border-radius: 15px;
  background-color: var(--color-bg);
  box-shadow:8px 18px 14px 8px rgba(0, 0, 0, 0.4),
    inset 8px 3px 14px 8px rgba(0, 0, 0, 0.3);
}  
.calculadora:hover {
  box-shadow:8px 18px 14px 8px rgba(0, 0, 0, 0.8),
    inset 8px 3px 14px 8px rgba(0, 0, 0, 0.3); 
}

/*meditacion*/
.texto-timer{
  font-weight: bold;
  color: var(--color-textos); 
}
.pausa-reinicio:hover {
  transition: 0.2s;  
  border-radius: 5px;  
  box-shadow: 4px 4px 5px #080808;
}
.pausa-reinicio:active {
  transform: translateX(2px) translateY(2px);  
  box-shadow: none;
}
.progress-bar{
  background-color: var(--color-textos);
  height: 100%;
  
}

  /* Consejo del día – glass + borde degradado */
  .card-glass {
  /* “glass” */
  background: var(--color-footer);
  backdrop-filter: blur(6px);
  /* borde degradado sin mask */
  border: 6px ridge rgb(253, 252, 252);
  border-radius: 14px;
  background-image:
    linear-gradient(#fff, var(--color-footer));             /* capa interior */
         /* borde degradado */
  background-origin: border-box;
  background-clip: padding-box, border-box;
  box-shadow: 0 12px 30px rgba(0,0,0,1);
}

  .title-chip {
    display:inline-flex; align-items:center; gap:.5rem;
    padding:.35rem .8rem; border-radius: 999px;
    background: var(--color-textos); color: var(--color-input); font-weight:700;
    letter-spacing:.3px;
    box-shadow: 0 6px 18px rgba(11,114,133,.12);
  }

.nuevo{
  background-color: var(--color-footer);
  color: var(--color-input);
}
/* Frases con comillas */




/* Frases con comillas */
.quote {
  position: relative;
  font-family: Georgia, "Times New Roman", serif;
  color: var(--color-textos); /* la frase usa tu color de textos */
}

.quote::before,
.quote::after {
  position: absolute;
  font-size: 3rem;
  line-height: 1;
  font-weight: bold;
  color: var(--color-textos); /* usa tu color directamente */
  opacity: .55; /* más visibles que antes */
}

.quote::before {
  content: "“";
  left: -0.8rem;
  top: -1rem;
}

.quote::after {
  content: "”";
  right: -0.8rem;
  bottom: -1rem;
}


/* Estilo base del memo */
#memoTexto{
  background-color: var(--color-principal);
  color: var(--color-textos);
  border-radius: 10px;
  padding: 1rem;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(0,0,0,1);
  opacity: 0; transform: translateY(6px);
  transition: opacity .6s ease, transform .6s ease, background-color .8s ease;
}
#memoTexto.show{ opacity:1; transform: translateY(0); }

/* Flash al guardar/cargar */
@keyframes memoFlash {
  0%   { background-color:#fff3bf; } /* amarillo suave */
  100% { background-color: var(--color-principal); }
}
#memoTexto.flash {
  animation: memoFlash 1.2s ease both;
}

  /* Memo – highlight animado */
  .memo-highlight {
    background: var(--color-body) !important;
    border-left: 6px solid var(--warn);
    border-radius: 10px;
    padding: .9rem 1rem;
    color: #212529;
    box-shadow: 0 8px 20px rgba(245,159,0,.12);
    opacity: 0; transform: translateY(6px);
    transition: opacity .6s ease, transform .6s ease;
  }
  .memo-highlight.show { opacity: 1; transform: translateY(0); }
#memoTexto.vacio {
  background: #ffffff; /* blanco total */
  color: #999;         /* gris claro */
  border-left: none;
  
}
  

  /* Progreso restante */
  .progress.thin { height: 8px; border-radius: 999px; }
  .progress-bar.gradient {
    background: linear-gradient(90deg,#22c55e,#c7b56d,#ef4444);
  }

  /* Fondo suave del bloque */
  .bg-soft {
    background: radial-gradient(1200px 700px at 10% -20%, #fdfdfd 0, transparent 50%),
                radial-gradient(1000px 600px at 100% 110%, #f1e095 0, transparent 50%);
       
  }
.border-groove{
   border: 4px groove var(--color-textos); 
}
/* Footer */
footer {
  background-image: 
    linear-gradient(to top, 
      #9fd5f3d9 0%,          /* celeste claro translúcido en la base */
      #4cc2e6 40%,           /* celeste medio en el medio */
      var(--color-footer) 100% /* azul oscuro en la parte superior */
    );
}


footer a.nav-link {
  color: var(--color-input);
  transition: color 0.3s;
}

footer a.nav-link:hover {
  color: var(--amarillito); /* O el color que combine con tu marca */
}

.principal-footer{
  color: var(--color-input);
  font-size: 1.5em;
}
/*contacto*/
.contacto{
  border: 1px solid var(--color-input);
  box-shadow:  0 6px 18px rgba(11,114,133,.12);
  border: 6px ridge rgb(253, 252, 252);
  border-radius: 14px;
}
.contacto:hover{
  box-shadow:  0 6px 18px rgb(16, 89, 102);
  transition: color 0.3s;
}
/* ✅ Bloque general animado */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px) translateX(30px) scale(1.2);
  transition: opacity 0.8s ease, transform 0.8s ease;
  will-change: opacity, transform;
}

.animate-on-scroll.visible {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
}

/* ✅ Ícono de check: entra desde izquierda con zoom y delay */
/* 🔹 Animación base del check (fuera de pantalla, agrandado, con delay) */
.animate-check {
  opacity: 0;
  transform: translateY(50px) translateX(-80px) scale(2); /* Más lejos y más grande */
  transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.175, 0.885, 0.320, 1.275);
}

/* 🔹 Al entrar en pantalla */
.animate-check.visible {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
  animation: pulse-check 1s ease 0.8s 1 forwards;
}

@keyframes pulse-check {
  0%   {
    transform: scale(1);
    filter: brightness(1);
  }
  40%  {
    transform: scale(1.6);
    filter: brightness(2); /* 🔆 brilla un poco */
  }
  100% {
    transform: scale(1);
    filter: brightness(1);
  }
}
.delay-1 { transition-delay: 0.3s; animation-delay: 0.8s; }
.delay-2 { transition-delay: 0.6s; animation-delay: 1.1s; }
.delay-3 { transition-delay: 0.9s; animation-delay: 1.4s; }
.delay-4 { transition-delay: 1.2s; animation-delay: 1.7s; }



/* 💥 Pulso más notorio */
@keyframes pulse-check {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.6); } /* más grande */
  100% { transform: scale(1); }
}



/*Responsive*/
  @media (max-width: 768px) {
    .table-responsive table {
      width: 100% !important;
      display: table;
    }
    .img-responsiva {
    width: 40px;
    height: 40px;
  }
  
  }