/* Todo está delimitado a .buscador para no alterar las demás vistas. */
html:has(.buscador), body:has(.buscador), #main:has(.buscador) { background: #eee; }
#main:has(.buscador) { min-height: 100vh; }
.buscador { min-height: 100vh; background: #eee; color: #000; font-family: Verdana, Geneva, Tahoma, sans-serif; overflow: hidden; position: relative; }
.buscador *, .buscador *::before, .buscador *::after { box-sizing: border-box; }
.buscador #bubble { inset: 0; list-style: none; margin: 0; padding: 0; pointer-events: none; position: absolute; z-index: 0; }
.buscador .animation_bubble { animation: bubbles_float 25s linear infinite; background: #3146e3; border-radius: 10%; bottom: -150px; display: block; position: fixed; z-index: 1; }
.buscador .contenedor { align-items: center; display: grid; gap: 15px; grid-template-columns: 1fr; min-height: 100vh; position: relative; z-index: 2; }
.buscador .contenedor.con-resultados { align-items: start; column-gap: 24px; grid-template-columns: minmax(300px, .9fr) minmax(360px, 1.1fr); grid-template-rows: 1fr; padding: 24px; }
.buscador .contenedor.con-resultados .elementos { align-self: center; }
.buscador .contenedor.con-resultados .results { grid-column: 2; grid-row: 1; margin-top: 54px; }
.buscador .elementos { text-align: center; }
.buscador #userSection { align-items: center; display: flex; gap: 10px; position: absolute; right: 20px; top: 20px; z-index: 20; }
.buscador #userPhoto { border-radius: 50%; height: 35px; object-fit: cover; width: 35px; }
.buscador #logo_title { align-items: center; display: flex; gap: 8px; justify-content: center; }
.buscador #logo_img { height: 70px; width: auto; }
.buscador #title_principal { font-family: "Franklin Gothic Medium", Arial, sans-serif; font-size: 70px; font-weight: 700; }
.buscador #subtitle_principal { display: block; font-size: 18px; font-style: italic; }
.buscador .search_container { display: flex; justify-content: center; margin-top: 30px; }
.buscador #search_input { background: #fff; border: 2px solid #ddd; border-radius: 20px 0 0 20px; font-size: 16px; outline: 0; padding: 15px 20px; transition: .3s; width: 40%; }
.buscador #search_input:focus { border-color: #4a90e2; box-shadow: 0 2px 10px rgb(74 144 226 / 30%); }
.buscador #search_button, .buscador .button_microfono { background: #fff; border: 2px solid #ddd; cursor: pointer; height: 55px; }
.buscador .button_microfono { width: 48px; }.buscador .button_microfono img { height: 30px; width: auto; }.buscador .button_microfono.active, .buscador .button_microfono:hover, .buscador #search_button:hover { background: #58d2fb; }
.buscador #search_button { background: #a2a2a2; border-radius: 0 20px 20px 0; font: bold 20px Georgia, serif; width: 50px; }
.buscador .filtros { display: flex; justify-content: space-between; margin: 5px auto 0; width: 45%; }
.buscador .filtros button, .buscador #loginBtn { background: #f5f5fa; border: 0; border-radius: 8px; box-shadow: 10px 10px 30px 0 #1d0dca17; color: #2a1f62; cursor: pointer; font: 15px Georgia, serif; height: 35px; padding: 5px; width: 22%; }
.buscador .filtros button:hover, .buscador .filtros button.active, .buscador #loginBtn:hover { background: #c2c2c2f1; box-shadow: -15px -15px 30px #fff, 15px 15px 30px #1d0dca17; }
.buscador #loginBtn { background: #4a90e2; color: #fff; font-family: Verdana, sans-serif; font-weight: 700; height: 40px; padding: 8px 18px; width: auto; }
.buscador .results { align-self: start; display: none; grid-template-rows: auto 1fr; height: auto; max-height: calc(100vh - 280px); min-height: 0; width: 100%; }.buscador .results > div { font: bold 1.5em "Franklin Gothic Medium", Arial, sans-serif; margin: 12px auto 16px; text-align: center; width: 60%; }.buscador .found { color: #3147e3; }.buscador .not_found { color: #cc1414; }
.buscador .results ul { height: auto; list-style: none; margin: 0; overflow-y: auto; padding: 0 0 12px; }.buscador .results li { background: #fff; border-radius: 10px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 10%); cursor: pointer; display: flex; flex-direction: column; height: 60px; justify-content: center; margin: 0 auto 20px; padding-left: 30px; position: relative; text-align: left; width: 65%; }.buscador .results li::before { border-radius: 50%; content: ""; height: 17px; left: 4px; position: absolute; top: 4px; width: 17px; }.buscador .item_video::before { background: #06a31b; }.buscador .item_pdf::before { background: #ca3609; }.buscador .item_text::before { background: #2c2c2c; }.buscador .title_page, .buscador .title_pdf, .buscador .title_video { font-weight: 700; margin: 0; }.buscador .title_video { color: #06a31b; }.buscador .title_pdf { color: #ca3609; }
.buscador dialog { background: #000a; border: 0; height: 100vh; max-height: none; max-width: none; padding: 0; width: 100%; }.buscador dialog::backdrop { background: #000a; }.buscador dialog video { border-radius: 20px; display: block; margin: 8vh auto; max-height: 80vh; max-width: 80%; min-width: 300px; }
@keyframes bubbles_float { from { opacity: 1; transform: translateY(0) rotate(0); } to { opacity: 0; transform: translateY(-1000px) rotate(720deg); } }
@media (max-width: 900px) { .buscador #title_principal { font-size: 50px; }.buscador #logo_img { height: 55px; }.buscador #search_input { width: 50%; }.buscador .filtros { width: 85%; }.buscador .contenedor.con-resultados { display: flex; flex-wrap: wrap; padding: 24px 0; }.buscador .contenedor.con-resultados .elementos { align-self: auto; }.buscador .contenedor.con-resultados .results { margin-top: 0; }.buscador .results { max-height: calc(100vh - 240px); }.buscador .results ul { width: 100%; }.buscador dialog { height: 50vh; }.buscador dialog video { margin-top: 0; } }
