/* subpages.css — TITULO CENTRADO + LOOK NEÓN COMO EL INDEX */ /* Fuentes (opcional) */ @import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Special+Elite&display=swap'); :root{ --bg: #000000; --panel: #0a0a0a; --text: #e6e6e6; --muted: #a8a8a8; --green: #00ff00; --green-dark: #008000; --pink: #ff69b4; --red: #ff0000; --cyan: #00ffff; /* MÁS ANCHO SIN ROMPER TODO */ --maxw: 1400px; --pad: clamp(14px, 2.4vw, 28px); } /* Reset */ *{ box-sizing: border-box; margin: 0; padding: 0; } html, body{ height: 100%; } /* Fondo y tipografía general */ body{ background: radial-gradient(900px 900px at 50% -10%, rgba(0,255,255,0.06), transparent 40%), #000; color: var(--text); font-family: 'Special Elite','Courier New', monospace; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Contenedor principal */ .wrapper{ min-height: 100vh; display: flex; flex-direction: column; } /* ====== CABECERA ====== */ .sub-header{ position: relative; width: 100%; background: rgba(0,0,0,0.8); backdrop-filter: blur(2px); border-bottom: 1px solid rgba(0,255,255,0.14); overflow: hidden; } .sub-header::before{ content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(0,255,255,0.05) 1px, transparent 1px) 0 0 / 22px 22px, linear-gradient(0deg, rgba(0,255,255,0.05) 1px, transparent 1px) 0 0 / 22px 22px; pointer-events: none; } .sub-header .inner{ max-width: var(--maxw); margin: 0 auto; padding: var(--pad) clamp(12px, 3vw, 22px); text-align: center; } .sub-header h1{ font-family: 'Press Start 2P', monospace; font-size: clamp(24px, 5vw, 56px); text-transform: uppercase; color: var(--pink); letter-spacing: 0.02em; line-height: 1.1; margin-bottom: 14px; text-shadow: 3px 3px 0 var(--red), -1px -1px 0 var(--red), 1px -1px 0 var(--red), -1px 1px 0 var(--red), 1px 1px 0 var(--red), 0 0 14px rgba(255,105,180,0.35); } .sub-header h1::before, .sub-header h1::after{ content:""; display:inline-block; vertical-align: middle; width: clamp(28px, 10vw, 160px); height: 2px; margin: 0 clamp(8px, 2vw, 18px); background: linear-gradient(90deg, transparent, var(--pink), transparent); box-shadow: 0 0 8px rgba(0,255,255,0.35); } .sub-header .tagline{ font-size: clamp(12px, 1.8vw, 16px); color: var(--muted); margin-top: 2px; } .sub-header .crumbs{ margin-top: 10px; font-size: 0.95rem; color: var(--muted); text-align: center; } .sub-header .crumbs a{ color: var(--green); text-decoration: none; border-bottom: 1px dashed rgba(0,255,0,0.5); } .sub-header .crumbs a:hover{ color: #000; background: var(--green); } /* ====== CONTENIDO ====== */ .content{ flex: 1 0 auto; max-width: var(--maxw); margin: 0 auto; padding: calc(var(--pad) + 6px) clamp(18px, 3.4vw, 28px) calc(var(--pad) + 18px); } /* Panel principal */ .panel{ background: var(--panel); border: 1px solid rgba(0,255,255,0.18); box-shadow: 0 0 20px rgba(0,255,255,0.05); border-radius: 12px; padding: clamp(14px, 2.6vw, 32px); margin-bottom: clamp(16px, 2.6vw, 28px); } /* Subtítulos dentro del contenido */ h2{ color: var(--green); margin: 6px 0 10px; font-size: clamp(18px, 2.6vw, 30px); text-transform: uppercase; letter-spacing: 0.03em; text-shadow: 0 0 8px rgba(0,255,255,0.25); } h3{ color: var(--green); margin: 10px 0 8px; font-size: clamp(16px, 2.2vw, 22px); } /* Tipografía */ p{ line-height: 1.75; margin: 8px 0 10px; } ul{ margin: 8px 0 12px 0; padding-left: 0; list-style: none; } li{ margin: 8px 0; } .datetime{ color: var(--pink); } .title{ color: var(--green); } /* Enlaces */ a{ color: var(--green); text-decoration: none; position: relative; } a:hover{ color: #000; background: var(--green); } a:focus-visible{ outline: 2px solid rgba(0,255,255,0.45); outline-offset: 3px; } /* Botón */ .button{ display: inline-block; background: var(--green); color: #000; border: 2px solid var(--green); box-shadow: 0 4px var(--green-dark); border-radius: 8px; padding: 10px 16px; font-weight: bold; transition: transform .16s ease, box-shadow .16s ease, background .16s ease; white-space: nowrap; } .button:hover{ background: var(--pink); color: var(--green); box-shadow: 0 6px var(--green), 0 0 10px var(--pink); transform: translateY(-2px); } /* Meta-links en línea */ .meta-links{ display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 14px 0; } /* Imágenes (carteles) – legado */ .poster{ width: 100%; max-width: 720px; height: auto; max-height: 520px; border: 1px solid rgba(0,255,255,0.18); box-shadow: 0 0 16px rgba(0,255,255,0.06); border-radius: 10px; object-fit: contain; } /* NUEVO: Rejilla de 3 imágenes */ .media-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 2vw, 18px); margin: 12px 0 14px; } .thumb img{ width: 100%; height: 100%; object-fit: cover; /* ya lo tienes */ display: block; filter: saturate(1.05) contrast(1.06); transition: transform .25s ease, filter .25s ease, object-fit 0s; /* object-fit no anima, pero el cambio es instantáneo */ } /* ================================================================en hover: ver la imagen ENTERA sin recorte */ .thumb:hover{ background: #000; /* relleno neutro para las bandas */ } .thumb:hover img{ object-fit: contain; /* muestra la imagen completa */ transform: none; /* sin zoom para no recortar otra vez */ filter: saturate(1) contrast(1); cursor: zoom-out; /* sugerencia visual */ } /* Footer */ .sub-footer{ margin-top: auto; width: 100%; border-top: 1px solid rgba(0,255,255,0.14); color: var(--muted); background: #000; } .sub-footer .inner{ max-width: var(--maxw); margin: 0 auto; padding: 16px; font-size: 0.95rem; text-align: center; } /* ====== CALENDARIO ====== */ .cal { display: grid; gap: 8px; background: #000; border: 1px solid rgba(0,255,255,0.18); border-radius: 12px; padding: 10px; box-shadow: 0 0 20px rgba(0,255,255,0.05); } .cal-controls{ display: flex; align-items: center; justify-content: center; gap: 10px; margin: 6px 0 12px; } .cal-title{ min-width: 220px; text-align: center; font-weight: bold; color: var(--green); text-shadow: 0 0 8px rgba(0,255,255,0.25); } .cal-row{ display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 8px; } .cal-cell{ position: relative; background: #050505; border: 1px solid rgba(0,255,0,0.35); /* líneas verdes */ border-radius: 8px; min-height: 90px; overflow: hidden; } .cal-head{ opacity: 0.9; } .cal-head-cell{ background: #0a0a0a; color: var(--cyan); text-align: center; font-weight: bold; padding: 8px 0; border: 1px solid rgba(0,255,255,0.18); } .cal-daynum{ position: absolute; top: 6px; left: 8px; font-size: 0.95rem; color: var(--muted); z-index: 2; } .cal-empty{ background: #000; border-style: dashed; opacity: 0.5; } /* celdas con evento: fondo con imagen + overlay oscuro */ .cal-event{ background: #000; } .cal-event::before{ content: ""; position: absolute; inset: 0; background-image: var(--bgimg); background-size: cover; background-position: center; filter: contrast(1.05) saturate(1.05); opacity: 0.9; transition: transform .25s ease, opacity .2s ease; } .cal-event::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.22), rgba(0,0,0,0.6)); pointer-events: none; } .cal-event .cal-label{ position: absolute; left: 8px; bottom: 8px; z-index: 2; display: inline-block; background: var(--green); color: #000; border: 1px solid #0f0; padding: 4px 8px; border-radius: 6px; font-weight: 700; box-shadow: 0 0 8px rgba(0,255,0,0.35); } .cal-event:hover::before{ transform: scale(1.04); opacity: 1; } /* badge leyenda */ .cal-legend{ margin-top: 10px; color: var(--muted); } .badge{ display: inline-block; border: 1px solid rgba(0,255,0,0.5); color: var(--green); padding: 2px 6px; border-radius: 6px; margin-right: 6px; } /* ========================= FULL-WIDTH para eventos.html ========================= */ .page-eventos-wide .sub-header .inner, .page-eventos-wide .content, .page-eventos-wide .sub-footer .inner{ max-width: none !important; /* quita el límite de --maxw */ width: 100% !important; } .page-eventos-wide .content{ margin: 0; /* sin centrado fijo */ padding-left: clamp(10px, 2vw, 28px); /* bordes respirables */ padding-right: clamp(10px, 2vw, 28px); } /* Que los paneles no se vean “encajonados” */ .page-eventos-wide .panel{ margin-left: 0; margin-right: 0; } /* El calendario también a todo lo ancho */ .page-eventos-wide .cal{ max-width: none; } /* ====== Posters destacados debajo del calendario ====== */ .poster-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); /* dos mitades en escritorio */ gap: clamp(10px, 2vw, 18px); margin-top: 12px; } .poster-card{ position: relative; background: #050505; border: 1px solid rgba(0,255,255,0.18); border-radius: 10px; overflow: hidden; box-shadow: 0 0 16px rgba(0,255,255,0.06); } .poster-card img{ width: 100%; height: auto; display: block; object-fit: cover; /* recorte agradable si la proporción no coincide */ transition: transform .2s ease; } .poster-card:hover img{ transform: scale(1.02); } /* El tercero (ART LAB) ocupa la fila completa pero al 50% de ancho y centrado */ .poster-span{ grid-column: 1 / -1; /* fila completa */ width: 50%; /* la mitad del ancho total */ justify-self: center; /* centrado horizontal */ } /* En pantallas MUY grandes evita que todo se pegue a los bordes */ @media (min-width: 1800px){ .page-eventos-wide .content{ padding-left: 32px; padding-right: 32px; } } /* Responsive se mantiene, pero con ancho completo */ @media (max-width: 720px){ .page-eventos-wide .content{ padding-left: 12px; padding-right: 12px; } } /* ========================= RESPONSIVE — unificado ========================= */ /* <= 1080px: 2 columnas en las galerías, calendario algo más compacto */ @media (max-width: 1080px){ .media-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } .cal { gap: 8px; padding: 10px; } .cal-row { gap: 8px; } .cal-cell{ min-height: 78px; } } /* <= 820px: cabecera ajusta “alas”, calendario más legible */ @media (max-width: 820px){ .sub-header h1::before, .sub-header h1::after{ width: clamp(18px, 6vw, 90px); } .cal { gap: 8px; padding: 10px; } .cal-row { gap: 8px; } .cal-cell{ min-height: 72px; } .cal-title{ font-size: 1.05rem; min-width: 200px; } } /* <= 720px: layout de contenido estrecho, 1 columna en las galerías, controles del calendario en varias líneas y celdas más bajas */ @media (max-width: 720px){ .content{ padding: 14px 12px 28px; } .panel{ padding: 14px; } .sub-header .inner{ padding: 16px 12px 14px; } .media-grid{ grid-template-columns: 1fr; gap: 12px; } .cal-controls{ flex-wrap: wrap; /* botones y título se apilan si no caben */ gap: 8px 10px; } .cal-title{ min-width: auto; font-size: 1rem; padding: 4px 0; } .cal-controls .button{ padding: 8px 12px; /* targets más cómodos al tacto */ font-size: 0.95rem; } .cal { gap: 6px; padding: 8px; } .cal-row { gap: 6px; } .cal-cell{ min-height: 64px; } .cal-daynum{ top: 6px; left: 6px; font-size: 0.9rem; } .cal-event .cal-label{ bottom: 6px; left: 6px; padding: 3px 7px; font-size: 0.85rem; border-radius: 5px; } } /* <= 420px: cabecera compacta y calendario aún más compacto (mejor lectura/uso a una mano) */ @media (max-width: 420px){ .sub-header h1{ font-size: clamp(20px, 7vw, 34px); } .sub-header h1::before, .sub-header h1::after{ display: none; /* sin líneas laterales en móviles muy pequeños */ } .cal { gap: 5px; padding: 6px; } .cal-row { gap: 5px; } .cal-cell{ min-height: 56px; } .cal-daynum{ top: 5px; left: 6px; font-size: 0.88rem; } .cal-event .cal-label{ bottom: 5px; left: 6px; padding: 3px 6px; font-size: 0.78rem; } }