body{ margin:0; font-family:system-ui,sans-serif; background:#f5f9ff; color:#222;}

.container{ max-width:1000px; margin:30px auto; padding:0 16px;}
.muted{ color:#666; }

.grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.card{ background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 8px 22px rgba(0,0,0,.08); }
.card img {
    width: 100%;
    height: 190px;
    object-fit: contain;   /* 🔥 muestra la imagen completa */
    background: #f3f5f9;   /* relleno cuando sobra espacio */
    display: block;
}
.card .body{ padding:14px; }
.card h3{ margin:0 0 6px; }
.card button{ margin-top:10px; width:100%; padding:10px; border:none; border-radius:12px; background:#0b67b0; color:#fff; font-weight:800; cursor:pointer;}

@media (max-width:900px){ .grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .grid{ grid-template-columns:1fr;} }

.top{
    position:sticky;top:0;z-index:20;
    background:linear-gradient(180deg,rgba(11,103,208,0.12),rgba(246,251,255,0.95));
    backdrop-filter:blur(8px);
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px 18px;
    border-bottom:1px solid rgba(0,0,0,0.04)
    
}
.brand{
    display:flex;
    align-items:center;
    gap:10px
    
}
.logo{
    width:40px;
    height:40px;
    border-radius:12px;
    background:linear-gradient(135deg,#0b67d0,#32b5ff);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    font-size:20px
    
}
.logo1 {
        max-width: 100px;
      }
.brand-title{
    font-weight:800;
    font-size:16px
    
}
.muted{
    color:var(--muted)
    
}

nav a{
    margin-left:10px;
    text-decoration:none;
    color:#062032;
    font-weight:600;
    font-size:14px
    
}
nav a.admin-link{
    padding:6px 10px;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(11,103,208,0.25)
    
}

.small{font-size:12px}
label{display:block;font-size:13px;font-weight:600;margin-top:8px}
input,textarea,button{font-family:inherit}
input,textarea{width:100%;padding:8px 10px;border-radius:10px;border:1px solid #e1e9f5;font-size:14px;margin-top:4px}
button{border-radius:999px;border:none;background:var(--blue);color:#fff;padding:10px 16px;font-weight:700;margin-top:10px;cursor:pointer}
footer{text-align:center;padding:16px;color:var(--muted);font-size:12px}
@media(max-width:800px){
  .hero{flex-direction:column}
  .hero-card{max-width:100%}
}



/* ----- MENÚ HAMBURGUESA MÓVIL ----- */
.menu-btn {
    display: none;
    font-size: 32px;
    background: none;
    border: none;
    cursor: pointer;
    color: #003366;
}

/* Estilos móviles */
@media (max-width: 768px) {

    nav {
        display: none; /* Ocultar menú normal */
        position: absolute;
        top: 70px;
        right: 0;
        width: 200px;
        background: white;
        padding: 20px;
        border-radius: 12px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        text-align: right;
        z-index: 1000;
    }

    nav a {
        display: block;
        padding: 10px;
        font-size: 18px;
        color: #003366;
    }

    nav.show {
        display: block;
    }

    /* Mostrar botón hamburguesa en móvil */
    .menu-btn {
        display: block;
    }
}






.bloqueo-fecha-wrapper {
  position: relative;
  min-height: 100vh;
}

.bloqueo-fecha-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: background 0.4s ease;
  background: rgba(0, 0, 0, 0);
}

.bloqueo-fecha-overlay .bloqueo-fecha-texto {
  display: none;
  font-size: clamp(24px, 4vw, 52px);
  font-weight: 800;
  text-align: center;
  color: #111;
  background: rgba(255, 255, 255, 0.88);
  padding: 18px 28px;
  border-radius: 16px;
  box-shadow: 0 10px 35px rgba(0,0,0,0.18);
  max-width: 90%;
}

body.bloqueo-progresivo {
  transition: filter 0.4s ease, opacity 0.4s ease;
}

body.bloqueo-vencido {
  filter: grayscale(1) brightness(1.12);
  opacity: 0.45;
  overflow: hidden;
}

body.bloqueo-vencido * {
  user-select: none !important;
}

body.bloqueo-vencido a,
body.bloqueo-vencido button,
body.bloqueo-vencido input,
body.bloqueo-vencido select,
body.bloqueo-vencido textarea,
body.bloqueo-vencido .btn,
body.bloqueo-vencido [onclick] {
  pointer-events: none !important;
}





