/* stylescss/aviso_de_privacidad.css
   -- CSS acotado para la sección "aviso-container".
   No modifica html/body global para evitar romper header/footer u otros estilos.
*/

:root{
    --card: #ffffff;
    --accent: #0047A0;
    --accent-2: #2fa6ff;
    --muted: #5b6b7a;
    --glass-shadow: 0 10px 30px rgba(7,18,40,0.06);
    --text: #071f3a;
  }
  
  /* Solo aplicar la fuente y estilos dentro del aviso para no afectar otras páginas */
  .aviso-container,
  .aviso-container * {
    box-sizing: border-box;
  }
  
  /* Contenedor principal: centrado en flujo normal (no tocar body) */
  .aviso-container{
    max-width: 920px;
    margin: 40px auto;          /* centrado horizontal sin alterar header/footer */
    background: var(--card);
    padding: 36px;
    border-radius: 14px;
    box-shadow: var(--glass-shadow);
    text-align: center;         /* todo el texto dentro centrado */
    
    color: var(--text);
    animation: cardIn 700ms cubic-bezier(.22,.9,.32,1);
  }
  
  /* Título principal */
  .aviso-container h1{
    font-size: clamp(2rem, 4.8vw, 3.6rem);
    margin: 0 0 18px;
    color: var(--accent);
    font-weight: 800;
    letter-spacing: 0.01em;
    display:inline-block;
    position: relative;
    padding-bottom: 12px;
  }
  
  /* barra decorativa animada bajo el h1 */
  .aviso-container h1::after{
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 62%;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--accent), var(--accent-2));
    filter: blur(0.4px);
    animation: slideGlow 2.8s linear infinite;
    opacity: .95;
  }
  
  /* Subtítulos y texto */
  .aviso-container h2{
    font-size: 1.25rem;
    margin: 22px 0 10px;
    font-weight: 700;
    color: #0a2b4f;
    line-height: 1.22;
  }
  
  .aviso-container p{
    font-size: 1rem;
    margin: 8px 0 16px;
    font-weight: 400;
    line-height: 1.55;
    color: var(--text);
  }
  
  /* Listas: centradas como bloque pero texto alineado a la izquierda */
  .aviso-container ul{
    display: inline-block;
    text-align: left;
    margin: 10px auto 22px;
    padding-left: 1.15rem;
    max-width: 820px;
    width: 100%;
  }
  
  .aviso-container li{
    margin-bottom: 8px;
    line-height: 1.45;
  }
  
  /* Highlight */
  .aviso-container .highlight{
    background: linear-gradient(180deg, #f0fbff, #eaf4fc);
    padding: 14px;
    border-left: 4px solid var(--accent-2);
    border-radius: 10px;
    margin: 12px auto;
    display:inline-block;
    max-width: 100%;
    box-shadow: 0 4px 16px rgba(45,155,255,0.05);
    animation: subtleFloat 6s ease-in-out infinite;
    color: #06314f;
  }
  
  /* Floating label inputs (ejemplo) */
  .aviso-container .form-field{
    position: relative;
    margin: 18px auto 8px;
    width: min(420px, 92%);
    text-align: left;
  }
  
  .aviso-container .form-field input,
  .aviso-container .form-field textarea{
    width: 100%;
    padding: 14px 14px;
    border-radius: 10px;
    border: 1px solid rgba(10,30,60,0.08);
    background: rgba(250,250,252,1);
    
    font-size: 1rem;
    transition: box-shadow .18s ease, border-color .18s ease, transform .12s ease;
    outline: none;
  }
  
  .aviso-container .form-field input:focus,
  .aviso-container .form-field textarea:focus{
    border-color: var(--accent-2);
    box-shadow: 0 10px 30px rgba(47,166,255,0.08);
    transform: translateY(-3px);
  }
  
  /* etiqueta flotante */
  .aviso-container .form-field label{
    position: absolute;
    left: 12px;
    top: 12px;
    font-size: 0.96rem;
    color: var(--muted);
    pointer-events: none;
    transition: transform .16s ease, font-size .16s ease, top .16s ease, color .16s ease;
  }
  
  /* cuando el input tiene texto o foco, elevamos la label */
  /* recuerda en el HTML: placeholder=" " para que :placeholder-shown funcione como en tu markup */
  .aviso-container .form-field input:focus + label,
  .aviso-container .form-field input:not(:placeholder-shown) + label{
    top: -8px;
    font-size: 0.78rem;
    color: var(--accent);
    background: var(--card);
    padding: 0 6px;
  }
  
  /* Animaciones */
  @keyframes cardIn {
    from { opacity: 0; transform: translateY(18px) scale(.995); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
  }
  
  @keyframes slideGlow {
    0% { transform: translateX(-50%) scaleX(.95); opacity:.8; }
    50% { transform: translateX(-50%) scaleX(1.02); opacity:1; }
    100% { transform: translateX(-50%) scaleX(.95); opacity:.8; }
  }
  
  @keyframes subtleFloat {
    0% { transform: translateY(0); }
    50%{ transform: translateY(-4px); }
    100%{ transform: translateY(0); }
  }
  
  /* Responsivo */
/* ********************************************** */
/* MODO RESPONSIVE PARA DIFERENTES DISPOSITIVOS */
/* ********************************************** */

/* Laptops y Desktops Pequeños (1200px) */
@media (max-width: 1200px) {
    .aviso-container {
        max-width: 95%;
    }
}

/* Tablets en horizontal y vertical (1024px) */
@media (max-width: 1024px) {
    .aviso-container {
        padding: 30px;
    }
}

/* Móviles Grandes y Tablets en vertical (768px) */
@media (max-width: 768px) {
    .aviso-container {
        margin: 20px auto;
        padding: 20px;
        border-radius: 10px;
    }
    .aviso-container h1 {
        font-size: clamp(1.8rem, 6vw, 2.8rem);
    }
    .aviso-container h2 {
        font-size: 1.1rem;
    }
    .aviso-container p {
        font-size: 0.95rem;
    }
}

/* Móviles Pequeños (480px) */
@media (max-width: 480px) {
    .aviso-container {
        padding: 15px;
        margin: 15px auto;
    }
    .aviso-container h1 {
        font-size: clamp(1.6rem, 7vw, 2.4rem);
    }
    .aviso-container .highlight {
        padding: 12px;
        border-radius: 8px;
    }
    .aviso-container .form-field {
        width: 96%;
    }
}
