:root { --blanco: #ffffff; --blanco10: rgba(255, 255, 255, 0.1); --blanco20: rgba(255, 255, 255, 0.2); --blanco30: rgba(255, 255, 255, 0.3); --blanco40: rgba(255, 255, 255, 0.4); --blanco50: rgba(255, 255, 255, 0.5); --blanco60: rgba(255, 255, 255, 0.6); --blanco70: rgba(255, 255, 255, 0.7); --blanco80: rgba(255, 255, 255, 0.8); --blanco90: rgba(255, 255, 255, 0.9); --negro: #000000; --negro10: rgba(0, 0, 0, 0.1); --negro20: rgba(0, 0, 0, 0.2); --negro30: rgba(0, 0, 0, 0.3); --negro40: rgba(0, 0, 0, 0.4); --negro50: rgba(0, 0, 0, 0.5); --negro60: rgba(0, 0, 0, 0.6); --negro70: rgba(0, 0, 0, 0.7); --negro80: rgba(0, 0, 0, 0.8); --negro90: rgba(0, 0, 0, 0.9); --color1: #0033ff; --color1-90: #0033ffea; --color2: #000000; --color2-30: rgba(0, 0, 0, 0.3); --color2-50: rgba(0, 0, 0, 0.5); --color2-70: rgba(0, 0, 0, 0.7); --color2-80: rgba(0, 0, 0, 0.8); --color3: #000033; --color4: #00bdff; --grislight: #eeeeee; --grisclaro: #bdbdbd; --gris: #a0a0a0; --grisoscuro: #444444; --grisdark: #222222; --error: #ff0000; --exito: #3dc53d; --selected: #3dc53d; --colorselected: #ffffff; } @font-face { font-family: 'Metropolis'; src: url('https://igp.igna.site/fonts/Metropolis-Regular.eot'); src: url('https://igp.igna.site/fonts/Metropolis-Regular.eot?#iefix') format('embedded-opentype'), url('https://igp.igna.site/fonts/Metropolis-Regular.woff2') format('woff2'), url('https://igp.igna.site/fonts/Metropolis-Regular.woff') format('woff'), url('https://igp.igna.site/fonts/Metropolis-Regular.svg#Metropolis-Regular') format('svg'); font-weight: normal; font-style: normal; font-display: swap; } html { padding: 0; margin: 0; width: 100%; height: 100%; overflow: hidden; } body { display: block; font-family: 'Metropolis', arial, verdana, sans-serif; background-color: var(--color1); color: var(--blanco); line-height: 1; font-size: 15px; margin: 0; scroll-behavior: smooth; } body.noscroll { overflow: hidden; } .wallpaper { display: block; position: fixed; width: 100%; height: 100%; top: 0; left: 0; background-size: cover; background-position: center center; background-repeat: no-repeat; background-image: url(https://igp.igna.site/!res1--a1--wallpaper.jpg); opacity: 1; z-index: -1; } .wallpaper .degradado { position: absolute; width: 100%; height: 100%; opacity: 0.9; top: 0; left: 0; background: radial-gradient(circle at bottom left, var(--color2), var(--color1)); } * { z-index: 10; } a { text-decoration: none; } .center { display: flex; justify-content: center; align-items: center; } .version { position: fixed; bottom: 4px; right: 4px; z-index: -1; font-size: 12px; color: var(--grisoscuro); } #alerta, #error, #exito { display: block; text-align: center; padding: 12px 6px; margin-bottom: 10px; font-size: 15px; border-radius: 5px; } #alerta, .alerta { background: #FFD246 !important; color: #7C5703 !important; } #error, .error { background: var(--error) !important; color: var(--blanco) !important; } #exito, .exito { background: var(--exito) !important; color: var(--blanco) !important; } #box404 { position: absolute; display: block; width: 80%; max-width: 500px; top: 50%; left: 50%; transform: translate(-50%, -50%); background: var(--negro70); color: var(--blanco); padding: 50px 25px; text-align: center; font-size: 15px; border-radius: 5px; } #titulo1 { display: block; text-align: center; padding: 12px 6px; margin-bottom: 10px; background: var(--color1); color: var(--blanco); border-radius: 3px; font-size: 15px; } #menu { width: 100%; display: block; margin: 0; z-index: 110; padding-top: 20px; } #menu a { display: block; color: var(--blanco); padding: 5px 10px; margin-bottom: 10px; } #menu a:hover { color: var(--color4); } .sombra { -webkit-box-shadow: 0px 10px 14px -7px var(--negro50); -moz-box-shadow: 0px 10px 14px -7px var(--negro50); box-shadow: 0px 10px 14px -7px var(--negro50); } .bgfixed { position: fixed; height: 100%; width: 100%; top: 0; left: 0; z-index: -1; opacity: 0.5; } #loader { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 10000; background: var(--color1-90); } .loader { position: absolute; top: calc(50% - 40px); left: calc(50% - 40px); width: 80px; height: 80px; border: 5px solid var(--blanco); border-bottom-color: var(--color1-90); border-radius: 50%; display: inline-block; box-sizing: border-box; animation: rotation 0.6s linear infinite; } @keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } #loader svg { position: absolute; width: 50px; top: calc(50% - 64px); left: calc(50% - 24px); } #loader svg .fill-animate { animation: fillAnimation .6s ease-in-out infinite; background: #ffffff; } @keyframes fillAnimation { 0% { clip-path: inset(100% 0% 0% 0%); } 50% { clip-path: inset(0% 0% 0% 0%); } 100% { clip-path: inset(0% 0% 100% 0%); } } #all { position: relative; display: block; width: 100vw; height: 100vh; margin: 0; padding: 0; overflow-y: auto; } #home { display: block; width: 100%; margin: 0; padding: 0; overflow: visible; } .logo-categorias { position: relative; display: block; width: 50%; max-width: 250px; margin: 60px auto 20px auto; text-align: center; } .logo-categorias img { display: block; width: 100%; } #categorias { display: block; gap: 5%; width: 80%; margin: 25px auto 50px auto; max-width: 500px; } #categorias .botoncategoria { padding: 5px 10px; display: block; margin: 10px 0; border-radius: 10px; } #categorias .gridCategorias, .gridCategorias { display: grid; grid-template-columns: 50px 1fr; align-items: center; gap: 0; background: url(https://igp.igna.site/!res1--icon--arrow1.svg) center right 5px / 17px no-repeat; } #categorias .gridCategorias span { display: block; padding: 10px 5px; color: var(--blanco); border-bottom: 1px solid var(--blanco); } #categorias .gridCategorias img, .gridCategorias img { width: 35px; } .ia-categorias { display: block; text-align: center; margin: 25px auto; width: 80%; max-width: 400px; } .ia-categorias .boton-ia { display: block; padding: 15px; border-radius: 100px; background: var(--blanco); color: var(--negro); margin: 5px 0 20px 0; font-size: 14px; border: 2px solid var(--color1); } span.idioma-ia { display: block; padding: 5px 2px; background: var(--blanco20); border-radius: 4px; margin: 2px auto; max-width: 300px; } .grid-clic { display: grid; grid-template-columns: 1fr 1fr; gap: 0px; font-weight: bold; } .grid-clic span { display: block; border-left: dotted 2px var(--grisclaro); border-right: dotted 2px var(--grisclaro); } .cerrar, .volver { position: fixed; top: 20px; right: 20px; display: block; width: 52px; height: 52px; z-index: 50; border-radius: 100vw; } .volver { left: 20px; } .inicial .cerrar, .inicial .volver { transition: all 0.2s; } .inicial, .visiblebox { transition: 0.3s all; } .cerrar { background: var(--color1) url(https://igp.igna.site/!res1--icon--cerrar.svg) center center / 95% no-repeat; } .volver { background: var(--color1) url(https://igp.igna.site/!res1--icon--arrowleft.svg) center center / 95% no-repeat; } #subcategorias, #productos, #iabox { position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: 10; background: var(--color1); overflow-y: auto; } #subcategorias.inicial { top: -100vh; } #productos.inicial { left: 100vw; } #iabox.inicial { top: 100vh; } #subcategorias .pie, #productos .pie { display: block; padding: 40px 10px; margin: 10px 0; text-align: center; font-size: 14px; font-style: italic; color: var(--blanco); background: var(--color2-70); } #productos .pie { margin: 50px auto 0 auto; } #productos .top { display: block; padding: 20px 10px; margin: 0 10px; text-align: center; color: var(--blanco); background: var(--color2-50); font-size: 14px; border-radius: 8px; } .listaSubcategorias { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; padding: 15px; width: calc(100% - 30px); margin: 0 auto; } .botonSubcategoria { display: block; padding: 17px 10px; margin: 10px 0 10px 0; text-transform: uppercase; border-bottom: dotted 1px var(--grisdark); background: var(--color2-70) url(https://igp.igna.site/!res1--icon--arrow1.svg) center right 10px / 17px no-repeat; font-size: 12.5px; border-radius: 4px; } .headerbox { display: block; text-align: center; font-size: 38px; background: var(--color1); padding: 5vh 0; } .headerbox img { display: block; margin: 0 auto; width: 75px; } .flexsubcategorias { position: relative; display: flex; flex-direction: column; height: 100%; } .flex1 { flex: 1; } .infoproductos { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; padding: 20px; margin: 0 auto; max-width: 1400px; } .caja-producto { background: var(--color2-80); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--blanco20); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); transition: transform 0.3s ease, border-color 0.3s ease; } .imagen-producto { position: relative; height: 150px; overflow: hidden; margin: 0; } .imagen-producto .bgfotos { display: block; position: absolute; width: 100%; height: 100%; top: 0; left: 0; opacity: 0.85; z-index: 1; background-size: cover; background-position: center; transition: transform 0.6s ease; } .imagen-producto .bgfotos.sin-foto { opacity: 0.07; } .caja-producto:hover .imagen-producto .bgfotos { transform: scale(1.1); } .precio-producto { position: absolute; top: 15px; left: 15px; background: var(--color1); color: var(--blanco); padding: 6px 12px; border-radius: 8px; font-weight: 900; font-size: 15px; z-index: 10; border: 1px solid var(--blanco20); } .info-producto { padding: 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; } .cabecera-producto { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; } .nombre-producto { font-size: 17px; font-weight: 800; color: var(--blanco); margin: 0; text-transform: uppercase; line-height: 1.2; } .porcion-producto { font-size: 14px; color: var(--blanco70); font-weight: 500; white-space: nowrap; background: var(--blanco20); padding: 4px 6px 2px 6px; border-radius: 4px; } .descripcion-producto { font-size: 14px; line-height: 1.4; color: var(--blanco80); margin: 0; flex: 1; } .ver-descripcion { font-size: 13.2px; display: block; margin: 0 0 5px 0; padding: 5px; color: var(--blanco50); border-bottom: 1px solid var(--blanco50); width: 120px; cursor: pointer; font-weight: 500; text-align: left; } .meta-producto { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; } .etiqueta-meta { font-size: 10px; font-weight: bold; text-transform: uppercase; color: var(--color1); padding: 3px 5px 1px 5px; border-radius: 4px; border: 2px solid var(--blanco10); cursor: pointer; transition: all 0.3s ease; } .etiqueta-meta.activo { background: var(--color1); color: var(--blanco) !important; border-color: var(--color1); } .sin-resultados { grid-column: 1 / -1; width: calc(100% - 20px); padding: 0px 10px; text-align: center; color: var(--blanco50); font-size: 14px; font-style: italic; font-weight: 500; } .botonfoto { position: absolute; bottom: 15px; right: 15px; z-index: 10; } .botonfoto svg, .botonfoto img { width: 30px; height: 30px; padding: 7px; background: var(--negro70); border-radius: 50%; border: 3px solid var(--color1); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); box-shadow: 0 15px 20px var(--negro70); } #iabox form { display: block; width: 94%; max-width: 700px; margin: 0 auto; padding: 10px; } #iabox form textarea { display: block; width: calc(100% - 6px); height: 60px; border: 0px; resize: none; padding: 3px; margin: 0 0 5px 0; } #iabox form .sending { display: block; width: 150px; padding: 7px 10px; background: var(--color2-70); border: 2px solid var(--color1); color: var(--blanco); margin: 0; } #iabox .gridinput { display: grid; grid-template-columns: 1fr auto; gap: 10px; } .instrucciones-ia { display: block; text-align: justify; margin: 10px; font-size: 13.4px; } #iabox #respuestaform { font-size: 14px; line-height: 1.1; padding: 10px; background: var(--color2-70); border-radius: 8px; } #iabox .sugerir { display: block; padding: 10px; background: var(--color2-50); margin: 5px 0 15px 0; border-left: var(--color1) solid 2px; } #fotografias { display: flex !important; align-items: center; justify-content: center; position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: var(--negro60); z-index: 500; backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.5s ease, visibility 0.5s ease; } #fotografias.modal-activo { opacity: 1; visibility: visible; pointer-events: auto; } #fotografias .loadImage { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 30px; height: 30px; border: 5px solid var(--blanco20); border-top-color: var(--blanco); border-radius: 50%; animation: rotation 0.6s linear infinite; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; } #fotografias .loadImage.cargado { width: 100%; height: 100%; border: 0; border-radius: 0; animation: none; background: transparent; } #fotografias .loadImage img { display: block; position: absolute; max-width: 80%; max-height: 80%; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.85); border: solid 3px var(--color1); opacity: 0; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); } #fotografias .loadImage.cargado img { opacity: 1; transform: translate(-50%, -50%) scale(1); } .info-colores { display: block; width: calc(94% - 30px); max-width: 800px; padding: 15px 10px; margin: 15px auto; font-size: 16px; } form.democolores { display: block; } form.democolores .gridcolores { display: grid; grid-template-columns: repeat(8, 1fr); } form.democolores input[type="radio"] { display: none; } form.democolores input~div { display: block; width: 26px; height: 26px; border: 3px solid var(--negro70); border-radius: 100vw; cursor: pointer; } form.democolores input:checked~div { border: 4px solid var(--blanco); transform: scale(1.25); } form.democolores input[type="submit"] { display: inline-block; width: 100px; border: 0px; background: var(--color2-70); padding: 10px 0; color: var(--blanco); font-size: 17px; } a.enlaceColores { display: block; width: 130px; margin: 25px auto -25px auto; color: var(--blanco); padding: 8px 15px; background: var(--negro50); border: dashed var(--blanco) 3px; border-radius: 50vw; text-align: center; box-shadow: 0 10px 20px var(--negro50); } .gridIdioma { display: grid; grid-template-columns: 1fr 1fr; } #popup { display: flex !important; align-items: center; justify-content: center; position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: 1000; background: var(--negro70); text-align: center; backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.5s ease, visibility 0.5s ease; } #popup.modal-activo { opacity: 1; visibility: visible; pointer-events: auto; } #popup img { position: absolute; display: block; max-width: 88%; max-height: 88%; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.9); border-radius: 8px; border: 2px dashed var(--color1); transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); -webkit-box-shadow: 0px 10px 40px 7px var(--negro50); -moz-box-shadow: 0px 10px 40px 7px var(--negro50); box-shadow: 0px 10px 40px 7px var(--negro50); } #popup.modal-activo img { transform: translate(-50%, -50%) scale(1); } .oculto, #hide, #redvacios, #subir, #redirige, #vacios, #correctos, form input.oculto, #show { display: none; } .animar { transition: all 0.7 !important; } .mostrar, .sending, .fadehide, .backbox { cursor: pointer; } .creditos { display: block; text-align: center; font-size: 12px; } .creditos img { width: 50px; } a.avisos { display: block; width: 130px; margin: 10px auto 25px auto; color: var(--blanco); font-size: 12px; padding-bottom: 2px; border-bottom: 1px dotted var(--blanco); text-align: center; } .creditos-carta { display: block; text-align: center; padding: 10px 0 20px 0; } #carta { display: block; width: 100%; max-width: 1200px; margin: 0 auto; } #menu-sticky { display: flex; position: sticky; top: 12px; z-index: 200; margin: 0 auto 40px auto; width: fit-content; max-width: 95%; } .grid-menu { display: flex; background: var(--negro80); border-radius: 100px; padding: 4px 8px; gap: 6px; box-shadow: 0 15px 35px var(--negro60); border: 1px solid var(--blanco10); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); width: auto; } .grid-menu a { padding: 12px 25px; border-radius: 100px; color: var(--blanco); text-decoration: none; font-size: 15px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; transition: all 0.15s; white-space: nowrap; } .grid-menu a.menu-activo { background: var(--color1); transform: scale(1.05); } #tabs-categorias { position: relative; width: 100%; overflow: hidden; } .seccionCategoria { display: none; width: 100%; margin: 0; padding: 0; } .seccionCategoria.active { display: block; } .cabecera-categoria { background: var(--color1); padding: 20px 15px; text-align: center; border-bottom: 4px solid var(--blanco20); } .contenido-cabecera { display: flex; flex-direction: column; align-items: center; gap: 10px; } .icono-cat { width: 50px; } .titulo-cat { font-size: 30px; font-weight: 900; text-transform: uppercase; letter-spacing: 1px; color: var(--blanco); margin: 0; } .tituloSubcategoria { background: var(--color2); color: var(--blanco); padding: 20px 15px; text-align: center; font-size: 25px; font-weight: 900; text-transform: uppercase; letter-spacing: 3px; border-bottom: 5px solid var(--color1); margin: 0 auto; width: calc(94% - 30px); border-radius: 10px 10px 0 0; } .pie.pie-categoria-top, .seccionSubcategoria .top { display: block; text-align: center; color: var(--blanco80); font-size: 15px; line-height: 1.1; padding: 10px 10px; width: calc(94% - 0px); background: var(--blanco10); border-top: 1px solid var(--blanco10); border-bottom: 1px solid var(--blanco10); margin: 0 auto; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-sizing: border-box; } .pie.pie-categoria-top { width: 100%; margin-bottom: 50px; padding: 15px 10px; } .seccionSubcategoria { display: block; margin: 0 0 20px 0; display: block; margin: 0; padding-bottom: 75px; border-bottom: 1px solid var(--blanco10); } .seccionSubcategoria:last-child { border-bottom: none; } .sin { display: block; padding: 15px; text-align: center; color: var(--blanco60); font-size: 13px; } #ia-btn-float { position: fixed; bottom: 20px; right: 20px; z-index: 90; background: var(--negro); color: var(--blanco); padding: 10px 15px; border-radius: 50px; display: flex; align-items: center; gap: 12px; box-shadow: 0 10px 30px var(--negro50); border: 3px solid var(--color1); transition: all 0.3s ease; } #ia-btn-float img { width: 28px; } #ia-btn-float span { font-weight: 700; font-size: 15px; text-transform: uppercase; letter-spacing: 0.5px; } .capa-ia { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--negro80); backdrop-filter: blur(8px); z-index: 950; } .ia-box-float { position: fixed; bottom: 25px; right: 25px; width: 380px; height: 95%; max-width: calc(100vw - 50px); max-height: calc(100vh - 50px); z-index: 1000; background: var(--color1); border-radius: 20px; box-shadow: 0 15px 40px var(--negro80); overflow: hidden; border: 1px solid var(--blanco20); display: none; flex-direction: column; } .ia-box-float .headerbox { font-size: 20px; padding: 15px; border-bottom: 1px solid var(--blanco20); display: flex; align-items: center; gap: 15px; justify-content: flex-start; } .ia-box-float .headerbox img { width: 30px; margin: 0; } .ia-box-float .headerbox span { font-weight: 700; font-size: 16px; } .ia-box-float .cerrar { position: relative; top: 0; right: 0; width: 32px; height: 32px; margin-left: auto; } .ia-form { display: flex; flex-direction: column; height: calc(100% - 62px); } .contenedor-chat { flex: 1; overflow-y: auto; padding: 20px; background: var(--negro20); display: flex; flex-direction: column; scroll-behavior: smooth; } #respuestaform { display: flex; flex-direction: column; width: 100%; } .bubble-chat { max-width: 85%; padding: 12px 18px; border-radius: 18px; margin-bottom: 15px; font-size: 15px; line-height: 1.5; position: relative; word-wrap: break-word; animation: fadeInBubble 0.3s ease; } @keyframes fadeInBubble { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .bubble-chat.ai { background: var(--negro20); color: var(--blanco); align-self: flex-start; border-bottom-left-radius: 2px; border: 1px solid var(--blanco10); } .bubble-chat.user { background: var(--color1); color: var(--blanco); align-self: flex-end; border-bottom-right-radius: 2px; border: 1px solid var(--blanco20); margin-left: auto; } .bubble-chat.ai.sugerencias { background: transparent; border: 0; padding: 0; max-width: 100%; } .bubble-chat.typing { display: flex; gap: 5px; padding: 15px 20px; width: fit-content; } .bubble-chat.typing .punto { width: 8px; height: 8px; background: var(--blanco60); border-radius: 50%; animation: chatTyping 1.4s infinite; } .bubble-chat.typing .punto:nth-child(2) { animation-delay: 0.2s; } .bubble-chat.typing .punto:nth-child(3) { animation-delay: 0.4s; } @keyframes chatTyping { 0%, 60%, 100% { transform: translateY(0); } 30% { transform: translateY(-6px); } } .sugerir { display: inline-block; padding: 8px 15px; background: var(--color2-80); margin: 5px 5px 5px 0; border-radius: 20px; font-size: 13px; cursor: pointer; border: 1px solid var(--blanco20); transition: all 0.2s; } .pie-entrada-ia { padding: 15px; background: var(--color1); border-top: 1px solid var(--blanco20); } .pie-entrada-ia textarea { display: block; width: calc(100% - 20px); height: 50px; background: var(--blanco); color: var(--negro); border: 0; border-radius: 10px; padding: 10px; font-size: 14px; resize: none; margin-bottom: 10px; } .acciones-pie { display: flex; justify-content: space-between; align-items: center; } .acciones-pie select { background: var(--negro50); color: var(--blanco); border: 1px solid var(--blanco20); padding: 8px; border-radius: 5px; font-size: 13px; } .acciones-pie .sending { background: var(--exito); color: var(--blanco); border: 0; padding: 8px 20px; border-radius: 5px; font-weight: 700; cursor: pointer; } @media screen and (max-width: 1000px) { } @media screen and (max-width: 850px) { .listaSubcategorias { grid-template-columns: 1fr 1fr; gap: 12px; } } @media screen and (max-width: 750px) { .listaSubcategorias { grid-template-columns: 1fr; gap: 0px; } .infoproductos { grid-template-columns: 1fr; gap: 15px 0; } .foto-vacia { height: 75px; } } @media screen and (max-width: 600px) { }