 


/* Logo en círculo */
.logo-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
.logo-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

 

/* Texto 'Huellitas' */
.logo span {
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff; /* Forzado a blanco */
}
 /*estilos para el card de adoptar*/
.adoptar-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  justify-items: center;
  align-items: stretch;
  padding: 40px;
  max-width: 1200px;
  margin: 0 auto;
}

.card {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
  text-align: center;
  width: 100%;
  max-width: 350px;
  padding: 20px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}

.card img {
  border-radius: 10px;
  margin-bottom: 15px;
}

.cta-button {
  background-color: #b67c5c;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 25px;
  cursor: pointer;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.cta-button:hover {
  background-color: #8b5e3c;
}
/* =========================
   TEMA GLOBAL: FUENTE ÚNICA + TEXTO BLANCO
   ========================= */
:root{
  --font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --text:#FFFFFF;
  --text-soft: rgba(255,255,255,0.86);
  --text-dim: rgba(255,255,255,0.70);
}

html, body, h1, h2, h3, h4, h5, h6,
p, a, span, small, strong, em, label,
button, input, select, textarea {
  font-family: var(--font-ui) !important;
  color: var(--text) !important;
}

 /* Fondo y layout base */
body {
  background: 
    linear-gradient(135deg, 
    #a41ddf 0%, 
    #8c469de6 30%, 
    #9753dfcc 100%);
  background-size: cover;
  background-position: center;
  min-height: 100vh;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}


/* Ajuste para la visibilidad del texto blanco */
body * {
  color: #0d0d0d; /* Asegura que el texto sea blanco */
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6); /* Añade un contorno sutil para mejorar la visibilidad */
}
 

/* Glassmorphism */
.glass {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(15px);
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.profile-bubble {
  display: inline-block;
  position: relative;
  margin-right: 15px;
}

.profile-bubble img {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}

.profile-bubble img:hover {
  transform: scale(1.1);
  box-shadow: 0 0 12px rgba(255, 192, 203, 0.7);
}

/* =========================
   TITULOS
   ========================= */
h1{
  font-weight: 800 !important;
  /* Brillo blanco pulido para destacar títulos */
  text-shadow:
    0 0 14px rgba(255,255,255,0.85),
    0 2px 10px rgba(0,0,0,0.35);
}
h2, h3, h4, h5, h6{
  font-weight: 700 !important;
}


/* =========================
   VISTA ADOPTAR
   ========================= */
.adoptar-container {
  text-align: center;
  padding: 40px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(15px);
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  margin: 20px;
  width: 80%;
  max-width: 1200px;
  color: #fff;
}
.adoptar-container h1 {
  font-size: 36px;
  margin-bottom: 20px;
  font-weight: 800; /* match H1 weight */
}
.adoptar-container p {
  font-size: 18px;
  margin-bottom: 40px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--text-soft) !important; /* leve suavizado para párrafos */
}

/* Grid de tarjetas */
.adoptar-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

/* Tarjeta */
.card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.5));
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.card:hover {
  transform: translateY(-15px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

/* Imágenes pequeñas y uniformes en tarjetas */
.card img {
  width: 100%;
  height: 180px;          /* pequeñas, sin verse largas */
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
  margin-bottom: 20px;
  transition: transform 0.3s ease;
}
.card:hover img { transform: scale(1.05); }

/* Textos de tarjeta forzados a blanco */
.card h3 {
  font-size: 24px;
  margin-bottom: 10px;
  font-weight: 700;
  color: #fff !important;
}
.card p {
  font-size: 16px;
  margin-bottom: 20px;
  color: var(--text-soft) !important;
}

 
/* ===== Candado centrado (icono + mensaje) ===== */
.card { position: relative; }

#candado{
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;

  /* Caja */
  padding: 14px 18px;
  background: rgba(0,0,0,0.72);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.30);

  /* Centrado perfecto del contenido */
  display: flex;
  flex-direction: column;      /* icono arriba, texto abajo */
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;

  color: #fff;
  font-weight: 700;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
}

.card:hover #candado{
  opacity: 1;
  visibility: visible;
}

/* Icono centrado */
#candado img{
  width: 40px; height: 40px;
  display: block;              /* asegura centrado */
  object-fit: contain;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.35));
}

/* Texto */
#candado p{
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
  color: #fff;
}

/* =========================
   THUMBNAILS CONSISTENTES (RESPONSIVE)
   ========================= */
.adoptar-cards{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
}
.adoptar-cards .card{
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.16);
}
.adoptar-cards .card img{
  width: 100%;
  height: 180px;
  object-fit: cover;
  object-position: center;
  display: block;
}
@media (max-width: 480px){
  .adoptar-cards .card img{ height: 140px; }
}

/* Candado pequeño y alineado en lista (si se usa fuera del overlay) */
.adoptar-cards #candado{
  display: flex; align-items: center; gap: 8px; margin-top: 8px;
}
.adoptar-cards #candado img{
  width: 20px; height: 20px; object-fit: contain;
}

/* =========================
   MEDIA QUERIES
   ========================= */
@media (max-width: 768px) {
  .adoptar-container { padding: 30px; }
  .adoptar-container h1 { font-size: 28px; }
  .card { padding: 15px; }
  .cta-button { font-size: 14px; }
}


    /* =========================
       TEMA GLOBAL: una fuente + texto blanco
       ========================= */
    :root{
      --font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      --text: #FFFFFF;
      --text-soft: rgba(255,255,255,.86);
      --border: rgba(255,255,255,.16);
      --surface: rgba(255,255,255,.18);
    }
    html, body, h1, h2, h3, h4, h5, h6,
    p, a, span, small, strong, em, label,
    button, input, select, textarea {
      font-family: var(--font-ui) !important;
      color: var(--text) !important;
    }

 
 
    /* =========================
       CONTENEDOR Y HERO
       ========================= */
    .about-container{
      max-width: 1200px;
      margin: 96px auto 64px;
      padding: 0 24px;
    }
    .about-hero{
      background: var(--surface);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid var(--border);
      border-radius: 20px;
      padding: 28px 28px 20px;
      box-shadow: 0 8px 24px rgba(0,0,0,.20);
      margin-bottom: 32px;
    }
    .about-hero h1{
      margin:0 0 8px 0;
      font-size: 40px;
      font-weight: 800;
      text-shadow:
        0 0 14px rgba(255,255,255,.85),
        0 2px 10px rgba(0,0,0,.35);
    }
    .about-hero p{
      margin:0;
      color: var(--text-soft) !important;
      line-height: 1.55;
    }

    /* =========================
       SECCIONES EN GRID
       ========================= */
    .info-section{
      display: grid;
      grid-template-columns: 1.1fr 1fr;
      gap: 32px;
      align-items: center;
      margin: 32px 0;
    }
    .info-section.reverse .section-text{ order:2; }
    .info-section.reverse .section-image{ order:1; }

    /* Bloque de texto con glass */
    .section-text{
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 18px;
      padding: 24px;
      box-shadow: 0 6px 20px rgba(0,0,0,.18);
    }
    .section-text h2{
      margin: 0 0 8px 0;
      font-size: 28px;
      font-weight: 700;
    }
    .section-text p{
      margin: 0;
      color: var(--text-soft) !important;
      line-height: 1.6;
    }

    /* Imagen consistente (mismo tamaño/ratio) */
    .section-image{
      border-radius: 18px;
      overflow: hidden;
      border: 1px solid var(--border);
      box-shadow: 0 8px 24px rgba(0,0,0,.25);
      background: rgba(255,255,255,.06);
    }
    .section-image img{
      width: 100%;
      aspect-ratio: 4 / 3;   /* uniforme y sin “largas” */
      object-fit: cover;
      display: block;
    }

    /* =========================
       CONTACTO
       ========================= */
    .contact-list{
      margin-top: 12px;
      display: grid;
      gap: 6px;
      color: var(--text-soft) !important;
    }
    .contact-list a{ color:#fff !important; text-decoration: underline; }

    /* =========================
       RESPONSIVE
       ========================= */
    @media (max-width: 900px){
      .info-section{
        grid-template-columns: 1fr;
        gap: 20px;
      }
      .info-section.reverse .section-text{ order:1; }
      .info-section.reverse .section-image{ order:2; }
      .about-hero h1{ font-size: 34px; }
    }
    @media (max-width: 520px){
      .about-hero{ padding: 22px 18px; }
      .about-hero h1{ font-size: 28px; }
      .section-text{ padding: 18px; }
    }
  /* ====== Form Huellitas (limpio y legible) ====== */
.auth-container{
  max-width: 420px;
  margin: 100px auto 64px;
  padding: 28px 24px;
  border-radius: 20px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 8px 24px rgba(0,0,0,.20);
  text-align: center;
}

.auth-container h1{
  margin: 8px 0 16px;
  font-weight: 800;
  text-shadow:
    0 0 14px rgba(255,255,255,.85),
    0 2px 10px rgba(0,0,0,.35);
}

/* Layout del form */
.auth-container form{
  display: grid;
  gap: 14px;
}

/* Inputs/textarea/select con estilo consistente */
.auth-container input,
.auth-container textarea,
.auth-container select{
  width: 100%;
  background: #ffffff !important;          /* sin azul */
  color: #0B0C10 !important;               /* texto oscuro, legible */
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 12px;
  padding: 12px 14px;
  line-height: 1.4;
  box-shadow: 0 1px 3px rgba(0,0,0,.06) inset;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
  font: inherit;                            /* usa tu tipografía global */
}

.auth-container textarea{
  min-height: 110px;
  resize: vertical;
}

/* Placeholders más suaves */
.auth-container ::placeholder{
  color: #9AA1A9;
}

/* Foco accesible (coral) */
.auth-container input:focus,
.auth-container textarea:focus,
.auth-container select:focus{
  outline: none;
  border-color: #F43F5E;                    /* Coral 500 */
  box-shadow: 0 0 0 4px rgba(244,63,94,.15);
}

/* Estado error (si usas .is-error) */
.auth-container .is-error{
  border-color: #DC2626 !important;
  box-shadow: 0 0 0 4px rgba(220,38,38,.15) !important;
}

/* Botón primario */
.auth-container button[type="submit"]{
  background: #E11D48;                      /* Coral 600 */
  color: #fff;
  border: none;
  padding: 12px 18px;
  border-radius: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .15s ease, background-color .2s ease;
}
.auth-container button[type="submit"]:hover{
  background: #F43F5E;                      /* Coral 500 */
  transform: translateY(-1px);
}

/* Links */
.auth-container a{
  color: #fff;
  opacity: .9;
  text-decoration: underline;
}
.auth-container a:hover{ opacity: 1; }

/* Mensajes de error del backend */
.error-message{
  background: rgba(220,38,38,.16);
  border: 1px solid rgba(220,38,38,.35);
  color: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  margin: 8px 0 14px;
}

/* ===== Fix para Chrome/Edge autofill (sin fondo azul) ===== */
.auth-container input:-webkit-autofill,
.auth-container input:-webkit-autofill:focus,
.auth-container input:-webkit-autofill:hover{
  -webkit-text-fill-color: #0B0C10 !important;
  box-shadow: 0 0 0 1000px #ffffff inset !important;  /* pinta blanco */
  transition: background-color 5000s ease-in-out 0s;
}
.add-pet-button {
    position: fixed;
    bottom: 20px; /* Distancia desde el borde inferior */
    right: 20px; /* Distancia desde el borde derecho */
    background-color: #2CAEDD; /* Color azul */
    color: white;
    padding: 15px;
    border-radius: 50%; /* Hacerlo redondo */
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 32px;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.3); /* Sombra más fuerte */
    z-index: 1000; /* Asegura que el botón esté por encima de otros elementos */
    text-decoration: none;
    transition: all 0.3s ease; /* Suaviza la animación al pasar el mouse */
}

.add-pet-button img {
    width: 20px; /* Ajustamos el tamaño del ícono */
    height: 20px; /* Tamaño ajustado del ícono */
    margin-right: 8px; /* Espacio entre la imagen y el signo + */
}

.add-pet-button:hover {
    background-color: #229ba6; /* Cambiar a un color más fuerte cuando pasa el cursor */
    transform: scale(1.1); /* Aumentar ligeramente el tamaño cuando pasa el cursor */
    cursor: pointer; /* Cambiar el cursor a un puntero */
}

/* Animación para cuando aparece el botón */
@keyframes buttonAppear {
    from {
        opacity: 0;
        transform: translateY(100px); /* Comienza desde abajo */
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.add-pet-button {
    animation: buttonAppear 0.5s ease-in-out; /* Animación de entrada */
}
 /* Flecha personalizada en el select */
    select.cta-button::-ms-expand {
        display: none; /* Elimina la flecha predeterminada en IE */
    }

    /* Estilo para los elementos del dropdown */
    select.cta-button option {
        background-color: #fff; /* Fondo blanco de las opciones */
        color: #333; /* Color de texto oscuro */
        padding: 10px;
    }

    select.cta-button option:hover {
        background-color: #f0f0f0; /* Fondo claro cuando se pasa el ratón sobre la opción */
    }
    /* HERO WRAPPER (Contenedor general) */
.hero-wrapper {
    width: 100%;
    position: relative;
}

/* HERO TITLE */
.hero-title {
    position: relative;
    width: 100%;
    text-align: center;
    padding: 20px;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); /* Sombra suave */
    z-index: 10;
}

/* HERO TITLE - TITLES */
.hero-title h1 {
    font-size: 3rem;
    font-weight: 700;
    color: #333;
    margin: 0;
}

/* HERO SECTION (Imagen de fondo) */
.hero {
    width: 100%;
    height: 400px;
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

/* HERO IMAGE */
.hero-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    border-radius: 15px;
    overflow: hidden;
}

.hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
}

/* QUITAR CRISTALIZADO EN SECCIONES */
.hero, .hero-image {
    background: none; /* Eliminamos fondo cristalizado */
    box-shadow: none; /* Quitamos cualquier sombra extra */
}

/* SECCIÓN DE GALERÍA DE IMÁGENES */
.gallery-section {
    width: 100%;
    padding: 40px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: none; /* Fondo limpio, sin cristalizado */
}

.gallery-container {
    position: relative;
    width: 100%;
    max-width: 900px;
    overflow: hidden;
}

.image-slider {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.image-slide {
    flex: 0 0 100%;
    text-align: center;
}

.image-slide img {
    width: 100%;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.image-slide p {
    font-size: 1.2rem;
    margin-top: 10px;
    color: #333;
}


 
.perfil-container{
  max-width:1000px;
  margin:48px auto;
  padding:30px;
  border-radius:24px;
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border:1px solid rgba(255,255,255,0.3);
  box-shadow: 0 20px 60px rgba(2,19,34,0.25);
}
 

/* ====== Panel cristal de información personal ====== */
.user-info{
  background: rgba(255,255,255,0.16);
  border:1px solid rgba(255,255,255,0.35);
  border-radius:18px; padding:20px; margin-bottom:36px;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 8px 28px rgba(0,0,0,.18);
}
.user-info p{font-size:1rem;color:#f8fafc;margin:0 0 8px}
.user-info strong{color:#ffffff}

/* ====== Tarjetas (publicaciones) ====== */
.pet-card{
  background: rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,0.28);
  border-radius:18px;padding:16px;overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
  box-shadow: 0 8px 26px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.35);
}
.pet-card:hover{transform:translateY(-4px);box-shadow:0 14px 44px rgba(0,0,0,.22)}
.pet-card img{width:100%;height:250px;object-fit:cover;border-radius:12px;margin-bottom:12px}
.pet-card .card-title{color:#ffffff;font-weight:800;margin-bottom:6px}
.pet-card .card-text{color:#eef2f7;margin-bottom:4px}
.action-buttons .btn-glass{margin:0 10px 10px 0}

/* ====== Botón GLASS (estilo de tu imagen) ====== */
.btn-glass{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  gap:.5rem; padding:.65rem 1.15rem; border-radius:16px; border:1px solid var(--glass-bd);
  color:#fff; font-weight:800; text-shadow:0 2px 6px rgba(0,0,0,.25);
  background: var(--glass-bg);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 10px 30px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.45);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-glass::before{
  content:""; position:absolute; inset:-10px; border-radius:22px; z-index:-1;
  background: radial-gradient(120px 40px at 50% 10%, rgba(255,255,255,.35), transparent 60%);
  filter: blur(10px); opacity:.7;
}
.btn-glass:hover{background:var(--glass-hover); transform:translateY(-1px);
  box-shadow:0 14px 40px var(--btn-glow, rgba(0,0,0,.22)), inset 0 1px 0 rgba(255,255,255,.55);}
.btn-glass:active{transform:translateY(0)}
.btn-glass.btn-sm{padding:.45rem .9rem;border-radius:14px;font-weight:800}

/* Variantes de color (glow) */
.btn-glass-primary{ --btn-glow: rgba(0,188,212,.55) }
.btn-glass-success{ --btn-glow: rgba(16,185,129,.55) }
.btn-glass-danger{  --btn-glow: rgba(239,68,68,.55) }
.btn-glass-secondary{--btn-glow: rgba(148,163,184,.55) }
.btn-glass-info{    --btn-glow: rgba(59,130,246,.55) }

/* ====== Modales (cristal + inputs legibles)   Perfil ====== */
.modal-content{
  background: rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,0.32);
  border-radius:18px; padding:16px;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 18px 48px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.4);
}
.modal-header{
  background: linear-gradient(135deg,#00bcd4,#00a5bb);
  color:#fff; border-radius:12px;
}
.modal-footer{display:flex;justify-content:space-between}
.modal-body input,
.modal-body select,
.modal-body textarea{
  width:100%; margin-bottom:12px; padding:10px 12px; border-radius:10px;
  border:1px solid rgba(0,0,0,.15);
  font-weight:700; color:#111827;
  background: rgba(255,255,255,0.9);
}
.modal-body ::placeholder{color:#6b7280;font-weight:600}

/* ====== Titulares fuertes (contraste) ====== */
h1{font-weight:900}
h2,h3,h4,h5,h6{font-weight:800}
/* ====== Panel cristal de información personal ====== */
.user-info p {
  font-size: 1rem;
  color: #f8fafc;
  margin: 0 0 8px;
  font-weight: bold; /* Haciendo el texto en negritas */
}

.user-info strong {
  color: #ffffff;
  font-weight: bold; /* Asegura que el texto fuerte sea también en negritas */
}

/* ====== Inputs y placeholders ====== */
.modal-body input,
.modal-body select,
.modal-body textarea {
  width: 100%;
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  font-weight: bold; /* Haciendo que el texto de los inputs sea negrita */
  color: #111827;
  background: rgba(255, 255, 255, 0.9);
}

.modal-body ::placeholder {
  color: #6b7280;
  font-weight: bold; /* Placeholder en negrita */
}

/* ====== Títulos de la página ====== */
h1 {
  font-weight: bold; /* Título principal en negritas */
}

h2,
h3,
h4,
h5,
h6 {
  font-weight: bold; /* Subtítulos en negritas */
}

/* ===== SECCIÓN DE TARJETAS DE ACCIÓN (mismo estilo “cool”) ===== */
.action-cards-container{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:22px;
  margin-top:34px;
  padding:4px;
}
.action-card{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  padding:26px;
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(0,204,255,.35));
  box-shadow: 0 12px 28px rgba(0,0,0,.18), inset 0 2px 0 rgba(255,255,255,.45);
  text-align:center;
  transition:transform .35s ease, box-shadow .35s ease, filter .35s ease;
}
.action-card::after{
  content:"";
  position:absolute; inset:-40% -10% auto -10%;
  height:140%; transform:rotate(12deg);
  background: linear-gradient(90deg, rgba(255,255,255,.28), rgba(255,255,255,0));
  pointer-events:none;
}
.action-card:hover{
  transform:translateY(-10px);
  box-shadow: 0 18px 44px rgba(0,0,0,.24);
  filter:saturate(1.05);
}
.action-card i{
  font-size:2.4rem; color:#1a73e8; margin-bottom:14px; transition:transform .35s ease;
}
.action-card:hover i{ transform:scale(1.12); }
.action-card h3{ color:#1f2937; font-weight:800; margin:8px 0 10px; }
.action-card p{ color:#4b5563; margin:0 0 18px; }
.action-card a{
  display:inline-block; padding:11px 22px; border-radius:999px;
  background:#1a73e8; color:#fff; text-decoration:none; font-weight:700; letter-spacing:.3px;
  box-shadow:0 8px 18px rgba(26,115,232,.35);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.action-card a:hover{ background:#1558b0; transform:translateY(-2px); box-shadow:0 12px 24px rgba(26,115,232,.45); }

/* ===== CHARTS SECTION con el mismo estilo ===== */
.charts-section{ margin-top:48px; }
.charts-title{ color:#e7f5ff; font-weight:800; letter-spacing:.3px; margin-bottom:18px; }

.charts-container{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:22px;
}

.chart-card{
  position:relative;
  border-radius:20px;
  padding:22px;
  background: linear-gradient(160deg, rgba(255,255,255,.9), rgba(26,115,232,.18));
  box-shadow: 0 12px 28px rgba(0,0,0,.18), inset 0 2px 0 rgba(255,255,255,.45);
  transition:transform .35s ease, box-shadow .35s ease, filter .35s ease;
  text-align:center;
  min-height:240px;
}
.chart-card::before{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(600px 160px at -10% -20%, rgba(255,255,255,.35), transparent 60%);
  pointer-events:none;
}
.chart-card:hover{
  transform:translateY(-8px);
  box-shadow:0 18px 44px rgba(0,0,0,.24);
  filter:saturate(1.04);
}

/* Placeholder de gráfica con estética consistente */
.chart-placeholder{
  height:180px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  font-weight:700; letter-spacing:.3px;
  color:#134e68;
  background: linear-gradient(180deg, #e6f6ff, #d9f2ff);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(0,0,0,.06);
}

  /* =========================
       Dashboard Contenido
       ========================= */

       .notification-bell {
    position: fixed;
    top: 10px;
    right: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.notification-bell img {
    width: 30px;
}

                    /*HEADER*/
 .nav-links {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

/* Estilo base para TODOS los controles del header */
.nav-links a,
.nav-links button.nav-link-btn,
.nav-links .nav-link-select-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 1.7rem;
    border-radius: 999px;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-decoration: none;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.45);
    background: radial-gradient(circle at 0 0,
                rgba(255, 255, 255, 0.25),
                rgba(255, 255, 255, 0.05));
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.25),
        0 0 0 1px rgba(255, 255, 255, 0.12);
    transition: all 0.25s ease;
    cursor: pointer;
}

/* Línea curva inferior (incluye filtro) */
.nav-links a::after,
.nav-links button.nav-link-btn::after,
.nav-links .nav-link-select-wrapper::after {
    content: "";
    position: absolute;
    left: 18%;
    right: 18%;
    bottom: -5px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0),
        rgba(255, 255, 255, 0.7),
        rgba(255, 255, 255, 0)
    );
    opacity: 0.8;
}

/* Hover */
.nav-links a:hover,
.nav-links button.nav-link-btn:hover,
.nav-links .nav-link-select-wrapper:hover {
    transform: translateY(-1px) scale(1.02);
    box-shadow:
        0 14px 30px rgba(0, 0, 0, 0.35),
        0 0 0 1px rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.75);
}

/* Opcional: activo, sin cambiar la paleta */
.nav-links a.active,
.nav-links button.nav-link-btn.active {
    background: radial-gradient(circle at 0 0,
                rgba(255, 255, 255, 0.35),
                rgba(255, 255, 255, 0.1));
}

/* Reset del button */
.nav-links button.nav-link-btn {
    border: none;
    background: transparent;
}

/* --- SELECT DEL FILTRO --- */

 
/* Quitar el foco feo */
.nav-link-select-wrapper select:focus {
    outline: none;
}
 

 

/* Efecto de deslizamiento (slide-in) para el título */
.hero-title h1 {
    font-size: 50px;
    font-weight: bold;
    color: #2CAEDD;
    animation: slideIn 1s ease-out forwards;
    opacity: 0; /* Inicialmente invisible */
}

/* Efecto de deslizamiento para la imagen */
.hero-image img {
    width: 100%;
    max-width: 600px;
    border-radius: 10px;
    animation: fadeIn 1.5s ease-out forwards;
    opacity: 0; /* Inicialmente invisible */
}

/* Animación del título (deslizar desde la izquierda) */
@keyframes slideIn {
    0% {
        transform: translateX(-100%);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Animación de la imagen (desvanecerse) */
@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/* Estilo adicional para el título (puedes ajustarlo a tu gusto) */
.hero-title {
    margin-bottom: 20px;
    animation-delay: 0.5s; /* Esperar medio segundo antes de que aparezca el título */
}

/* Estilo de la imagen en dispositivos pequeños */
@media (max-width: 768px) {
    .hero-image img {
        max-width: 100%; /* Para que la imagen ocupe todo el ancho en móviles */
    }
}

