/* General Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  body {
    background:#000;
    color:#fff;
    font-family: Arial, sans-serif;
    /* quita la caja centrada: */
    display:block;          /* o elimina por completo display/justify/align */
    margin:0;
  }
/* contenedor a pantalla completa */
.mobile-container{
  position:fixed;                /* lo “pegamos” a la ventana */
  inset:0;                       /* top/right/bottom/left = 0 */
  width:100vw;
  height:100dvh;                 /* alto real, incluidos cambios de barra */
  display:flex;
  flex-direction:column;
  background:#000;
}
  /* Top Bar */
  .topbar {
    margin-top: 0;
    height: 55px;
    background-color: #000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 16px;
    color: white;
  }
  
  .photokdv {
    width: 100px;
    height: auto;
  }
  
  .time {
    font-size: 1rem;
    font-weight: bold;
  }
  
  .logo {
    font-size: 1.2rem;
    font-family: serif;
    color: red;
  }
  
  .menu-icon {
    font-size: 1.5rem;
    cursor: pointer;
  }
  
  /* Contenido real de la pantalla (debajo de la notch) */
  .screen-content {
    width: 100%;
    /*
      En lugar de height: calc(100% - 44px), 
      dejamos que el contenido fluya libremente.
    */
    padding: 1rem;
    box-sizing: border-box;
    overflow: auto; /* Para permitir scroll en pantallas más pequeñas */
  }
  
  /* Contenedor interno para la foto + tarjeta */
  .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    color: #fff;
    margin-top: -2rem;
  }
  
  .photo-container {
    /* Usamos un tamaño relativo al ancho máximo del contenedor */
    width: 40vw;         
    max-width: 170px;    /* No excede 170px */
    height: 40vw;        
    max-height: 170px;
  
    border-radius: 70%; /* Hace el contenedor circular */
    overflow: hidden;
    position: relative;
  
    /* Fondo con gradiente para simular el borde */
    background: linear-gradient(rgba(128, 128, 128, 0.2), rgba(128, 128, 128, 0.1));
    padding: 5px; /* Tamaño del borde */
  
    /* Sombra externa */
    box-shadow: 0 0 15px rgba(49, 46, 46, 0.5);
    animation: pulse 2s infinite ease-in-out;
  
    /* Posición para manejar la superposición */
    top: 60px;
    z-index: 2;
  }
  
  .photo {
    display: block;              /* Asegura que la imagen se comporte como bloque */
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;     /* Centra el contenido dentro del contenedor */
    border-radius: 50%;          /* Redondea la imagen */
  }
  
  @keyframes pulse {
    0% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.15);
    }
    100% {
      transform: scale(1);
    }
  }
  
  /* ------------------------ */
  /* Tarjeta con efecto “flip” */
  /* ------------------------ */
  
  .card {
    width: 80%;               /* Ajuste automático al 80% del contenedor */
    max-width: 300px;         /* No exceder 300px */
    height: 180px;            /* Ajustamos un poco la altura para ganar espacio */
    perspective: 1000px;
    cursor: pointer;
    position: relative;
  }
  
  .card-face {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 6px;
    backface-visibility: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: linear-gradient(140deg, #765e01a3, #ac9003fd);
    padding: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  
    transition: transform 0.3s;
  }
  
  .card-front {
    z-index: 2;
  }
  
  /* Estilo para las filas */
  .card-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  /* Fila 1: Logos */
  .row-logos {
    justify-content: space-between;
  }
  
  .logo2 {
    margin-top: 6px;
    margin-left: 6px;
    width: 90px;
    height: auto;
 


     
  }

  .logo1 {
    margin-left: 5px;
    margin-top: 6px;
    width: 27px;
    height: auto;
     
  }
  
  /* Fila 2: Nombre centrado */
  .row-name {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: 'Roboto';
  }
  
  /* Nombre */
  .name {
    margin: 0;
    margin-bottom: -3px;
    font-size: 1.3rem;
    color: #fff;
    text-align: center;
    font-family: "Montserrat", serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    font-variation-settings: "slnt" 0, "wdth" 200;
    letter-spacing: 1.5px;
  }
  
  /* Apellido */
  .surname {
    margin: 0;
    font-size: 1.3rem;
    color: #fff;
    text-align: center;
    font-family: "Montserrat", serif;
    font-weight: 300;
    font-style: normal;
    font-variation-settings: "wdth" 200, "opsz" 16;
    letter-spacing: 1.5px;
  }
  
  /* Fila 3: DNI y Carnet */
  .row-details {
    justify-content: space-between;
    align-items: flex-end;
    padding: 0 10px;
  }
  
  .dni, .carnet {
    text-align: left;
    color: #fff;
  }
  
  .carnet {
    margin-right: 25%;
  }
  
  .dni p:first-child,
  .carnet p:first-child {
    font-family: "Montserrat", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 200;
    font-variation-settings: "wdth" 100;
    font-size: 0.55rem;
    margin-bottom: 8px;
    color: #c6c6c6;
    letter-spacing: 1px;

  }
  
  .dni p:last-child,
  .carnet p:last-child {
    font-family: "Montserrat", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 300;
    font-variation-settings: "width" 100;
    font-size: 0.9rem;
    letter-spacing: 0.5px;

  }
  
  .card-back {
    transform: rotateY(180deg);
  }
  
  .card.flipped .card-front {
    transform: rotateY(180deg);
  }
  
  .card.flipped .card-back {
    transform: rotateY(360deg);
  }
  
  /* Footer */
  .footer {
    background-color: #000; /* Fondo negro */
    text-align: left;
    padding: 20px; /* Espaciado interno */
    color: rgba(255, 255, 255, 0.8); /* Texto blanco con opacidad */
    font-family: 'Arial', sans-serif; /* Fuente sencilla y limpia */
  }
  
  .footer-title {
    display: flex;
    align-items: center;
    justify-content: left;
    font-family: 'Roboto', sans-serif;
    font-size: 0.9rem; /* Tamaño del título */
    color: #fff; /* Blanco puro */
    margin-bottom: 10px; /* Espaciado entre el título y el texto */
  }
  
  .footer-title .line {
    flex: 1; /* Las líneas ocupan el espacio restante */
    height: 1px; /* Altura de la línea */
    background-color: #fff; /* Color blanco */
    opacity: 0.5; /* Transparencia de la línea */
    margin: 0 10px; /* Espaciado alrededor de las líneas */
  }
  
  .footer-text {
    font-size: 0.75rem; /* Tamaño del texto */
    text-align: left;
    line-height: 1.4; /* Altura de línea para mejorar la legibilidad */
    color: rgba(28, 27, 27, 0.7); /* Blanco con opacidad */
    max-width: 300px; /* Ancho máximo del texto */
    margin: 0 auto; /* Centra el texto */
    font-style: italic; /* Hace el texto en cursiva */
  }
  
  /* ------------------------ */
  /* MEDIA QUERIES */
  /* Ajustes extra en pantallas muy pequeñas */
  /* ------------------------ */
  @media (max-width: 480px) {
    .topbar {
      margin-top: 20px;
      padding: 0 8px;
    }
  
    .photo-container {
      width: 50vw;
      height: 50vw;
      max-width: 150px;
      max-height: 150px;
    }
  
    .card {
      height: 150px;
    }
  
    .name, .surname {
      font-size: 1.1rem;
    }
  }
  
  /* Ajustes extra en pantallas más grandes (por si lo muestras en desktop) */
  @media (min-width: 768px) {
    .mobile-container {
      width: 50vw;
      max-width: 400px;
      min-height: 80vh;
    }
    
    .card {
      width: 300px;
    }
  }
  