{"id":19108,"date":"2026-10-17T17:14:28","date_gmt":"2026-10-17T15:14:28","guid":{"rendered":"https:\/\/superligero.es\/en\/?page_id=19108"},"modified":"2026-10-17T17:16:48","modified_gmt":"2026-10-17T15:16:48","slug":"assistant","status":"publish","type":"page","link":"https:\/\/superligero.es\/en\/assistant\/","title":{"rendered":"assistant"},"content":{"rendered":"<style id=\"slai-chat-inline-css\">.slai-chat { --slai-accent:#2f6b45; --slai-border:#d8ded9; color:#1f2822; font:15px\/1.45 -apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif; max-width:680px }\n.slai-chat * { box-sizing:border-box }\n.slai-chat__panel { background:#fff; border:1px solid var(--slai-border); border-radius:14px; box-shadow:0 10px 30px rgba(20,40,26,.12); overflow:hidden }\n.slai-chat__reset { background:none; border:0; color:#667269; cursor:pointer; font:inherit; padding:0 0 0 4px; text-decoration:underline; text-underline-offset:2px }\n.slai-chat__messages { display:flex; flex-direction:column; gap:10px; height:380px; overflow-y:auto; padding:16px }\n.slai-chat__message { border-radius:12px; max-width:86%; padding:10px 12px; word-break:break-word }\n.slai-chat__message--assistant { align-self:flex-start; background:#eef3ef }\n.slai-chat__message--user { align-self:flex-end; background:var(--slai-accent); color:#fff }\n.slai-chat__message--error { align-self:flex-start; background:#fff0f0; color:#9c2222 }\n.slai-chat__message--user,.slai-chat__message--error { white-space:pre-wrap }\n.slai-chat__message--assistant p { margin:0 0 8px }\n.slai-chat__message--assistant p:last-child { margin-bottom:0 }\n.slai-chat__message--assistant ul,.slai-chat__message--assistant ol { margin:4px 0 9px; padding-left:20px }\n.slai-chat__message--assistant li { margin:0 0 7px }\n.slai-chat__message--assistant li:last-child { margin-bottom:0 }\n.slai-chat__message--assistant a { color:var(--slai-accent); font-weight:650; text-decoration:underline; text-underline-offset:2px }\n.slai-chat__status { color:#667269; font-size:13px; min-height:20px; padding:0 16px }\n.slai-chat__form { border-top:1px solid var(--slai-border); display:flex; gap:9px; padding:12px }\n.slai-chat__form textarea { border:1px solid #abb7ae; border-radius:9px; flex:1; font:inherit; min-height:46px; padding:10px; resize:vertical }\n.slai-chat__form button { background:var(--slai-accent); border:0; border-radius:9px; color:#fff; cursor:pointer; font-weight:600; padding:0 18px }\n.slai-chat__form button:disabled,.slai-chat__form textarea:disabled { cursor:wait; opacity:.6 }\n.slai-chat__notice { color:#748078; font-size:11px; margin:0; padding:0 14px 11px }\n.slai-chat__notice .slai-chat__reset { color:inherit }\n.slai-chat--floating { bottom:22px; max-width:none; position:fixed; right:22px; width:min(390px,calc(100vw - 28px)); z-index:99999 }\n.slai-chat__toggle { background:var(--slai-accent); border:0; border-radius:50%; bottom:0; box-shadow:0 7px 24px rgba(20,40,26,.28); color:#fff; cursor:pointer; font-size:25px; height:58px; position:absolute; right:0; width:58px }\n.slai-chat--floating .slai-chat__panel { margin-bottom:70px }\n.slai-chat--floating.is-collapsed .slai-chat__panel { display:none }\n@media (max-width:480px) { .slai-chat--floating { bottom:12px; right:14px } .slai-chat--floating .slai-chat__messages { height:52vh } }\n\n.slai-chat--hero { color:#171717; margin:auto; max-width:680px; width:calc(100% - 40px); transition:max-width .4s ease,width .4s ease }\n.slai-chat--hero .slai-chat__panel { background:transparent; border:0; border-radius:0; box-shadow:none; overflow:visible; padding:0 }\n.slai-chat--hero .slai-chat__conversation-head { display:none }\n.slai-chat--hero .slai-chat__admin-badge { background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.22); border-radius:999px; color:rgba(255,255,255,.82); display:table; font-size:10px; font-weight:700; letter-spacing:.12em; margin:0 auto 10px; padding:5px 10px; text-transform:uppercase }\n.slai-chat--hero .slai-chat__hero-prompt { color:#fff; font-size:clamp(23px,3vw,38px); font-weight:700; letter-spacing:-.02em; line-height:1.12; margin:0 auto 20px; min-height:1.12em; text-align:center; text-shadow:0 2px 18px rgba(0,0,0,.36); transition:opacity .22s ease,transform .22s ease }\n.slai-chat--hero .slai-chat__hero-prompt.is-changing { opacity:0; transform:translateY(6px) }\n.slai-chat--hero .slai-chat__messages { background:transparent; border:0; border-radius:0; display:none; gap:10px; height:auto; margin:0 0 12px; max-height:260px; padding:0 4px }\n.slai-chat--hero.has-messages { height:100%; margin:0; max-width:none; width:100% }\n.slai-chat--hero.has-messages .slai-chat__panel { display:flex; flex-direction:column; height:100%; min-height:0; overflow:hidden }\n.slai-chat--hero.has-messages .slai-chat__conversation-head { align-items:center; display:flex; flex:0 0 auto; justify-content:space-between; padding:0 4px 12px }\n.slai-chat--hero.has-messages .slai-chat__conversation-head strong { color:#171717; font-size:15px; font-weight:700; letter-spacing:-.01em }\n.slai-chat--hero.has-messages .slai-chat__messages { display:flex; flex:1 1 auto; margin:0 0 14px; max-height:none; min-height:0; overscroll-behavior:contain; padding:8px 6px 16px; scrollbar-width:thin }\n.slai-chat--hero.has-messages .slai-chat__hero-prompt { font-size:18px; margin-bottom:12px }\n.slai-chat--hero .slai-chat__message { border:1px solid rgba(0,0,0,.06); box-shadow:0 5px 18px rgba(0,0,0,.08); color:#171717; font-size:16px; line-height:1.55; padding:12px 15px }\n.slai-chat--hero .slai-chat__message--assistant { background:rgba(255,255,255,.88); color:#171717; max-width:min(82%,760px) }\n.slai-chat--hero .slai-chat__message--user { background:rgba(226,228,226,.9); color:#171717; max-width:min(70%,620px) }\n.slai-chat--hero .slai-chat__message--error { background:#fff0f0; color:#9c2222 }\n.slai-chat--hero .slai-chat__status { color:#171717; min-height:0; padding:0 }\n.slai-chat--hero .slai-chat__status:not(:empty) { background:rgba(255,255,255,.9); border-radius:999px; box-shadow:0 4px 12px rgba(0,0,0,.1); display:table; font-size:12px; margin:0 auto 8px; min-height:0; padding:5px 11px }\n.slai-chat--hero .slai-chat__form { align-items:center; background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:999px; box-shadow:0 8px 24px rgba(0,0,0,.14); flex:0 0 auto; gap:8px; padding:6px }\n.slai-chat--hero .slai-chat__form input { background:transparent; border:0; box-shadow:none; color:#1f2822; flex:1; font:inherit; font-size:16px; height:48px; min-width:0; outline:0; padding:0 10px 0 17px }\n.slai-chat--hero .slai-chat__form input::placeholder { color:#171717; font-weight:500; opacity:1 }\n.slai-chat--hero .slai-chat__form button { align-items:center; background:#111; border:0; border-radius:50%; color:#fff; display:flex; flex:0 0 48px; font-size:27px; height:48px; justify-content:center; padding:0; transition:background .18s ease,transform .18s ease }\n.slai-chat--hero .slai-chat__form button:hover,.slai-chat--hero .slai-chat__form button:focus { background:#000; transform:translateX(2px) }\n.slai-chat--hero .slai-chat__reset { display:none }\n.slai-chat--hero.has-messages .slai-chat__conversation-head .slai-chat__reset { align-items:center; background:rgba(255,255,255,.58); border:1px solid rgba(0,0,0,.1); border-radius:999px; color:#333; display:inline-flex; font-size:12px; padding:7px 11px; text-decoration:none }\n.slai-chat--hero.has-messages .slai-chat__conversation-head .slai-chat__reset:hover,.slai-chat--hero.has-messages .slai-chat__conversation-head .slai-chat__reset:focus { background:rgba(255,255,255,.9); color:#111 }\n\n@media (max-width:600px) {\n  .slai-chat--hero { width:calc(100% - 24px) }\n  .slai-chat--hero .slai-chat__panel { padding:0 }\n  .slai-chat--hero .slai-chat__hero-prompt { font-size:22px; margin-bottom:14px }\n  .slai-chat--hero .slai-chat__form input { font-size:15px; height:44px; padding-left:12px }\n  .slai-chat--hero .slai-chat__form button { flex-basis:44px; height:44px }\n  .slai-chat--hero.has-messages { width:100% }\n  .slai-chat--hero.has-messages .slai-chat__conversation-head { padding:0 2px 9px }\n  .slai-chat--hero.has-messages .slai-chat__conversation-head strong { font-size:14px }\n  .slai-chat--hero.has-messages .slai-chat__conversation-head .slai-chat__reset { font-size:11px; padding:6px 9px }\n  .slai-chat--hero.has-messages .slai-chat__messages { margin-bottom:10px; max-height:none; padding:5px 2px 10px }\n  .slai-chat--hero .slai-chat__message { font-size:15px; line-height:1.5; padding:10px 12px }\n  .slai-chat--hero .slai-chat__message--assistant { max-width:94% }\n  .slai-chat--hero .slai-chat__message--user { max-width:88% }\n}\n\n@media (prefers-reduced-motion:reduce) {\n  .slai-chat--hero,.slai-chat--hero .slai-chat__hero-prompt,.slai-chat--hero .slai-chat__form button { transition:none }\n}\n\n\/* Compact launch field, aligned with the main navigation. *\/\n.slai-topbar { box-sizing:border-box; clear:both; background:transparent; border:0; border-bottom:1px dashed #d8d8d8; padding:0 20px; box-shadow:none; --slai-menu-height:50px; width:100%; color:#171717; }\n.slai-topbar__inner { display:flex; align-items:center; justify-content:flex-end; gap:10px; width:100%; height:var(--slai-menu-height); margin:0; }\n.slai-topbar .slai-chat--topbar { flex:0 0 auto; min-width:0; max-width:none; width:auto; margin:0; font-family:inherit; }\n.slai-topbar .slai-chat--topbar.is-checking { visibility:hidden; }\n.slai-topbar .slai-chat__form,\n.slai-chat--page .slai-chat__form { margin:0; padding:0; gap:0; overflow:hidden; box-shadow:none; border-color:#e2e2e2; height:calc(var(--slai-menu-height) - 6px); transition:border-color .15s ease; }\n.slai-topbar .slai-chat__form { background:#f3f3f3; border-color:#e8e8e8; }\n.slai-topbar .slai-chat--topbar.has-conversation .slai-chat__form { display:none; }\n.slai-topbar .slai-chat--topbar.has-conversation { flex:0 0 auto; width:auto; max-width:none; }\n.slai-topbar .slai-chat__resume { white-space:nowrap; }\n.slai-topbar .slai-chat__resume { display:flex; align-items:center; justify-content:center; min-height:38px; height:calc(var(--slai-menu-height) - 6px); padding:0 12px; border:1px solid #e8e8e8; border-radius:999px; background:#f3f3f3; color:#171717; font:inherit; font-size:15px; font-weight:500; text-align:center; text-decoration:none; line-height:1.2; }\n.slai-topbar .slai-chat__resume[hidden] { display:none; }\n.slai-topbar .slai-chat__resume:hover { background:#e9e9e9; border-color:#d8d8d8; color:#171717; }\n.slai-topbar .slai-chat__form input:focus::placeholder { color:transparent; opacity:0; }\n.slai-topbar .slai-chat__form:focus-within { border-color:#a9a9a9; box-shadow:none; }\n.slai-chat--page .slai-chat__form:focus-within { border-color:#171717; box-shadow:none; }\n.slai-topbar .slai-chat__form input,\n.slai-chat--page .slai-chat__form input { height:100%; padding-left:12px; }\n.slai-topbar .slai-chat__form button,\n.slai-chat--page .slai-chat__form button { position:relative; flex:0 0 36px; height:100%; background:transparent; color:#282828; border:0; border-radius:0; font-size:24px; box-shadow:none; }\n.slai-topbar .slai-chat__form button::before,\n.slai-chat--page .slai-chat__form button::before { content:\"\"; position:absolute; left:0; top:22%; bottom:22%; width:1px; background:#dedede; }\n.slai-chat--page .slai-chat__form button:hover,\n.slai-topbar .slai-chat__form button:hover,.slai-topbar .slai-chat__form button:focus,\n.slai-chat--page .slai-chat__form button:focus { background:#f7f7f7; color:#171717; transform:none; }\n.slai-chat--page .slai-chat__form input:focus,\n.slai-topbar .slai-chat__form input:focus,.slai-topbar .slai-chat__form input:focus-visible,\n.slai-chat--page .slai-chat__form input:focus-visible { outline:none; box-shadow:none; border:0; }\n.slai-topbar .slai-chat__form button:focus-visible,\n.slai-chat--page .slai-chat__form button:focus-visible { outline:1px solid #999; outline-offset:-4px; }\n.slai-topbar__bell { display:flex; align-items:center; justify-content:center; flex:0 0 40px; height:40px; box-shadow:none; border-radius:50%; background:#f5f5f5; color:#171717; text-decoration:none; }\n.slai-topbar__bell { background:#f3f3f3; color:#303030; }\n.slai-topbar__bell:hover { background:#eaeaea; color:#000; }\n.slai-topbar__status { font-size:13px; margin:0; text-align:center; }\n.slai-topbar__status:not(:empty) { padding-top:8px; }\n.slai-topbar a:focus-visible,.slai-chat button:focus-visible,.slai-chat input:focus-visible,.slai-chat textarea:focus-visible { outline:2px solid #171717; outline-offset:3px; }\n.slai-chat--page { margin:24px auto; max-width:750px; width:100%; color:#171717; --slai-accent:#171717; --slai-border:#e5e5e5; font-family:inherit; scroll-margin-top:180px; }\n.slai-chat--page .slai-chat__panel { background:transparent; border:0; border-radius:0; box-shadow:none; padding:0; }\n.slai-chat--page .slai-chat__messages { height:clamp(300px,55vh,700px); padding:8px 16px 26px 0; margin-bottom:10px; gap:22px; scrollbar-gutter:stable; }\n.slai-chat--page:not(.has-messages) .slai-chat__messages { display:none; }\n.slai-chat--page .slai-chat__message--assistant { background:transparent; max-width:min(82%,80ch); padding:0; border-radius:0; }\n.slai-chat--page .slai-chat__message--user { max-width:min(70%,64ch); background:#f3f3f3; color:#171717; }\n.slai-chat--page { --slai-menu-height:50px; }\n.slai-chat--page .slai-chat__form { position:relative; overflow:visible; margin-top:26px; align-items:center; border:1px dashed #555; border-radius:999px; background:#fff; }\n.slai-chat--page .slai-chat__intro { margin:0 0 18px; color:#333; font-size:18px; line-height:1.5; }\n.slai-chat--page .slai-chat__intro[hidden] { display:none; }\n.slai-chat--page:not(.has-messages) .slai-chat__form { margin-top:0; }\n.slai-chat--page .slai-chat__form input { flex:1; width:0; min-width:0; font:inherit; font-size:16px; color:#171717; background:transparent; border:0; border-radius:0; outline:none; box-shadow:none; padding:0 12px; }\n.slai-chat--page .slai-chat__form button { display:flex; align-items:center; justify-content:center; padding:0; cursor:pointer; }\n.slai-chat--page .slai-chat__form input:disabled { cursor:wait; opacity:.6; }\n.slai-chat--page .slai-chat__status { padding:0; min-height:0; }\n.slai-chat--page .slai-chat__status:not(:empty) { padding:8px 0 0; }\n.slai-chat--page .slai-chat__notice { padding:10px 0 0; }\n@media(max-width:600px) {\n  .slai-topbar { padding:0 12px; }\n  .slai-topbar__inner { gap:7px; }\n  .slai-topbar__bell { flex-basis:36px; height:36px; }\n  .slai-topbar .slai-chat__form input,\n.slai-chat--page .slai-chat__form input { font-size:16px; }\n  .slai-chat--page { margin:8px auto; }\n  .slai-chat--page .slai-chat__messages { padding:4px 10px 22px 0; }\n  .slai-chat--page .slai-chat__message--assistant { max-width:94%; }\n  .slai-chat--page .slai-chat__message--user { max-width:86%; }\n}\n\n\/* Mobile: one shared row for SL, assistant, notifications and navigation. *\/\n@media (max-width:767px) {\n  #nm-header .sl-responsive-header-logo img { width:29px; height:20px; object-fit:contain; }\n  #nm-header .sl-mobile-menu-label { display:none !important; }\n  #nm-header.slai-mobile-header .nm-header-col { display:flex; align-items:center; gap:8px; }\n  #nm-header.slai-mobile-header .nm-header-col::before,\n  #nm-header.slai-mobile-header .nm-header-col::after { display:none; }\n  #nm-header.slai-mobile-header .nm-header-logo { position:static; float:none; flex:0 0 29px; margin:0; transform:none; padding:0; }\n  #nm-header.slai-mobile-header .nm-header-logo a { max-width:none; }\n  #nm-header.slai-mobile-header .nm-main-menu { display:none; }\n  #nm-header.slai-mobile-header .nm-right-menu { float:none; flex:0 0 auto; width:auto; margin:0; padding:0; }\n  #nm-header.slai-mobile-header .slai-topbar { clear:none; flex:1; min-width:0; width:auto; padding:0 !important; border:0; --slai-menu-height:44px !important; }\n  #nm-header.slai-mobile-header .slai-topbar__inner { gap:8px; }\n  #nm-header.slai-mobile-header .slai-chat--topbar { flex:0 0 auto; max-width:none; }\n  #nm-header.slai-mobile-header .slai-chat--topbar.has-conversation { flex:0 0 auto; width:auto; }\n  #nm-header.slai-mobile-header .slai-chat__form { gap:0; }\n  #nm-header.slai-mobile-header .slai-chat__form button { flex-basis:32px; }\n  #nm-header.slai-mobile-header .slai-chat__form input { width:0; min-width:0; padding:0 3px 0 7px; font-size:15px; }\n  #nm-header.slai-mobile-header .slai-topbar__bell { flex-basis:32px; height:32px; margin-right:0; }\n  #nm-header.slai-mobile-header .slai-topbar__bell svg { width:22px; height:22px; }\n  #nm-header.slai-mobile-header .slai-topbar__status:not(:empty) { position:absolute; top:100%; left:12px; right:12px; background:#fff; line-height:1.4; padding:8px; }\n}\n\n@media (max-width:767px) {\n  #nm-header.slai-mobile-header .nm-header-row { padding-right:8px; }\n  #nm-header.slai-mobile-header .nm-header-col { padding-right:0; }\n  #nm-header.slai-mobile-header #nm-right-menu-ul { margin:0; padding:0; }\n  #nm-header.slai-mobile-header #nm-right-menu-ul > .nm-menu-offscreen { order:99; margin:0; padding:0; }\n  #nm-header.slai-mobile-header #nm-mobile-menu-button { justify-content:flex-end; width:18px; padding:0; }\n  #nm-header.slai-mobile-header .sl-mobile-menu-trigger { justify-content:flex-end; gap:0; }\n  #nm-header.slai-mobile-header .nm-menu-icon { margin-left:auto; margin-right:0; }\n  #nm-header.slai-mobile-header .nm-menu-icon span { left:auto; right:0; }\n}\n\n\/* Subtle separation between a reply and the next user question. *\/\n.slai-chat--page .slai-chat__message--assistant + .slai-chat__message--user { margin-top:10px; position:relative; }\n.slai-chat--page .slai-chat__message--assistant:has(+ .slai-chat__message--user) { border-bottom:1px solid #ededed; padding-bottom:40px; align-self:flex-start; }\n\n\/* Desktop: assistant and notifications live between language links and cart. *\/\n@media (min-width:768px) {\n  #nm-header.slai-desktop-header .nm-header-row.nm-row { width:100%; max-width:1600px; padding-left:24px; padding-right:24px; }\n  #nm-header.slai-desktop-header.default .nm-header-col { display:flex; align-items:center; flex-wrap:nowrap; gap:12px; }\n  #nm-header.slai-desktop-header.default .nm-header-col::before,\n  #nm-header.slai-desktop-header.default .nm-header-col::after { display:none; }\n  #nm-header.slai-desktop-header.default .nm-header-logo { position:static; flex:0 0 auto; float:none; margin-right:0; transform:none; }\n  #nm-header.slai-desktop-header.default .nm-main-menu { flex:0 0 auto; float:none; }\n  #nm-header.slai-desktop-header.default #nm-main-menu-ul { display:flex; flex-wrap:nowrap; }\n  #nm-header.slai-desktop-header.default #nm-main-menu-ul > li { flex:0 0 auto; }\n  #nm-header.slai-desktop-header .nm-right-menu { flex:1 1 auto; min-width:0; float:none; margin-left:auto; margin-right:0; }\n  #nm-header.slai-desktop-header #nm-right-menu-ul { display:flex; align-items:center; flex-wrap:nowrap; width:100%; min-width:0; }\n  #nm-header.slai-desktop-header #nm-right-menu-ul > li { flex:0 0 auto; }\n  #nm-header.slai-desktop-header #nm-right-menu-ul > .slai-menu-assistant { display:flex; align-items:center; float:none; flex:0 0 auto; min-width:0; max-width:none; padding:0; margin:0 8px; }\n  #nm-header.slai-desktop-header #nm-right-menu-ul > .slai-menu-assistant:has(.has-conversation) { flex:0 0 auto; min-width:0; max-width:none; }\n  #nm-header.slai-desktop-header .slai-topbar { clear:none; flex:1; min-width:0; width:100%; border:0; padding:0 !important; --slai-menu-height:44px !important; }\n  #nm-header.slai-desktop-header .slai-topbar__inner { gap:8px; }\n  #nm-header.slai-desktop-header .slai-chat--topbar { flex:0 0 auto; max-width:none; }\n  #nm-header.slai-desktop-header .slai-chat--topbar.has-conversation { flex:0 0 auto; width:auto; }\n  #nm-header.slai-desktop-header .slai-chat__form input { min-width:0; width:0; }\n  #nm-header.slai-desktop-header .slai-topbar__bell { flex-basis:34px; height:34px; padding:0; }\n  #nm-header.slai-desktop-header .slai-topbar__status:not(:empty) { position:absolute; top:100%; right:16px; background:#fff; line-height:1.4; padding:8px; }\n}\n@media (max-width:767px) {\n  #nm-header #nm-right-menu-ul > .slai-menu-assistant { display:none; }\n}\n\n\/* Keep the page conversation above the iOS\/Android keyboard while composing. *\/\n@media (max-width:767px) {\n  body.slai-mobile-editing { overflow:hidden; overscroll-behavior:none; }\n  .slai-chat.slai-chat--page.is-mobile-editing { position:fixed; z-index:100001; top:var(--slai-viewport-top,0px); left:var(--slai-viewport-left,0px); width:var(--slai-viewport-width,100%); height:var(--slai-viewport-height,100dvh); max-width:none; margin:0; padding:8px 12px; background:#fff; }\n  .slai-chat.slai-chat--page.is-mobile-editing .slai-chat__panel { display:flex; flex-direction:column; height:100%; min-height:0; overflow:hidden; }\n  .slai-chat.slai-chat--page.is-mobile-editing .slai-chat__messages { flex:1 1 0; min-height:0; height:auto; margin:0; padding:8px 4px 18px 0; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }\n  .slai-chat.slai-chat--page.is-mobile-editing .slai-chat__status { flex:0 0 auto; }\n  .slai-chat.slai-chat--page.is-mobile-editing .slai-chat__form { flex:0 0 auto; margin:26px 0 0; }\n  .slai-chat.slai-chat--page.is-mobile-editing .slai-chat__notice { display:none; }\n}\n\n\/* A visible activity signal without implying a specific catalog\/knowledge operation. *\/\n.slai-chat__status.is-working::before { content:\"\";display:inline-block;width:9px;height:9px;margin-right:8px;border:2px solid #d8ded9;border-top-color:currentColor;border-radius:50%;vertical-align:-1px;animation:slai-working-spin .8s linear infinite; }\n@keyframes slai-working-spin { to { transform:rotate(360deg); } }\n@media(prefers-reduced-motion:reduce) { .slai-chat__status.is-working::before { animation:none; } }\n\n\/* Catalog thumbnails stay small and reserve their space while loading. *\/\n.slai-chat .slai-chat__product { display:flex;align-items:flex-start;gap:12px;list-style:none; }\n.slai-chat .slai-chat__product-photo { flex:0 0 64px;width:64px;height:64px;border-radius:8px;overflow:hidden;background:#fff; }\n.slai-chat .slai-chat__product-photo img { display:block;width:64px;height:64px;object-fit:contain; }\n.slai-chat .slai-chat__product-text { flex:1;min-width:0; }\n.slai-chat .slai-chat__view-reply { display:block;margin:6px auto;padding:5px 12px;border:1px solid #dedede;border-radius:999px;background:#fff;color:#303030;font:inherit;font-size:12px;cursor:pointer; }\n.slai-chat .slai-chat__view-reply[hidden] { display:none; }\n.slai-chat.slai-chat--page.is-mobile-editing .slai-chat__view-reply { flex:0 0 auto; }\n@media(max-width:767px) { .slai-chat .slai-chat__product { gap:10px; } .slai-chat .slai-chat__product-photo,.slai-chat .slai-chat__product-photo img { width:56px;height:56px; } .slai-chat .slai-chat__product-photo { flex-basis:56px; } }\n\n\/* Reveal desktop scrollbars on hover, keeping their space and keyboard access. *\/\n@media (hover:hover) and (pointer:fine) {\n  .slai-chat .slai-chat__messages { scrollbar-width:thin; scrollbar-color:transparent transparent; }\n  .slai-chat:hover .slai-chat__messages,\n  .slai-chat .slai-chat__messages:focus-visible { scrollbar-color:rgba(0,0,0,.28) transparent; }\n  .slai-chat .slai-chat__messages::-webkit-scrollbar { width:8px; }\n  .slai-chat .slai-chat__messages::-webkit-scrollbar-track { background:transparent; }\n  .slai-chat .slai-chat__messages::-webkit-scrollbar-thumb { background:transparent; border:2px solid transparent; border-radius:999px; background-clip:padding-box; }\n  .slai-chat:hover .slai-chat__messages::-webkit-scrollbar-thumb,\n  .slai-chat .slai-chat__messages:focus-visible::-webkit-scrollbar-thumb { background-color:rgba(0,0,0,.28); }\n}\n<\/style><script id=\"slai-chat-config\">window.SLAI_CHAT={\"assistantUrl\":\"https:\\\/\\\/superligero.es\\\/en\\\/assistant\\\/\",\"restUrl\":\"https:\\\/\\\/superligero.es\\\/en\\\/wp-json\\\/superligero-ai\\\/v1\\\/\",\"nonce\":\"\",\"maxLength\":4000,\"strings\":{\"welcome\":\"What are you looking for?\",\"viewReply\":\"View answer\",\"followup\":\"Ask another question\\u2026\",\"historyError\":\"Could not retrieve the conversation. Reload the page before continuing.\",\"historyStatus\":\"Could not load the conversation. Reload the page.\",\"pendingError\":\"Could not retrieve your question. You can type it here.\",\"resetConfirm\":\"Start a new conversation?\",\"storageError\":\"Allow browser storage to send your question to the assistant.\",\"error\":\"Could not get a response. Please try again.\",\"typing\":\"Reviewing your question\\u2026\",\"workingPhrases\":[\"Reviewing your question\\u2026\",\"Preparing your answer using Superligero information\\u2026\",\"We\\u2019re still working on your answer\\u2026\"],\"loadingHistory\":\"Loading your conversation\\u2026\",\"resetting\":\"Starting a new conversation\\u2026\"},\"heroPrompts\":[\"What gear are you looking for?\",\"Want to reduce your pack weight?\",\"What do you need for your next hike?\",\"Looking for a lighter alternative?\"]};<\/script><script id=\"slai-chat-inline-js\">(function () {\n  'use strict';\n\n  const config = window.SLAI_CHAT || {};\n\n  function request(path, options) {\n    const headers = Object.assign({ 'Content-Type': 'application\/json' }, (options && options.headers) || {});\n    if (config.nonce) headers['X-WP-Nonce'] = config.nonce;\n    return fetch(config.restUrl + path, Object.assign({ credentials: 'same-origin', cache: 'no-store', headers }, options || {}))\n      .then(async (response) => {\n        const data = await response.json().catch(() => ({}));\n        if (!response.ok) throw new Error(data.message || config.strings.error);\n        return data;\n      });\n  }\n\n  function uuid() {\n    if (window.crypto && window.crypto.randomUUID) return window.crypto.randomUUID();\n    return 'req-' + Date.now() + '-' + Math.random().toString(16).slice(2);\n  }\n\n  function appendInlineMarkdown(container, text) {\n    const pattern = \/\\[([^\\]\\n]+)\\]\\((https?:\\\/\\\/[^\\s)]+)\\)|\\*\\*([^*\\n]+)\\*\\*\/g;\n    let cursor = 0;\n    let match;\n\n    while ((match = pattern.exec(text)) !== null) {\n      if (match.index > cursor) container.appendChild(document.createTextNode(text.slice(cursor, match.index)));\n\n      if (match[1] && match[2]) {\n        try {\n          const url = new URL(match[2], window.location.href);\n          if (url.protocol !== 'http:' && url.protocol !== 'https:') throw new Error('Unsupported URL');\n          const link = document.createElement('a');\n          link.href = url.href;\n          if (url.origin !== window.location.origin) link.target = '_blank';\n          link.rel = 'noopener noreferrer';\n          link.textContent = match[1];\n          container.appendChild(link);\n        } catch (error) {\n          container.appendChild(document.createTextNode(match[1]));\n        }\n      } else {\n        const strong = document.createElement('strong');\n        strong.textContent = match[3];\n        container.appendChild(strong);\n      }\n      cursor = pattern.lastIndex;\n    }\n\n    if (cursor < text.length) container.appendChild(document.createTextNode(text.slice(cursor)));\n  }\n\n  function renderAssistantMessage(container, content, products) {\n\tconst cleanContent = String(content)\n\t  .replace(\/\\uE200(?:file)?cite\\uE202.*?\\uE201\/gu, '')\n\t  .replace(\/\u3010[^\u3011]*(?:\u2020|turn\\d+(?:file|search))[^\u3011]*\u3011\/gu, '');\n\tconst lines = cleanContent.replace(\/\\r\\n?\/g, '\\n').split('\\n');\n    let list = null;\n    let listType = '';\n\n    lines.forEach((line) => {\n      const bullet = line.match(\/^\\s*[-*]\\s+(.+)$\/);\n      const numbered = line.match(\/^\\s*\\d+\\.\\s+(.+)$\/);\n      const item = bullet || numbered;\n      const wantedType = numbered ? 'ol' : 'ul';\n\n      if (item) {\n        if (!list || listType !== wantedType) {\n          list = document.createElement(wantedType);\n          listType = wantedType;\n          container.appendChild(list);\n        }\n        const listItem = document.createElement('li');\n        appendInlineMarkdown(listItem, item[1]);\n        list.appendChild(listItem);\n        return;\n      }\n\n      list = null;\n      listType = '';\n      if (!line.trim()) return;\n\n      const paragraph = document.createElement('p');\n      appendInlineMarkdown(paragraph, line.replace(\/^#{1,4}\\s+\/, ''));\n      container.appendChild(paragraph);\n    });\n    addProductImages(container, products);\n  }\n\n  function addProductImages(container, products) {\n    if (!Array.isArray(products)) return;\n    const key = url => url.href.split('#')[0].replace(\/\\\/$\/, '');\n    const previews = new Map();\n    products.slice(0, 8).forEach(product => {\n      if (!product || typeof product.url !== 'string' || typeof product.image_url !== 'string') return;\n      try {\n        const url = new URL(product.url), image = new URL(product.image_url);\n        if (!['https:', 'http:'].includes(url.protocol) || !['https:', 'http:'].includes(image.protocol)) return;\n        previews.set(key(url), {url, image});\n      } catch (_) {}\n    });\n    const shown = new Set();\n    Array.from(container.querySelectorAll('a')).forEach(link => {\n      const productKey = key(new URL(link.href));\n      const preview = previews.get(productKey);\n      const row = link.closest('li, p');\n      if (!preview || !row || shown.has(productKey) || row.classList.contains('slai-chat__product')) return;\n      shown.add(productKey);\n      const body = document.createElement(row.tagName === 'P' ? 'span' : 'div'); body.className = 'slai-chat__product-text';\n      while (row.firstChild) body.appendChild(row.firstChild);\n      const photo = document.createElement('a'); photo.href = preview.url.href;\n      photo.className = 'slai-chat__product-photo'; photo.tabIndex = -1; photo.setAttribute('aria-hidden', 'true');\n      const image = document.createElement('img'); image.src = preview.image.href;\n      image.alt = ''; image.width = 64; image.height = 64; image.loading = 'lazy'; image.decoding = 'async';\n      image.addEventListener('error', () => { photo.remove(); row.classList.remove('slai-chat__product'); }, {once:true});\n      photo.append(image); row.classList.add('slai-chat__product'); row.append(photo, body);\n    });\n  }\n\n  function visibleSuggestion(input) {\n    return Array.isArray(config.heroPrompts) && config.heroPrompts.includes(input.placeholder) ? input.placeholder : '';\n  }\n\n  function setupSuggestions(input) {\n    const prompts = Array.isArray(config.heroPrompts) ? config.heroPrompts : [];\n    if (!prompts.length) return function () {};\n    input.placeholder = prompts[0];\n    let timer = null;\n    let index = 0;\n    const stop = () => {\n      if (timer !== null) window.clearInterval(timer);\n      timer = null;\n    };\n    ['pointerdown', 'focus', 'input'].forEach(name => input.addEventListener(name, stop));\n    if (prompts.length > 1 && !window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n      timer = window.setInterval(() => {\n        if (!input.value && document.activeElement !== input) {\n          index = (index + 1) % prompts.length;\n          input.placeholder = prompts[index];\n        }\n      }, 3800);\n    }\n    return stop;\n  }\n\n  function setupMobileComposer(root, input, messages) {\n    if (!root.classList.contains('slai-chat--page')) return;\n    const mobile = window.matchMedia('(max-width: 767px)');\n    const viewport = window.visualViewport;\n    let active = false;\n    let originalScroll = 0;\n    let frame = null;\n    let blurTimer = null;\n    function update() {\n      frame = null;\n      if (!active) return;\n      if (!mobile.matches) { close(); return; }\n      const atBottom = messages.scrollHeight - messages.scrollTop - messages.clientHeight < 48;\n      root.style.setProperty('--slai-viewport-top', (viewport ? viewport.offsetTop : 0) + 'px');\n      root.style.setProperty('--slai-viewport-left', (viewport ? viewport.offsetLeft : 0) + 'px');\n      root.style.setProperty('--slai-viewport-height', (viewport ? viewport.height : window.innerHeight) + 'px');\n      root.style.setProperty('--slai-viewport-width', (viewport ? viewport.width : window.innerWidth) + 'px');\n      if (atBottom) messages.scrollTop = messages.scrollHeight;\n    }\n    function schedule() {\n      if (frame === null) frame = window.requestAnimationFrame(update);\n    }\n    function close() {\n      if (!active) return;\n      active = false;\n      root.classList.remove('is-mobile-editing');\n      document.body.classList.remove('slai-mobile-editing');\n      ['top', 'left', 'height', 'width'].forEach(name => root.style.removeProperty('--slai-viewport-' + name));\n      window.scrollTo(0, originalScroll);\n    }\n    input.addEventListener('focus', () => {\n      window.clearTimeout(blurTimer);\n      if (!mobile.matches || active) return;\n      const followBottom = messages.scrollHeight - messages.scrollTop - messages.clientHeight < 48;\n      originalScroll = window.scrollY;\n      active = true;\n      document.body.classList.add('slai-mobile-editing');\n      root.classList.add('is-mobile-editing');\n      update();\n      window.requestAnimationFrame(() => { if (followBottom) messages.scrollTop = messages.scrollHeight; });\n    });\n    input.addEventListener('blur', () => {\n      blurTimer = window.setTimeout(() => {\n        if (document.activeElement !== input) close();\n      }, 180);\n    });\n    if (viewport) {\n      viewport.addEventListener('resize', schedule);\n      viewport.addEventListener('scroll', schedule);\n    }\n    window.addEventListener('resize', schedule);\n    window.addEventListener('pageshow', () => {\n      if (document.activeElement !== input) close();\n    });\n  }\n\n  function init(root) {\n\tconst heroMode = root.classList.contains('slai-chat--hero');\n\tconst heroContainer = heroMode ? root.closest('.sl-category-hero') : null;\n    const messages = root.querySelector('[data-slai-messages]');\n    const status = root.querySelector('[data-slai-status]');\n    const form = root.querySelector('[data-slai-form]');\n    const input = root.querySelector('[data-slai-input]');\n    const submit = root.querySelector('[data-slai-submit]');\n    const reset = root.querySelector('[data-slai-reset]');\n    const toggle = root.querySelector('[data-slai-toggle]');\n    const intro = root.querySelector('[data-slai-intro]');\n\tconst heroPrompt = root.querySelector('[data-slai-hero-prompt]');\n\tconst stopPrompts = heroMode ? setupSuggestions(input) : function () {};\n    setupMobileComposer(root, input, messages);\n\n    let unreadReply = null;\n    const viewReply = document.createElement('button');\n    viewReply.type = 'button'; viewReply.className = 'slai-chat__view-reply'; viewReply.hidden = true;\n    viewReply.textContent = config.strings.viewReply || 'Ver respuesta';\n    messages.insertAdjacentElement('afterend', viewReply);\n    function showReply(item) {\n      viewReply.hidden = true; unreadReply = null;\n      \/\/ Keep the start of an answer visible, including answers taller than the chat viewport.\n      const top = item.getBoundingClientRect().top - messages.getBoundingClientRect().top + messages.scrollTop;\n      messages.scrollTop = Math.max(0, top - 8);\n    }\n    viewReply.addEventListener('click', () => { if (unreadReply) showReply(unreadReply); });\n    function addMessage(role, content, products, scroll = true) {\n      if (intro) intro.hidden = true;\n      const wasAtBottom = messages.scrollHeight - messages.scrollTop - messages.clientHeight < 48;\n      const previousScroll = messages.scrollTop;\n      const item = document.createElement('div');\n      item.className = 'slai-chat__message slai-chat__message--' + role;\n      if (role === 'assistant') renderAssistantMessage(item, content, products);\n      else item.textContent = content;\n      messages.appendChild(item);\n      root.classList.add('has-messages');\n      if (heroContainer) heroContainer.classList.add('is-conversation');\n      if (scroll) window.requestAnimationFrame(() => {\n        if (role === 'assistant') {\n          if (wasAtBottom) showReply(item);\n          else { messages.scrollTop = previousScroll; unreadReply = item; viewReply.hidden = false; }\n        } else { viewReply.hidden = true; unreadReply = null; messages.scrollTop = messages.scrollHeight; }\n      });\n      return item;\n    }\n\n    let workingTimer = null;\n    function clearWorking() {\n      window.clearInterval(workingTimer); workingTimer = null;\n      status.classList.remove('is-working');\n      status.setAttribute('aria-busy', 'false');\n    }\n    function setBusy(busy, mode) {\n      clearWorking();\n      input.disabled = busy;\n      submit.disabled = busy;\n      if (reset) reset.disabled = busy;\n      status.textContent = '';\n      if (!busy) return;\n      status.classList.add('is-working');\n      status.setAttribute('aria-busy', 'true');\n      if (mode !== 'reply') {\n        status.textContent = mode === 'reset' ? (config.strings.resetting || config.strings.typing) : (config.strings.loadingHistory || config.strings.typing);\n        return;\n      }\n      const phrases = Array.isArray(config.strings.workingPhrases) && config.strings.workingPhrases.length ? config.strings.workingPhrases : [config.strings.typing];\n      let phrase = 0;\n      status.textContent = phrases[phrase];\n      workingTimer = window.setInterval(() => {\n        if (!root.isConnected) { clearWorking(); return; }\n        phrase = (phrase + 1) % phrases.length;\n        status.textContent = phrases[phrase];\n      }, 4500);\n    }\n    window.addEventListener('pagehide', clearWorking);\n\n\tsetBusy(true);\n\trequest('history', { method: 'GET', headers: {} })\n\t  .then((data) => {\n\t\tif (intro) intro.hidden = !!(data.messages && data.messages.length);\n\t\twindow.dispatchEvent(new CustomEvent('slai:conversation-state', { detail: { active: !!data.conversation_id } }));\n\t\tif (data.messages && data.messages.length) {\n\t\t  if (heroMode) {\n\t\t\tstopPrompts();\n\t\t\tinput.placeholder = config.strings.followup;\n\t\t  }\n\t\t  data.messages.forEach((item) => addMessage(item.role, item.content, item.products, false));\n\t\t  window.requestAnimationFrame(() => { const last = messages.lastElementChild; if (last && last.classList.contains('slai-chat__message--assistant')) showReply(last); else messages.scrollTop = messages.scrollHeight; });\n\t\t}\n\t  })\n\t  .catch(() => {\n\t\tif (!heroMode) addMessage('error', config.strings.historyError);\n        throw new Error('history');\n\t  })\n      .then(() => {\n        setBusy(false);\n        consumePending();\n      }).catch(() => { clearWorking(); status.textContent = config.strings.historyStatus; });\n\n    function consumePending() {\n      if (!root.hasAttribute('data-slai-page') || submit.disabled) return;\n      try {\n        const pending = JSON.parse(sessionStorage.getItem('slai_pending_message') || 'null');\n        if (!pending || typeof pending.message !== 'string') return;\n        input.value = pending.message;\n        sessionStorage.removeItem('slai_pending_message');\n        form.requestSubmit();\n      } catch (error) {\n        status.textContent = config.strings.pendingError;\n      }\n    }\n    root.addEventListener('slai:pending', consumePending);\n\n    form.addEventListener('submit', function (event) {\n      event.preventDefault();\n      const value = input.value.trim() || (heroMode ? visibleSuggestion(input) : '');\n      if (!value || submit.disabled) return;\n\t  stopPrompts();\n\t  if (heroPrompt) heroPrompt.textContent = 'Te ayudo a encontrarlo';\n\t  if (heroMode) input.placeholder = config.strings.followup;\n      addMessage('user', value);\n      input.value = '';\n      setBusy(true, 'reply');\n      request('message', {\n        method: 'POST',\n        body: JSON.stringify({ message: value, request_id: uuid() })\n      }).then((data) => {\n        window.dispatchEvent(new CustomEvent('slai:conversation-state', { detail: { active: true } }));\n        addMessage('assistant', data.message, data.products);\n      }).catch((error) => {\n        addMessage('error', error.message || config.strings.error);\n        input.value = value;\n      }).finally(() => {\n        setBusy(false);\n        if (!window.matchMedia('(max-width: 767px)').matches) input.focus({preventScroll:true});\n      });\n    });\n\n    input.addEventListener('keydown', function (event) {\n      if (event.key === 'Enter' && !event.shiftKey) {\n        event.preventDefault();\n        form.requestSubmit();\n      }\n    });\n\n    if (reset) reset.addEventListener('click', function () {\n      if (!window.confirm(config.strings.resetConfirm)) return;\n      setBusy(true, 'reset');\n      request('reset', { method: 'POST', body: '{}' })\n        .then(() => {\n\t\t  messages.textContent = '';\n\t\t  if (intro) intro.hidden = false;\n\t\t  window.dispatchEvent(new CustomEvent('slai:conversation-state', { detail: { active: false } }));\n\t\t  unreadReply = null; viewReply.hidden = true;\n\t\t  root.classList.remove('has-messages');\n\t\t  if (heroContainer) heroContainer.classList.remove('is-conversation');\n\t\t  if (heroMode) {\n\t\t\tif (heroPrompt) heroPrompt.textContent = config.heroPrompts && config.heroPrompts[0] ? config.heroPrompts[0] : config.strings.welcome;\n\t\t\tinput.placeholder = config.heroPrompts && config.heroPrompts[0] ? config.heroPrompts[0] : config.strings.welcome;\n\t\t  }\n        })\n        .catch((error) => addMessage('error', error.message || config.strings.error))\n        .finally(() => setBusy(false));\n    });\n\n    if (toggle) {\n      toggle.addEventListener('click', function () {\n        const collapsed = root.classList.toggle('is-collapsed');\n        toggle.setAttribute('aria-expanded', collapsed ? 'false' : 'true');\n        if (!collapsed) input.focus();\n      });\n    }\n  }\n\n  function boot() {\n    const bar = document.querySelector('[data-slai-topbar]');\n    \/\/ Fallback for themes without Savoy's template hook.\n    if (bar && !bar.closest('header')) {\n      const header = document.querySelector('#nm-header, header.site-header, #masthead');\n      if (header) header.prepend(bar);\n      else document.body.prepend(bar);\n      window.dispatchEvent(new Event('resize'));\n    }\n    const siteHeader = bar && bar.closest('#nm-header');\n    const placeholder = document.getElementById('nm-header-placeholder');\n    const menuRow = siteHeader && siteHeader.querySelector('.nm-header-row');\n    const barAnchor = document.createComment('Assistant desktop position');\n    if (bar) bar.before(barAnchor);\n    const rightMenu = siteHeader && siteHeader.querySelector('#nm-right-menu-ul');\n    let desktopSlot = null;\n    if (rightMenu) {\n      desktopSlot = document.createElement('li');\n      desktopSlot.className = 'slai-menu-assistant';\n      const cart = rightMenu.querySelector('.nm-menu-cart');\n      \/\/ Custom right-menu links (including language) precede Savoy's cart.\n      rightMenu.insertBefore(desktopSlot, cart || rightMenu.querySelector('.nm-menu-offscreen'));\n    }\n    const mobileHeader = window.matchMedia('(max-width: 767px)');\n    const syncHeaderSpace = () => {\n      const column = menuRow && menuRow.querySelector('.nm-header-col');\n      const logo = column && column.querySelector('.nm-header-logo');\n      const embedded = !!(mobileHeader.matches && logo);\n      if (embedded && bar.parentNode !== logo.parentNode) {\n        logo.insertAdjacentElement('afterend', bar);\n      } else if (!embedded && bar) {\n        const destination = desktopSlot || barAnchor.parentNode;\n        if (bar.parentNode !== destination) {\n          if (desktopSlot) desktopSlot.append(bar);\n          else barAnchor.parentNode.insertBefore(bar, barAnchor.nextSibling);\n        }\n      }\n      if (siteHeader) {\n        siteHeader.classList.toggle('slai-mobile-header', embedded);\n        siteHeader.classList.toggle('slai-desktop-header', !embedded && !!desktopSlot);\n      }\n      if (menuRow && !embedded && !desktopSlot) {\n        const rowBounds = menuRow.getBoundingClientRect();\n        const headerBounds = siteHeader.getBoundingClientRect();\n        const column = menuRow.querySelector('.nm-header-col');\n        const columnStyle = column ? getComputedStyle(column) : null;\n        if (rowBounds.height > 0) bar.style.setProperty('--slai-menu-height', Math.max(40, Math.round(rowBounds.height)) + 'px');\n        bar.style.paddingLeft = Math.max(0, rowBounds.left - headerBounds.left + (columnStyle ? parseFloat(columnStyle.paddingLeft) || 0 : 0)) + 'px';\n        bar.style.paddingRight = Math.max(0, headerBounds.right - rowBounds.right + (columnStyle ? parseFloat(columnStyle.paddingRight) || 0 : 0)) + 'px';\n      }\n      \/\/ Savoy skips its own placeholder measurement for fixed headers.\n      if (siteHeader && placeholder && document.body.classList.contains('header-fixed')) {\n        placeholder.style.height = Math.ceil(siteHeader.getBoundingClientRect().height) + 'px';\n      }\n    };\n    if (siteHeader) {\n      syncHeaderSpace();\n      window.addEventListener('load', syncHeaderSpace, { once: true });\n      window.addEventListener('resize', syncHeaderSpace);\n      if (document.fonts && document.fonts.ready) document.fonts.ready.then(syncHeaderSpace);\n      if (menuRow && window.ResizeObserver) new ResizeObserver(syncHeaderSpace).observe(menuRow);\n    }\n    document.querySelectorAll('[data-slai-resume]').forEach((resume) => {\n      const headerChat = resume.closest('.slai-chat--topbar');\n      let stateVersion = 0, stateRequest = null;\n      function applyConversationState(active) {\n        resume.textContent = active ? resume.dataset.labelContinue : resume.dataset.labelStart;\n        if (headerChat) {\n          headerChat.classList.toggle('has-conversation', active);\n          headerChat.classList.remove('is-checking');\n        }\n      }\n      async function refreshConversationState() {\n        if (stateRequest) return stateRequest;\n        const version = stateVersion;\n        stateRequest = request('conversation-status', { method: 'GET', headers: {} })\n          .then(data => { if (version === stateVersion) applyConversationState(!!data.has_conversation); })\n          .catch(() => { if (headerChat) headerChat.classList.remove('is-checking'); })\n          .finally(() => { stateRequest = null; });\n        return stateRequest;\n      }\n      window.addEventListener('slai:conversation-state', event => {\n        stateVersion++;\n        applyConversationState(!!event.detail.active);\n      });\n      window.addEventListener('focus', refreshConversationState);\n      window.addEventListener('pageshow', event => { if (event.persisted) refreshConversationState(); });\n      resume.addEventListener('click', event => {\n        const page = document.querySelector('[data-slai-page]');\n        if (!page) return;\n        event.preventDefault();\n        page.scrollIntoView({ block: 'start', behavior: 'smooth' });\n        const composer = page.querySelector('[data-slai-input]');\n        if (composer) composer.focus({ preventScroll: true });\n      });\n      refreshConversationState();\n    });\n    document.querySelectorAll('[data-slai-chat]').forEach(init);\n  }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot);\n  else boot();\n})();\n<\/script>\t\t<div data-slai-page id=\"slai-chat-1\" class=\"slai-chat slai-chat--page\" data-slai-chat>\n\t\t\t\t\t\t<section id=\"slai-chat-1-panel\" class=\"slai-chat__panel\" aria-label=\"Superligero assistant\">\n\t\t\t\t\t\t\t\t<p class=\"slai-chat__intro\" data-slai-intro hidden>Ask me about products, brands, specifications, reservations or shipping.<\/p>\n\t\t\t\t\t\t\t\t<div class=\"slai-chat__messages\" data-slai-messages aria-live=\"polite\"><\/div>\n\t\t\t\t<div class=\"slai-chat__status\" data-slai-status aria-live=\"polite\"><\/div>\n\t\t\t\t<form class=\"slai-chat__form\" data-slai-form>\n\t\t\t\t\t<label class=\"screen-reader-text\" for=\"slai-chat-1-input\">Type your message<\/label>\n\t\t\t\t\t\t\t\t\t\t<input id=\"slai-chat-1-input\" data-slai-input type=\"text\" maxlength=\"4000\" placeholder=\"Type your message\u2026\" autocomplete=\"off\" required \/>\n\t\t\t\t\t<button type=\"submit\" data-slai-submit aria-label=\"Send question\"><span aria-hidden=\"true\">\u2192<\/span><\/button>\n\t\t\t\t\t\t\t\t\t<\/form>\n\t\t\t\t<p class=\"slai-chat__notice\">AI in testing. We review chats to improve the store. Do not share personal or sensitive information. <a href=\"https:\/\/superligero.es\/en\/finalizar-compra\/\">Privacy<\/a>.<\/p>\n\t\t\t<\/section>\n\t\t<\/div>\n\t\t\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":16,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_trash_the_other_posts":false,"editor_notices":[],"footnotes":""},"class_list":["post-19108","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>assistant<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/superligero.es\/en\/assistant\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"assistant\" \/>\n<meta property=\"og:url\" content=\"https:\/\/superligero.es\/en\/assistant\/\" \/>\n<meta property=\"og:site_name\" content=\"SuperLigero\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-17T15:16:48+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/superligero.es\/en\/assistant\/\",\"url\":\"https:\/\/superligero.es\/en\/assistant\/\",\"name\":\"assistant\",\"isPartOf\":{\"@id\":\"https:\/\/superligero.es\/en\/#website\"},\"datePublished\":\"2026-10-17T15:14:28+00:00\",\"dateModified\":\"2026-10-17T15:16:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/superligero.es\/en\/assistant\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/superligero.es\/en\/assistant\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/superligero.es\/en\/assistant\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/superligero.es\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"assistant\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/superligero.es\/en\/#website\",\"url\":\"https:\/\/superligero.es\/en\/\",\"name\":\"SuperLigero\",\"description\":\"Ultralight outdoor gear for hiking\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/superligero.es\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"assistant","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/superligero.es\/en\/assistant\/","og_locale":"en_US","og_type":"article","og_title":"assistant","og_url":"https:\/\/superligero.es\/en\/assistant\/","og_site_name":"SuperLigero","article_modified_time":"2026-10-17T15:16:48+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/superligero.es\/en\/assistant\/","url":"https:\/\/superligero.es\/en\/assistant\/","name":"assistant","isPartOf":{"@id":"https:\/\/superligero.es\/en\/#website"},"datePublished":"2026-10-17T15:14:28+00:00","dateModified":"2026-10-17T15:16:48+00:00","breadcrumb":{"@id":"https:\/\/superligero.es\/en\/assistant\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/superligero.es\/en\/assistant\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/superligero.es\/en\/assistant\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/superligero.es\/en\/"},{"@type":"ListItem","position":2,"name":"assistant"}]},{"@type":"WebSite","@id":"https:\/\/superligero.es\/en\/#website","url":"https:\/\/superligero.es\/en\/","name":"SuperLigero","description":"Ultralight outdoor gear for hiking","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/superligero.es\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/superligero.es\/en\/wp-json\/wp\/v2\/pages\/19108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/superligero.es\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/superligero.es\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/superligero.es\/en\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/superligero.es\/en\/wp-json\/wp\/v2\/comments?post=19108"}],"version-history":[{"count":1,"href":"https:\/\/superligero.es\/en\/wp-json\/wp\/v2\/pages\/19108\/revisions"}],"predecessor-version":[{"id":19109,"href":"https:\/\/superligero.es\/en\/wp-json\/wp\/v2\/pages\/19108\/revisions\/19109"}],"wp:attachment":[{"href":"https:\/\/superligero.es\/en\/wp-json\/wp\/v2\/media?parent=19108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}