LIBRISTO
LIBROAMANTO
povinné
Staňte se součástí komunity milovníků knih z celého světa a získejte hromadu výhod. Založit účet zdarma
0
Doprava zdarma se Zásilkovnou nad 1 499 Kč
Kurýr DPD 69 PPL shop 49 Balíkovna 69 PPL kurýr 74 PPL box 39 Balíkovna 49 Výdejní místo DPD 49 Zásilkovna 39

Doprava zdarma při nákupu nad 1 499 Kč přes Zásilkovnu nebo PPL Box.

Sophonisbe.

Kniha Sophonisbe. Emanuel Geibel
Libristo kód: 12013909
Nakladatelství Nabu Press, březen 2012
This is a reproduction of a book published before 1923. This book may have occasional imperfections... Celý popis
? points 39 b
388
Skladem u dodavatele Odesíláme za 9-15 dnů

30 dní na vrácení zboží


Zákazníci také koupili


Sonnets. William Drake Sargeaunt / Kniha Brožovaná
common.buy 287
Sorcerers in Space Larry Hodges / Kniha Brožovaná
common.buy 279
Milk Soaps Maccsone Janela Maccsone / Kniha Brožovaná
common.buy 261
Les aliments qui préviennent l'ostéoporose Florence Piquet / Kniha Brožovaná
common.buy 413
The Life and Letters of Lewis Carroll Stuart Dodgson Collingwood / Kniha Pevná
common.buy 1 229
Itoko dira berriak Karlos Linazasoro / Kniha Brožovaná
common.buy 302
DK Eyewitness New York City Dk Travel / Kniha Brožovaná
common.buy 630
Untamed Bianca Sommerland / Kniha Brožovaná
common.buy 299
Explosive Passion Marissa Dobson / Kniha Brožovaná
common.buy 154
Miluj svou zahradu Harry Rich / Kniha Pevná
common.buy 594
Justice Rules Thomas White / Kniha Brožovaná
common.buy 362
EASTER DICKMANN NANCY / Kniha Pevná
common.buy 275
Discourse Analysis Susan Strauss / Kniha Brožovaná
common.buy 2 293
Nest Esther Ehrlich / Kniha Brožovaná
common.buy 204
Fundamentals of Evidence Based Medicine Kameshwar Prasad / Kniha Brožovaná
common.buy 1 315
Analyst and Echoes of Laughter Philip McGrath / Kniha Brožovaná
common.buy 577
SURGE LA IGLESIA DEL NAZARENO (Spanish Gene Van Note / Kniha Brožovaná
common.buy 239
Neurobiology of Learning Sara Ann Schuchert / Kniha Brožovaná
common.buy 1 956
Intro Sociol Education V 9 W. A. C. Stewart / Kniha Pevná
common.buy 10 833
Nourishing Wisdom Marc David / Kniha Brožovaná
common.buy 318

This is a reproduction of a book published before 1923. This book may have occasional imperfections such as missing or blurred pages, poor pictures, errant marks, etc. that were either part of the original artifact, or were introduced by the scanning process. We believe this work is culturally important, and despite the imperfections, have elected to bring it back into print as part of our continuing commitment to the preservation of printed works worldwide. We appreciate your understanding of the imperfections in the preservation process, and hope you enjoy this valuable book. br/br/ ++++br/ The below data was compiled from various identification fields in the bibliographic record of this title. This data is provided as an additional tool in helping to ensure edition identification: br/++++ br/br/ Sophonisbe: Tragodie In Fünf Aufzügen; Bibliothek Der Deutschen Literaturbr/br/<author> Emanuel Geibelbr/br/<publisher> J. G. Cotta, 1868br/br/<subjects> History; General; History / General</p></div> <div :class="open ? '' : 'bg-gradient-to-t'" class="flex justify-end items-end absolute bottom-0 left-0 right-0 h-24 from-white via-white lg:hidden"> <button @click="open = !open" class="flex items-center font-montserrat text-lgreen2 font-bold"> Celý popis <svg :class="open ? 'rotate-180' : ''" class="ml-2 transform transition-all" height="10" viewBox="0 0 17 10" width="17" xmlns="http://www.w3.org/2000/svg"><path d="m15.7 2-6.9 6.8-6.9-6.8" fill="none" stroke="#00bf9c" stroke-linecap="round" stroke-linejoin="round"/></svg> </button> </div> </div> </div> </div> </div> </div> </section> <!-- end:l-content --> <script type="application/ld+json"> { "@context": "https://schema.org/", "@type": ["Product", "Book"], "name": "Sophonisbe.", "id": "12013909", "sku": "12013909", "gtin": "9781279845387", "isbn": "9781279845387", "numberOfPages": 170, "author": { "@type": "Person", "name": "Emanuel Geibel" }, "bookFormat": "https://schema.org/Paperback", "description": "This is a reproduction of a book published before 1923. This book may have occasional imperfections such as missing or blurred pages, poor pictures, errant marks, etc. that were either part of the original artifact, or were introduced by the scanning process. We believe this work is culturally important, and despite the imperfections, have elected to bring it back into print as part of our continuing commitment to the preservation of printed works worldwide. We appreciate your understanding of the imperfections in the preservation process, and hope you enjoy this valuable book. br/br/ ++++br/ The below data was compiled from various identification fields in the bibliographic record of this title. This data is provided as an additional tool in helping to ensure edition identification: br/++++ br/br/ Sophonisbe: Tragodie In Fünf Aufzügen; Bibliothek Der Deutschen Literaturbr/br/ Emanuel Geibelbr/br/ J. G. Cotta, 1868br/br/ History; General; History / General", "image": "https://libris.to/media/jacket/12013909_sophonisbe.jpg", "url": "https://www.libristo.cz/cs/kniha/sophonisbe_12013909", "itemCondition": "https://schema.org/NewCondition", "brand": "Nabu Press", "offers": { "@type": "Offer", "availability": "http://schema.org/InStock", "price": 388, "priceCurrency": "CZK" } } </script> <section class="bg-primary-700" x-data="{ videoModalOpen: false, closeVideoModal() { this.videoModalOpen = false; // Clear the iframe src to stop the video this.$nextTick(() => { if (this.$refs.videoIframe) { this.$refs.videoIframe.src = ''; } }); } }"> <div class="c-container"> <div class="flex flex-col lg:flex-row w-full"> <div class="flex items-center flex-1 gap-6 lg:gap-0 lg:mb-0 px-4 lg:px-0 lg:h-[289px] pt-12 pb-48 lg:pt-0 lg:pb-0 relative flex-col lg:flex-row"> <div class="relative z-10 flex flex-col gap-4 text-center lg:text-left"> <div class="flex items-center gap-2 text-white font-heading text-[23px] justify-center lg:justify-start"> <span class="font-bold">Herečka</span> & <span class="font-bold">Polyglotka</span> </div> <span class="text-yell font-[900] text-7xl">EWA KASP</span> <span class="flex items-end justify-end gap-2 text-right text-white font-heading"> <span class="">pro</span> <svg class="text-white w-24 h-8 grow-0 shrink-0" width="248" height="80" viewBox="0 0 248 80" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M0.904297 78.9921H25.403L26.226 74.4975L6.9182 76.5865V34.3626H0.904297V78.9921ZM33.3161 78.9921H39.33V34.3626H33.3161V78.9921ZM50.2183 78.9921H60.7901C70.0325 78.9921 75.3501 73.8011 75.3501 66.711C75.3501 59.6843 69.0196 55.6328 62.8791 55.6328V55.5062C69.716 54.8098 73.8941 50.1886 73.8941 44.7445C73.8941 39.237 69.8426 34.3626 61.4864 34.3626H50.2183V78.9921ZM56.2322 76.0168V56.709H59.8405C66.1077 57.0888 69.2096 61.71 69.2096 67.3441C69.2096 73.2947 65.5379 76.5865 60.347 76.5865C59.0176 76.5865 57.5616 76.3966 56.2322 76.0168ZM56.2322 54.6199V36.6415L58.9543 36.7048C65.0948 36.958 68.0068 40.9462 68.0068 45.7573C68.0068 50.6951 64.9049 54.43 59.2075 54.6199H56.2322ZM83.7062 78.9921H89.7201V57.5319L106.053 78.9921H113.839L95.7973 57.1521C96.6836 57.2787 97.7598 57.2787 99.2791 57.0888C104.66 56.3291 109.471 51.9611 109.471 46.0105C109.471 39.0471 103.964 34.3626 96.0506 34.3626H83.7062V78.9921ZM89.7201 54.1135V36.8314L92.822 36.8947C99.8488 37.2746 103.394 42.0857 103.394 47.7831C103.394 53.4804 99.7855 55.886 95.924 55.886C93.4551 55.886 91.2394 55.1264 89.7201 54.1135ZM119.916 78.9921H125.93V34.3626H119.916V78.9921ZM147.074 80.0049C153.974 80.0049 160.304 74.7507 160.304 67.5973C160.304 60.8237 155.683 57.2787 150.745 54.2401L145.491 51.1382C142.326 49.1758 139.73 46.9601 139.73 43.0986C139.73 38.7939 142.959 36.3883 146.821 36.3883C150.619 36.3883 153.341 38.4773 154.417 42.5288L159.291 40.7563C157.646 36.7681 153.847 33.3497 147.454 33.3497C140.997 33.3497 134.919 37.9076 134.919 44.6812C134.919 50.8217 138.718 54.3034 143.972 57.4686L149.036 60.5705C152.581 62.7229 155.303 65.1917 155.303 69.4331C155.303 74.0543 151.822 76.9663 147.517 76.9663C143.276 76.9663 139.224 74.1176 138.718 68.7368L133.653 69.4964C134.54 75.6369 140.11 80.0049 147.074 80.0049ZM197.084 34.3626H164.039L163.596 38.9205L177.523 36.8314V78.9921H183.537V36.8314L197.527 38.9205L197.084 34.3626ZM223.988 80.0049C237.346 80.0049 247.094 68.5469 247.094 56.0126C247.094 43.1619 237.409 33.3497 224.178 33.3497C210.758 33.3497 201.072 44.8078 201.072 57.2787C201.072 70.1295 210.695 80.0049 223.988 80.0049ZM207.149 53.6704C207.149 44.8078 212.72 36.6415 222.153 36.6415C232.851 36.6415 241.017 47.2766 241.017 59.6843C241.017 68.5469 235.446 76.7131 225.951 76.7131C215.252 76.7131 207.149 66.078 207.149 53.6704Z" fill="currentColor"/> <path d="M123.499 19.4591L112.018 9.87149V12.5473L123.499 23.7192L134.981 12.6429V10.0694L123.499 19.4591Z" fill="currentColor"/> <path d="M123.499 9.59257L112.018 0.00494385V2.68073L123.499 13.8527L134.981 2.77635V0.202905L123.499 9.59257Z" fill="currentColor"/> </svg> </span> </div> <div @click="videoModalOpen = true" class="lg:absolute lg:bottom-0 lg:top-0 lg:right-18 h-full z-10 flex flex-col items-center justify-center gap-1 cursor-pointer"> <button class="flex items-center justify-center mt-11 hover:scale-105 transition-transform cursor-pointer"> <svg class="text-primary w-[71px] h-[71px]" xmlns="http://www.w3.org/2000/svg" width="26.455" height="26.455" viewBox="0 0 26.455 26.455"> <g id="Group_1509" data-name="Group 1509" transform="translate(-1062.25 -398.931)" opacity="0.5"> <g id="g835" transform="translate(1063 399.681)"> <path id="path837" d="M-617.711-308.855a12.477,12.477,0,0,1-12.477,12.477,12.477,12.477,0,0,1-12.477-12.477,12.477,12.477,0,0,1,12.477-12.477A12.477,12.477,0,0,1-617.711-308.855Z" transform="translate(642.665 321.333)" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/> </g> <g id="g839" transform="translate(1071.853 405.428)"> <path id="path841" d="M0,0V13.461L9.319,6.73Z" fill="currentColor"/> </g> </g> </svg> </button> <span class="text-primary text-base/10 font-bold">Přehrát video</span> </div> <img src="https://www.libristo.cz/img/ewakasp2x.png" alt="Ewa Kasp" class="absolute bottom-0 top-0 right-0 h-full z-0 hidden lg:block"> <img src="https://www.libristo.cz/img/ewakasp_mobile.png" alt="Ewa Kasp" class="absolute bottom-0 top-0 right-0 w-full h-full z-0 object-cover block lg:hidden"> </div> <div class="w-full lg:w-[360px] shrink-0 py-12 lg:py-0 px-4 lg:px-8 flex justify-center items-center gap-4 text-center bg-white/10"> <svg class="text-primary-200 w-18 h-18 opacity-30" width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M16.1138 9.1765L8.49805 0.177002H10.623L19.498 9.1765L10.7005 18.177H8.65606L16.1138 9.1765Z" fill="currentColor"/> <path d="M8.11384 9.1765L0.498047 0.177002H2.62299L11.498 9.1765L2.70047 18.177H0.656061L8.11384 9.1765Z" fill="currentColor"/> </svg> <span class="text-primary-200 font-heading text-lg/10 italic">Libristo má největší výběr cizojazyčné literatury. Proto své knihy kupuji tady.</span> <svg class="text-primary-200 w-18 h-18 rotate-180 opacity-30" width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M16.1138 9.1765L8.49805 0.177002H10.623L19.498 9.1765L10.7005 18.177H8.65606L16.1138 9.1765Z" fill="currentColor"/> <path d="M8.11384 9.1765L0.498047 0.177002H2.62299L11.498 9.1765L2.70047 18.177H0.656061L8.11384 9.1765Z" fill="currentColor"/> </svg> </div> </div> </div> <!-- Video Modal --> <div x-show="videoModalOpen" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/75" x-cloak @click.self="closeVideoModal()" @keydown.escape.window="closeVideoModal()"> <div class="relative w-full max-w-5xl bg-white rounded-lg shadow-xl"> <!-- Close button --> <button @click="closeVideoModal()" class="absolute -top-12 right-4 z-10 p-2 text-white transition-colors"> <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> </svg> </button> <!-- YouTube embed container --> <div class="relative w-full" style="padding-bottom: 56.25%;"> <iframe x-show="videoModalOpen" x-ref="videoIframe" class="absolute top-0 left-0 w-full h-full rounded-lg" :src="videoModalOpen ? 'https://www.youtube.com/embed/qKS3u4M5y5c?autoplay=1&rel=0' : ''" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen> </iframe> </div> </div> </div> </section> <section class="bg-cream"> <div class="c-container"> <div class="flex flex-col lg:flex-row w-full"> <div class="flex-1 mb-16 lg:mb-0 lg:mr-8 px-4 lg:px-0 py-12"> <h2 class="font-heading font-bold text-2xl lg:text-4xl text-primary-700 mb-12">Informace o knize</h2> <div class="grid gap-6 grid-cols-2 lg:grid-cols-3 font-merriweatherlight text-gray-600"> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Plný název</span> <strong class="text-black">Sophonisbe.</strong> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Autor</span> <span class="text-black"> <a rel="nofollow" class="no-underline font-bold text-primary text-base" href="https://www.libristo.cz/cs/autor/Emanuel%20Geibel">Emanuel Geibel</a> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Jazyk</span> <span class="text-black"> <span class="flex items-center"> <img class="w-4 h-4 mr-2 transition-all duration-100" src="https://www.libristo.cz/img/flag/lang/de.svg" alt=""><strong class="text-black">Němčina</strong> </span> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Vazba</span> <span class="text-black"> <span class="flex items-center"> <span class="flex items-center"><svg class="w-4 h-4" height="37" viewBox="0 0 38 37" width="38" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m1.6 5.3 17.6 4.8 17.6-4.8v25.6l-17.6 4.8-17.6-4.8z"/><path d="m19.2 10.1v25.6"/><path d="m35.2 1.1-16 4.8-16-4.8"/></g></svg></span><span class="font-bold text-black ml-2"> Kniha - Brožovaná </span> </span> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Datum vydání</span> <span class="text-black"> <strong class="text-black">2012</strong> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Počet stran</span> <span class="text-black"> <strong class="text-black">170</strong> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">EAN</span> <span class="text-black"> <strong class="text-black">9781279845387</strong> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">ISBN</span> <span class="text-black"> <strong class="text-black">1279845384</strong> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Libristo kód</span> <span class="text-black"> <strong class="text-black">12013909</strong> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Nakladatelství</span> <span class="text-black"> <a rel="nofollow" class="no-underline font-bold text-primary text-base" href="https://www.libristo.cz/cs/nakladatel/Nabu%20Press">Nabu Press</a> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Váha</span> <span class="text-black"> <strong class="text-black">313</strong> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Rozměry</span> <span class="text-black"> <strong class="text-black">189 x 246 x 10</strong> </span> </div> </div> <div class="w-full mt-12 pt-8 border-0 border-solid border-t border-gray-200"> <div class="w-full"> <div class="flex flex-col gap-1"> <h4 class="text-sm text-gray font-normal mb-0">Kategorie</h4> <div class="mb-2"> <div class="mb-2"> <a rel="nofollow" class="font-bold no-underline leading-none text-primary text-base" href="https://www.libristo.cz/cs/knihy-v-nemcine/historie-a-archeologie">Historie a archeologie</a> <span class="px-1 text-gray-300">></span> <a rel="nofollow" class="font-bold no-underline leading-none text-primary text-base" href="https://www.libristo.cz/cs/knihy-v-nemcine/historie">Historie</a> </div> </div> </div> </div> </div> </div> <div class="w-full lg:w-[360px] shrink-0 px-4 py-12 lg:px-8 flex flex-col justify-start text-center bg-pink"> <div><img class="mb-6 w-32" src="https://www.libristo.cz/img/svg/gifts/gifte-white.svg" alt=""></div> <h5 class="text-2xl mb-9 font-heading text-white">Darujte tuto knihu ještě dnes</h5> <div class="text-left font-merriweatherlight flex flex-col gap-6"> <h6 class="text-lg pb-4 font-heading text-primary-700 lg:text-2xl font-bold border-0 border-b border-solid border-gray-200">Je to snadné</h6> <span class="grid grid-cols-[auto_1fr] text-primary-700"> <span class="flex justify-center items-center bg-primary-700 text-white font-heading font-bold text-sm rounded-full w-7.5 h-7.5 mr-4">1</span> Přidejte knihu do košíku a zvolte doručit jako dárek </span> <span class="grid grid-cols-[auto_1fr] text-primary-700"> <span class="flex justify-center items-center bg-primary-700 text-white font-heading font-bold text-sm rounded-full w-7.5 h-7.5 mr-4">2</span> Obratem vám zašleme poukaz </span> <span class="grid grid-cols-[auto_1fr] text-primary-700"> <span class="flex justify-center items-center bg-primary-700 text-white font-heading font-bold text-sm rounded-full w-7.5 h-7.5 mr-4">3</span> Kniha dorazí na adresu obdarovaného </span> </div> </div> </div> </div> </section> <!-- end:l-content:params --> <section class="l-content has-margin"> <div class="c-container"> <div class="w-full mt-12 px-4 lg:px-0"> <div class="flex items-center gap-3 w-full justify-center mb-4 "> <hr class="border-b-gray-200 grow min-w-[2rem]" /> <h3 class="c-section-title "> Mohlo by vás také zajímat </h3> <hr class="border-b-gray-200 grow min-w-[2rem]" /> </div> <div x-data="{swiper: null}" x-init="swiper = new Swiper($refs.container, { loop: true, speed: 500, slidesPerView: 2, slidesPerGroup: 2, spaceBetween: 0, breakpoints: { 640: { slidesPerView: 2, slidesPerGroup: 2, spaceBetween: 0, }, 1024: { slidesPerView: 6, slidesPerGroup: 6, spaceBetween: 0, }, }, })" class="relative w-full flex" > <div class="absolute inset-y-0 left-0 z-10 flex items-center"> <button @click="swiper.slidePrev()" class="bg-lgreen2 text-white -ml-2 lg:-ml-8 flex justify-center items-center w-10 h-10 rounded-full shadow focus:outline-none"> <svg viewBox="0 0 20 20" fill="currentColor" class="chevron-left w-6 h-6"><path fill-rule="evenodd" d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" clip-rule="evenodd"></path></svg> </button> </div> <div class="swiper-container min-w-full" x-ref="container"> <div class="swiper-wrapper"> <div class="swiper-slide flex justify-center"> <div class="w-[170px] flex shrink-0 flex-col"> <a href="https://www.libristo.cz/cs/audio/the-holographic-principle_16682744" class="relative h-[275px] flex items-end justify-center"> <div class="relative"> <img class="max-w-[150px] max-h-[275px] shrink-0 grow-0 shadow-upsell" loading="lazy" src="https://libris.to/media/jacket/16682744t.jpg"> </div> </a> <span class="h-[3px] w-full bg-black mb-5 z-10"></span> <a class="px-2.5 max-h-[3.7rem] overflow-y-hidden mb-3 inline-block leading-tight whitespace-normal no-underline font-bold text-base text-primary font-heading" href="https://www.libristo.cz/cs/audio/the-holographic-principle_16682744"> The Holographic Principle </a> <span class="px-2.5 mb-1.5 font-merriweatherlight text-xs"><i>Epica</i></span> <span class="flex items-center px-2.5 mb-5"> <img class="w-4 h-4 mr-2 transition-all duration-100" src="https://www.libristo.cz/img/flag/lang/de.svg" alt=""> <span class="text-gray-300">/</span> <span class="ml-2 flex items-center"> <img class="w-4 h-4" src="https://www.libristo.cz/img/bindings/A.svg" alt="Audio"> </span><strong class="ml-2 font-light text-xs">Audio CD</strong> </span> <div class="flex items-center px-2.5"> <a href="https://www.libristo.cz/cs/audio/the-holographic-principle_16682744" class="w-8 h-8 flex justify-center items-center rounded-md bg-lgreen2"> <img src="https://www.libristo.cz/img/svg/buy.svg" alt="common.buy"> </a> <span class="ml-4 text-sm font-bold text-black "> 530 <span class="text-gray font-normal">Kč</span> </span> </div> </div> </div> <div class="swiper-slide flex justify-center"> <div class="w-[170px] flex shrink-0 flex-col"> <a href="https://www.libristo.cz/cs/hrahracka/star-wars-legion-klon-commander-cody_43111500" class="relative h-[275px] flex items-end justify-center"> <div class="relative"> <img class="max-w-[150px] max-h-[275px] shrink-0 grow-0 shadow-upsell" loading="lazy" src="https://libris.to/media/jacket/43111500t.jpg"> </div> </a> <span class="h-[3px] w-full bg-black mb-5 z-10"></span> <a class="px-2.5 max-h-[3.7rem] overflow-y-hidden mb-3 inline-block leading-tight whitespace-normal no-underline font-bold text-base text-primary font-heading" href="https://www.libristo.cz/cs/hrahracka/star-wars-legion-klon-commander-cody_43111500"> Star Wars: Legion - Klon-Commander Cody </a> <span class="px-2.5 mb-1.5 font-merriweatherlight text-xs"><i>Alex Davy</i></span> <span class="flex items-center px-2.5 mb-5"> <img class="w-4 h-4 mr-2 transition-all duration-100" src="https://www.libristo.cz/img/flag/lang/de.svg" alt=""> <span class="text-gray-300">/</span> <span class="ml-2 flex items-center"> <img class="w-4 h-4" src="https://www.libristo.cz/img/bindings/H.svg" alt="Hra/Hračka"> </span><strong class="ml-2 font-light text-xs">Hra</strong> </span> <div class="flex items-center px-2.5"> <a href="https://www.libristo.cz/cs/hrahracka/star-wars-legion-klon-commander-cody_43111500" class="w-8 h-8 flex justify-center items-center rounded-md bg-lgreen2"> <img src="https://www.libristo.cz/img/svg/buy.svg" alt="common.buy"> </a> <span class="ml-4 text-sm font-bold text-black "> 891 <span class="text-gray font-normal">Kč</span> </span> </div> </div> </div> <div class="swiper-slide flex justify-center"> <div class="w-[170px] flex shrink-0 flex-col"> <a href="https://www.libristo.cz/cs/kniha/vitamine-mineralstoffe-spurenelemente_22435306" class="relative h-[275px] flex items-end justify-center"> <div class="relative"> <div class="absolute left-2 -top-6 flex items-end gap-1"> <span class="h-6 w-5 rounded-t flex justify-center items-center" title="Levně" style="background-color: #D42A41;"> <img class="w-2" src="https://www.libristo.cz/img/tags/sale-white.svg?v2" alt="Levně"> </span> </div> <img class="max-w-[150px] max-h-[275px] shrink-0 grow-0 shadow-upsell" loading="lazy" src="https://libris.to/media/jacket/22435306t.jpg"> </div> </a> <span class="h-[3px] w-full bg-black mb-5 z-10"></span> <a class="px-2.5 max-h-[3.7rem] overflow-y-hidden mb-3 inline-block leading-tight whitespace-normal no-underline font-bold text-base text-primary font-heading" href="https://www.libristo.cz/cs/kniha/vitamine-mineralstoffe-spurenelemente_22435306"> Vitamine - Mineralstoffe - Spurenelemente </a> <span class="px-2.5 mb-1.5 font-merriweatherlight text-xs"><i>Julia Podlogar</i></span> <span class="flex items-center px-2.5 mb-5"> <img class="w-4 h-4 mr-2 transition-all duration-100" src="https://www.libristo.cz/img/flag/lang/de.svg" alt=""> <span class="text-gray-300">/</span> <span class="ml-2 flex items-center"> <img class="w-4 h-4" src="https://www.libristo.cz/img/bindings/B.svg" alt="Kniha"> </span><strong class="ml-2 font-light text-xs">Brožovaná</strong> </span> <div class="flex items-center px-2.5"> <a href="https://www.libristo.cz/cs/kniha/vitamine-mineralstoffe-spurenelemente_22435306" class="w-8 h-8 flex justify-center items-center rounded-md bg-lgreen2"> <img src="https://www.libristo.cz/img/svg/buy.svg" alt="common.buy"> </a> <span class="ml-4 text-sm font-bold text-black "> 148 <span class="text-gray font-normal">Kč</span> </span> </div> </div> </div> <div class="swiper-slide flex justify-center"> <div class="w-[170px] flex shrink-0 flex-col"> <a href="https://www.libristo.cz/cs/kniha/hypnotic-writing_04878272" class="relative h-[275px] flex items-end justify-center"> <div class="relative"> <img class="max-w-[150px] max-h-[275px] shrink-0 grow-0 shadow-upsell" loading="lazy" src="https://libris.to/media/jacket/04878272t.jpg"> </div> </a> <span class="h-[3px] w-full bg-black mb-5 z-10"></span> <a class="px-2.5 max-h-[3.7rem] overflow-y-hidden mb-3 inline-block leading-tight whitespace-normal no-underline font-bold text-base text-primary font-heading" href="https://www.libristo.cz/cs/kniha/hypnotic-writing_04878272"> Hypnotic Writing </a> <span class="px-2.5 mb-1.5 font-merriweatherlight text-xs"><i>Joe Vitale</i></span> <span class="flex items-center px-2.5 mb-5"> <img class="w-4 h-4 mr-2 transition-all duration-100" src="https://www.libristo.cz/img/flag/lang/en.svg" alt=""> <span class="text-gray-300">/</span> <span class="ml-2 flex items-center"> <img class="w-4 h-4" src="https://www.libristo.cz/img/bindings/B.svg" alt="Kniha"> </span><strong class="ml-2 font-light text-xs">Brožovaná</strong> </span> <div class="flex items-center px-2.5"> <a href="https://www.libristo.cz/cs/kniha/hypnotic-writing_04878272" class="w-8 h-8 flex justify-center items-center rounded-md bg-lgreen2"> <img src="https://www.libristo.cz/img/svg/buy.svg" alt="common.buy"> </a> <span class="ml-4 text-sm font-bold text-black "> 381 <span class="text-gray font-normal">Kč</span> </span> </div> </div> </div> <div class="swiper-slide flex justify-center"> <div class="w-[170px] flex shrink-0 flex-col"> <a href="https://www.libristo.cz/cs/kniha/mellops-strike-oil_04390756" class="relative h-[275px] flex items-end justify-center"> <div class="relative"> <img class="max-w-[150px] max-h-[275px] shrink-0 grow-0 shadow-upsell" loading="lazy" src="https://libris.to/media/jacket/04390756t.jpg"> </div> </a> <span class="h-[3px] w-full bg-black mb-5 z-10"></span> <a class="px-2.5 max-h-[3.7rem] overflow-y-hidden mb-3 inline-block leading-tight whitespace-normal no-underline font-bold text-base text-primary font-heading" href="https://www.libristo.cz/cs/kniha/mellops-strike-oil_04390756"> Mellops Strike Oil </a> <span class="px-2.5 mb-1.5 font-merriweatherlight text-xs"><i>Tomi Ungerer</i></span> <span class="flex items-center px-2.5 mb-5"> <img class="w-4 h-4 mr-2 transition-all duration-100" src="https://www.libristo.cz/img/flag/lang/en.svg" alt=""> <span class="text-gray-300">/</span> <span class="ml-2 flex items-center"> <img class="w-4 h-4" src="https://www.libristo.cz/img/bindings/B.svg" alt="Kniha"> </span><strong class="ml-2 font-light text-xs">Pevná</strong> </span> <div class="flex items-center px-2.5"> <a href="https://www.libristo.cz/cs/kniha/mellops-strike-oil_04390756" class="w-8 h-8 flex justify-center items-center rounded-md bg-lgreen2"> <img src="https://www.libristo.cz/img/svg/buy.svg" alt="common.buy"> </a> <span class="ml-4 text-sm font-bold text-black "> 248 <span class="text-gray font-normal">Kč</span> </span> </div> </div> </div> <div class="swiper-slide flex justify-center"> <div class="w-[170px] flex shrink-0 flex-col"> <a href="https://www.libristo.cz/cs/kniha/max-horkheimer-and-the-foundations-of-the-frankfurt-school_04372870" class="relative h-[275px] flex items-end justify-center"> <div class="relative"> <img class="max-w-[150px] max-h-[275px] shrink-0 grow-0 shadow-upsell" loading="lazy" src="https://libris.to/media/jacket/04372870t.jpg"> </div> </a> <span class="h-[3px] w-full bg-black mb-5 z-10"></span> <a class="px-2.5 max-h-[3.7rem] overflow-y-hidden mb-3 inline-block leading-tight whitespace-normal no-underline font-bold text-base text-primary font-heading" href="https://www.libristo.cz/cs/kniha/max-horkheimer-and-the-foundations-of-the-frankfurt-school_04372870"> Max Horkheimer and the Foundations of the Frankfurt School </a> <span class="px-2.5 mb-1.5 font-merriweatherlight text-xs"><i>John Abromeit</i></span> <span class="flex items-center px-2.5 mb-5"> <img class="w-4 h-4 mr-2 transition-all duration-100" src="https://www.libristo.cz/img/flag/lang/en.svg" alt=""> <span class="text-gray-300">/</span> <span class="ml-2 flex items-center"> <img class="w-4 h-4" src="https://www.libristo.cz/img/bindings/B.svg" alt="Kniha"> </span><strong class="ml-2 font-light text-xs">Pevná</strong> </span> <div class="flex items-center px-2.5"> <a href="https://www.libristo.cz/cs/kniha/max-horkheimer-and-the-foundations-of-the-frankfurt-school_04372870" class="w-8 h-8 flex justify-center items-center rounded-md bg-lgreen2"> <img src="https://www.libristo.cz/img/svg/buy.svg" alt="common.buy"> </a> <span class="ml-4 text-sm font-bold text-black "> 1 911 <span class="text-gray font-normal">Kč</span> </span> </div> </div> </div> <div class="swiper-slide flex justify-center"> <div class="w-[170px] flex shrink-0 flex-col"> <a href="https://www.libristo.cz/cs/kniha/flower-fairies-magical-doors_02139871" class="relative h-[275px] flex items-end justify-center"> <div class="relative"> <div class="absolute left-2 -top-6 flex items-end gap-1"> <span class="h-6 w-5 rounded-t flex justify-center items-center" title="Top" style="background-color: #EB5932;"> <img class="w-2" src="https://www.libristo.cz/img/tags/top-white.svg?v2" alt="Top"> </span> </div> <img class="max-w-[150px] max-h-[275px] shrink-0 grow-0 shadow-upsell" loading="lazy" src="https://libris.to/media/jacket/02139871t.jpg"> </div> </a> <span class="h-[3px] w-full bg-black mb-5 z-10"></span> <a class="px-2.5 max-h-[3.7rem] overflow-y-hidden mb-3 inline-block leading-tight whitespace-normal no-underline font-bold text-base text-primary font-heading" href="https://www.libristo.cz/cs/kniha/flower-fairies-magical-doors_02139871"> Flower Fairies Magical Doors </a> <span class="px-2.5 mb-1.5 font-merriweatherlight text-xs"><i>Cicely Mary Barker</i></span> <span class="flex items-center px-2.5 mb-5"> <img class="w-4 h-4 mr-2 transition-all duration-100" src="https://www.libristo.cz/img/flag/lang/en.svg" alt=""> <span class="text-gray-300">/</span> <span class="ml-2 flex items-center"> <img class="w-4 h-4" src="https://www.libristo.cz/img/bindings/B.svg" alt="Kniha"> </span><strong class="ml-2 font-light text-xs">Brožovaná</strong> </span> <div class="flex items-center px-2.5"> <a href="https://www.libristo.cz/cs/kniha/flower-fairies-magical-doors_02139871" class="w-8 h-8 flex justify-center items-center rounded-md bg-lgreen2"> <img src="https://www.libristo.cz/img/svg/buy.svg" alt="common.buy"> </a> <span class="ml-4 text-sm font-bold text-black "> 490 <span class="text-gray font-normal">Kč</span> </span> </div> </div> </div> </div> </div> <div class="absolute inset-y-0 right-0 z-10 flex items-center"> <button @click="swiper.slideNext()" class="bg-lgreen2 text-white -mr-2 lg:-mr-8 flex justify-center items-center w-10 h-10 rounded-full shadow focus:outline-none"> <svg viewBox="0 0 20 20" fill="currentColor" class="chevron-right w-6 h-6"><path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd"></path></svg> </button> </div> </div> </div> </div> </section> <script> dataLayer.push({ 'event': 'page_view', 'dynx_itemid': '12013909', 'dynx_pagetype': 'product', 'dynx_totalvalue': '388' }); </script> </div> <footer class="border-t-primary w-full bg-primary-200 text-black"> <section class="flex lg:max-w-6xl w-full py-8 lg:py-16 mx-auto px-7"> <div class="grid sm:grid-cols-2 lg:grid-cols-4 w-full gap-y-8 text-sm"> <div class="grid grid-cols-[auto_1fr] items-center gap-4.5 leading-tight"> <img class="w-9" src="https://www.libristo.cz/img/ico/heart.svg" alt=""> <span> <strong class="font-bold">24 milionů titulů</strong> <br> ve 150+ jazycích </span> </div> <div class="grid grid-cols-[auto_1fr] items-center gap-4 leading-tight"> <img class="w-9" src="https://www.libristo.cz/img/ico/prices.svg" alt=""> <span> <strong class="font-bold">Za skvělé ceny</strong> <br> výhodné a aktuální </span> </div> <div class="grid grid-cols-[auto_1fr] items-center gap-4 leading-tight"> <img class="w-9" src="https://www.libristo.cz/img/ico/libroamanto.svg" alt=""> <span> <strong class="font-bold">Klub LIBROAMANTO</strong> <br> plný výhod a dárků </span> </div> <div class="grid grid-cols-[auto_1fr] items-center gap-4 leading-tight"> <img class="w-9" src="https://www.libristo.cz/img/ico/customers.svg" alt=""> <span> <strong class="font-bold">2 milióny zákazníků</strong> <br> obsloužených každý rok </span> </div> </div> </section> <div class="relative w-full pb-10 lg:py-20 bg-primary-700"> <section class="max-w-6xl w-full mx-auto flex justify-around pb-12 hidden text-center lg:block"> <span class="text-5xl text-lgreen2">Všechny knihy světa</span> </section> <div class="relative"> <div class="lg:hidden absolute right-0 top-0 bottom-0 w-32 bg-gradient-to-l from-primary-700 pointer-events-none"> <img class="absolute right-4 bottom-4 w-7 z-5 animate-[scroll_4s_ease-in_infinite]" src="https://www.libristo.cz/img/svg/tap_scroll.svg" alt="scroll"> </div> <section class="max-w-full w-full snap-mandatory snap-x mx-auto flex flex-nowrap gap-12 pb-8 pt-8 lg:mb-8 overflow-x-auto lg:overflow-x-visible lg:grid lg:grid-cols-4 lg:max-w-6xl"> <div class="snap-center shrink-0 pl-8 lg:pl-0"> <h5 class="font-heading text-primary-200 font-bold">O nákupu</h5> <nav class="flex flex-col gap-1 mt-4 text-primary"> <a class="no-underline" href="https://www.libristo.cz/cs/casto-kladene-dotazy">Vše o nákupu</a> <a class="no-underline" href="https://www.libristo.cz/cs/doprava-platba">Doprava a platba</a> <a class="no-underline" href="https://www.libristo.cz/cs/obchodni-podminky">Obchodní podmínky</a> </nav> </div> <div class="snap-center shrink-0"> <h5 class="font-heading text-primary-200 font-bold">O obchodě</h5> <nav class="flex flex-col gap-1 mt-4 text-primary"> <a class="no-underline" href="https://www.libristo.cz/cs/o-nas">Kdo jsme</a> <a class="no-underline" href="https://www.libristo.cz/cs/kontakt">Kontakty</a> <a class="no-underline" href="https://www.libristo.cz/cs/udrzitelnost-knih">Udržitelnost knih</a> </nav> </div> <div class="snap-center shrink-0 pr-24 lg:pr-0"> <h5 class="font-heading text-primary-200 font-bold">Pro zákazníky</h5> <nav class="flex flex-col gap-1 mt-4 text-primary"> <a class="no-underline" href="https://www.libristo.cz/cs/vernostni-program">Věrnostní program</a> <a class="no-underline" href="https://www.libristo.cz/cs/user/orders">Stav mé objednávky</a> <span> <a class="no-underline" href="https://www.libristo.cz/cs/vraceni-zbozi">Vrácení zboží</a> <span class="text-gray-300 text-xs px-1">/</span> <a class="no-underline" href="https://www.libristo.cz/cs/reklamace">Reklamace</a> </span> </nav> </div> <div class="hidden lg:block"> <div class="font-bold font-heading text-lg text-primary-200 -mt-1.5"> Zůstaňme spolu<span class="align-super leading-none"> <img class="inline h-4 -ml-2" src="https://www.libristo.cz/img/ico/primary_light_heart.svg" alt="heart"> </span></div> <div class="flex items-center justify-between mt-4"> <div class="flex items-center"> <a target="_blank" href="https://www.instagram.com/libristo_official" class="no-underline mr-1.5 hover:opacity-75"> <img src="https://www.libristo.cz/img/social/white_instagram.svg" alt="INSTAGRAM"> </a> <a target="_blank" href="https://www.facebook.com/Libristo.official" class="no-underline mr-1.5 hover:opacity-75"> <img src="https://www.libristo.cz/img/social/white_facebook.svg" alt="FACEBOOK"> </a> <a target="_blank" href="https://www.youtube.com/channel/UCqs5xjQxjJ72zSPHr3WP5Vw/featured" class="no-underline mr-1.5 hover:opacity-75"> <img src="https://www.libristo.cz/img/social/white_youtube.svg" alt="YOUTUBE"> </a> <a target="_blank" href="https://www.tiktok.com/@libristo" class="no-underline mr-1.5 hover:opacity-75"> <img src="https://www.libristo.cz/img/social/white_tiktok.svg" alt="TIKTOK"> </a> </div> <span class="font-thin text-2xl text-white">#libristo</span> </div> <img src="https://www.libristo.cz/img/logo-new-transparent.svg" alt="LIBRISTO" class="mt-10"> </div> </section> </div> <section class="max-w-6xl w-full mx-auto lg:hidden"> <div class="px-8 text-center"> <span class="font-bold font-heading text-lg text-primary-200">Zůstaňme spolu<span class="align-super"> <img class="inline h-4 -ml-2" src="https://www.libristo.cz/img/ico/primary_light_heart.svg" alt="heart"> </span></span> <div class="flex items-center justify-center gap-4 mb-10 lg:mb-0 mt-4"> <div class="flex items-center"> <a target="_blank" href="https://www.instagram.com/libristo_official" class="no-underline mr-2 hover:opacity-75"> <img src="https://www.libristo.cz/img/social/white_instagram.svg" alt="INSTAGRAM"> </a> <a target="_blank" href="https://www.facebook.com/Libristo.official" class="no-underline mr-2 hover:opacity-75"> <img src="https://www.libristo.cz/img/social/white_facebook.svg" alt="FACEBOOK"> </a> <a target="_blank" href="https://www.youtube.com/channel/UCqs5xjQxjJ72zSPHr3WP5Vw/featured" class="no-underline mr-2 hover:opacity-75"> <img src="https://www.libristo.cz/img/social/white_youtube.svg" alt="YOUTUBE"> </a> <a target="_blank" href="https://www.tiktok.com/@libristo" class="no-underline mr-2 hover:opacity-75"> <img src="https://www.libristo.cz/img/social/white_tiktok.svg" alt="TIKTOK"> </a> </div> <span class="font-thin text-2xl text-white">#libristo</span> </div> <img src="https://www.libristo.cz/img/logo-new-transparent.svg" alt="LIBRISTO" class="mt-4"> </div> </section> <section class="max-w-6xl px-4 w-full mx-auto flex flex-col gap-8 justify-between py-12 lg:py-0 lg:flex-row"> <div class="text-center lg:text-left font-light text-sm text-gray order-3 lg:order-1"> © 2008-2026 Libristo </div> <div class="text-center flex items-center flex-wrap lg:flex-nowrap gap-4 justify-center order-2 lg:order-2"> <img class="max-h-7" src="https://www.libristo.cz/img/ico/botmenu_VISA.svg" alt="VISA"> <img class="max-h-7" src="https://www.libristo.cz/img/ico/botmenu_MC.svg" alt="MC"> <img class="max-h-7" src="https://www.libristo.cz/img/ico/botmenu_GPAY.svg" alt="GPAY"> <img class="max-h-7" src="https://www.libristo.cz/img/ico/botmenu_APAY.svg" alt="APAY"> <img class="max-h-7" src="https://www.libristo.cz/img/ico/botmenu_PPAL.svg" alt="PPAL"> <img class="max-h-7" src="https://www.libristo.cz/img/ico/botmenu_klarna.svg" alt="klarna"> <img class="max-h-7" src="https://www.libristo.cz/img/ico/botmenu_TrustpilotL.svg" alt="TrustpilotL"> <div class="max-h-7" style="transform: scale(0.5);transform-origin: left;margin-top: -26px;"> <div class="smdWrapperTag"></div> </div> </div> <nav class="text-center lg:text-right flex items-center justify-center lg:justify-end text-gray-300 order-1 lg:order-3"> <a class="text-sm text-gray no-underline hover:text-primary-200" href="https://www.libristo.cz/cs/impressum">Impressum</a> <a class="text-sm text-gray no-underline ml-4 hover:text-primary-200" href="https://www.libristo.cz/cs/cookie">Cookies</a> <a class="text-sm text-gray no-underline ml-4 hover:text-primary-200" href="https://www.libristo.cz/cs/souhlas-se-zpracovanim-osobnich-udaju-a-informace-o-zpracovani-osobnich-udaju">Soukromí</a> <a class="text-sm text-gray no-underline ml-4 hover:text-primary-200" href="https://www.libristo.cz/cs/pristupnost">Přístupnost</a> </nav> </section> </div> </footer> <div class="reveal" id="l-login" data-reveal data-animation-in="scale-in-up fast" data-animation-out="scale-out-down fast"> <div class="c-modal-content"> <p class="c-modal-heading c-heading-info is-left-aligned">Přihlášení</p> <p>Přihlaste se ke svému účtu. Ještě nemáte Libristo účet? <a href="https://www.libristo.cz/cs/registration">Vytvořte si ho nyní!</a></p> </div> <section class="l-divider-rotated">   </section> <!-- end:l-divider-rotated --> <div class="c-modal-content narrow"> <form action="https://www.libristo.cz/cs/auth/signin" method="post" class="main-form-wrap"> <input type="hidden" name="_token" value="qNWnwwiWlZom5WH3FCzaKrUE67Xt8zbLUoImC0sL" autocomplete="off"> <div class="row mail"> <label for="email">Váš e-mail</label><input type="email" name="email" id="email" class="is-required" placeholder="Zadejte Váš e-mail"> <span class="required-info">povinné</span> </div> <div class="row pass"> <label for="password">Váše heslo:</label><input type="password" name="password" class="is-required" id="password" placeholder="Zadejte Váše heslo"> <span class="required-info">povinné <a href="#" class="show-pass"><i class="ico-eye"></i></a></span> </div> <div class="row forgot"> <a href="https://www.libristo.cz/cs/lost-password" class="c-forgot-password">Zapomenuté heslo</a> </div> <div class="row send"> <button class="c-btn">Přihlášení</button> </div> </form> </div> <div class="c-registration-cta"> <div class="c-modal-content"> <h4>Nemáte účet? Získejte výhody Libristo účtu!</h4> <p> Díky Libristo účtu budete mít vše pod kontrolou. </p> <a href="https://www.libristo.cz/cs/registration" class="c-btn">Vytvořit Libristo účet</a> </div> </div> <button class="close-button" data-close aria-label="Close modal" type="button"> <span aria-hidden="true"><i class="ico-close"></i></span> </button> </div> <style> [x-cloak] { display: none !important; } .chat-content ul { list-style-type: disc; padding-left: 1.25rem; margin: 0.5rem 0; } .chat-content ol { list-style-type: decimal; padding-left: 1.25rem; margin: 0.5rem 0; } .chat-content li { margin: 0.25rem 0; } .chat-content p { margin: 0.5rem 0; } .chat-content p:first-child { margin-top: 0; } .chat-content p:last-child { margin-bottom: 0; } </style> <div x-data="{ open: false, isWide: true, showDisclaimer: true, messages: [], quickActions: [{"text":"Chci poradit s objedn\u00e1vkou","key":"order"},{"text":"Doporu\u010d mi knihu","key":"recommend"},{"text":"Kdy mi doraz\u00ed z\u00e1silka","key":"shipment"}], typing: false, sending: false, historyLoaded: false, rateLimited: false, userInput: '', keyboardOpen: false, viewportOffset: 0, maxChatHeight: 600, minMessageHeight: 300, initialViewportHeight: 0, getCsrfToken() { const meta = document.querySelector('meta[name=csrf-token]'); return meta ? meta.getAttribute('content') : ''; }, async apiPost(url, data = {}) { const response = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', 'X-CSRF-TOKEN': this.getCsrfToken(), 'X-Requested-With': 'XMLHttpRequest' }, body: JSON.stringify(data) }); const json = await response.json(); return { ok: response.ok, status: response.status, data: json }; }, async loadHistory() { if (this.historyLoaded) return; this.typing = true; try { const response = await this.apiPost('/api/libroamiko/get-messages'); if (response.ok && response.data.success && response.data.messages) { this.messages = response.data.messages; } this.historyLoaded = true; } catch (error) { console.error('Failed to load chat history:', error); // Don't show error for initial load - just start fresh } finally { this.typing = false; this.$nextTick(() => { this.scrollToBottom(); }); } }, async sendMessage(quickActionText = null) { const messageText = quickActionText !== null ? quickActionText : this.userInput.trim(); if (messageText === '' || this.sending || this.rateLimited) return; this.userInput = ''; this.sending = true; this.typing = true; // Optimistically add user message this.messages.push({ role: 'user', text: messageText }); this.$nextTick(() => { this.scrollToBottom(); }); try { const response = await this.apiPost('/api/libroamiko/send-message', { message: messageText }); console.log(response.data); if (response.status === 429) { this.rateLimited = true; this.messages.push({ role: 'bot', text: 'Dos\u00e1hli jste limitu chatu. Zkuste to pros\u00edm pozd\u011bji.' }); // Reset rate limit after 60 seconds setTimeout(() => { this.rateLimited = false; }, 60000); } else if (response.ok && response.data.success && response.data.message) { this.messages.push(response.data.message); } else { // Something went wrong but got a response this.messages.push({ role: 'bot', text: response.data.message || 'Omlouv\u00e1m se, te\u010f to nejde. Zkuste to pros\u00edm znovu.' }); } } catch (error) { console.error('Failed to send message:', error); this.messages.push({ role: 'bot', text: 'Omlouv\u00e1m se, te\u010f to nejde. Zkuste to pros\u00edm znovu.' }); } finally { this.sending = false; this.typing = false; this.$nextTick(() => { this.scrollToBottom(); }); } }, async resetChat() { this.typing = true; try { const response = await this.apiPost('/api/libroamiko/reset-chat'); if (response.ok && response.data.success && response.data.messages) { this.messages = response.data.messages; } else { this.messages = []; } this.rateLimited = false; } catch (error) { console.error('Failed to reset chat:', error); this.messages.push({ role: 'bot', text: 'Nepoda\u0159ilo se resetovat chat. Zkuste to pros\u00edm znovu.' }); } finally { this.typing = false; this.$nextTick(() => { this.scrollToBottom(); }); } }, handleViewportResize() { if (window.visualViewport) { // Calculate how much the viewport has shrunk (keyboard height) const layoutHeight = this.initialViewportHeight || window.innerHeight; const visibleHeight = window.visualViewport.height; const offsetTop = window.visualViewport.offsetTop || 0; this.viewportOffset = Math.max(0, layoutHeight - (visibleHeight + offsetTop)); const heightDelta = layoutHeight - visibleHeight; this.keyboardOpen = this.viewportOffset > 100 || heightDelta > 100; // keyboard threshold // Keep chat window within visible viewport on iOS keyboard const maxHeight = Math.min(600, visibleHeight - 16); this.maxChatHeight = Math.max(320, maxHeight); this.minMessageHeight = this.keyboardOpen ? 120 : 300; } }, scrollToBottom() { const container = this.$refs.messageContainer; if (container) { container.scrollTop = container.scrollHeight; } }, init() { // Do not auto-open from UTM on mobile screens. if (this.open && window.matchMedia('(max-width: 767px)').matches) { this.open = false; } if (this.open) { this.isWide = false; // Load history immediately when chat starts open (e.g. utm_source=libroamiko) this.loadHistory(); } this.$watch('open', value => { if (value) { this.isWide = false; // Load history when chat opens for the first time this.loadHistory(); } }); // Auto-collapse wide button after 10 seconds setTimeout(() => { this.isWide = false; }, 10000); // Listen for viewport changes (keyboard open/close on mobile) if (window.visualViewport) { this.initialViewportHeight = window.innerHeight; window.visualViewport.addEventListener('resize', () => this.handleViewportResize()); window.visualViewport.addEventListener('scroll', () => this.handleViewportResize()); this.handleViewportResize(); } } }" class="fixed bottom-6 right-6 z-[100] font-sans flex flex-col items-end" :style="{ bottom: keyboardOpen ? (viewportOffset + 24) + 'px' : '' }"> <!-- Chat Window --> <div x-cloak x-show="open" x-transition:enter="transition ease-out duration-200" x-transition:enter-start="opacity-0 translate-y-8" x-transition:enter-end="opacity-100 translate-y-0" x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100 translate-y-0" x-transition:leave-end="opacity-0 translate-y-8" class="absolute bottom-0 right-0 w-[360px] max-w-[calc(100vw-3rem)] bg-white rounded-2xl shadow-xl overflow-hidden flex flex-col border border-gray-200" :style="{ maxHeight: maxChatHeight + 'px' }"> <!-- Header --> <div class="bg-navy text-white px-5 py-4 flex items-center justify-between"> <div class="flex items-center gap-3 cursor-pointer" @click="open = false"> <svg class="w-6 h-6 text-white" xmlns="http://www.w3.org/2000/svg" width="25.253" height="25" viewBox="0 0 25.253 25"> <g id="Group_1596" data-name="Group 1596" transform="translate(-1104.008 -564.5)"> <g id="Group_1579" data-name="Group 1579" transform="translate(1104.635 565)"> <path id="Path_1090" data-name="Path 1090" d="M10,395.1,20.537,398.4a1.472,1.472,0,0,0,2.927,0L34,395.1" transform="translate(-10 -375.707)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <path id="Path_1091" data-name="Path 1091" d="M30.244,362.61l.467-2.064,10.381,3.294,10.381-3.294.467,2.064" transform="translate(-29.092 -343.115)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <path id="Path_1092" data-name="Path 1092" d="M226,426.958a1.767,1.767,0,0,1,3.414,0" transform="translate(-215.708 -404.514)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <line id="Line_385" data-name="Line 385" x1="9" y1="6" transform="translate(2.865 14.715)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> <line id="Line_386" data-name="Line 386" y1="5.82" x2="9.891" transform="translate(11.778 14.894)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> <g id="g55" transform="translate(2.273)"> <path id="path57" d="M-150.921-261.521s-9.745-5.873-9.745-12.4a4.56,4.56,0,0,1,4.548-4.568c3.227,0,5.2,3.263,5.2,3.263s1.971-3.263,5.2-3.263a4.56,4.56,0,0,1,4.548,4.568C-141.176-267.394-150.921-261.521-150.921-261.521Z" transform="translate(160.666 278.489)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> </g> <g id="Group_1553" data-name="Group 1553" transform="translate(6.138 5.534)"> <g id="Ellipse_101" data-name="Ellipse 101" transform="translate(0 0)" fill="none" stroke="#cbffcb" stroke-width="1"> <circle cx="1.396" cy="1.396" r="1.396" stroke="none"/> <circle cx="1.396" cy="1.396" r="0.896" fill="none"/> </g> <g id="Ellipse_102" data-name="Ellipse 102" transform="translate(4.466 0)" fill="none" stroke="#cbffcb" stroke-width="1"> <circle cx="1.396" cy="1.396" r="1.396" stroke="none"/> <circle cx="1.396" cy="1.396" r="0.896" fill="none"/> </g> <g id="Ellipse_103" data-name="Ellipse 103" transform="translate(8.933 0)" fill="none" stroke="#cbffcb" stroke-width="1"> <circle cx="1.396" cy="1.396" r="1.396" stroke="none"/> <circle cx="1.396" cy="1.396" r="0.896" fill="none"/> </g> </g> </g> </g> </svg> <span class="font-bold text-sm tracking-tight">Knižní rádce Libroamiko</span> </div> <div class="flex items-center gap-2"> <!-- Reset button --> <button @click="resetChat()" class="text-white hover:text-white/80 transition-colors p-1" title="Začít novou konverzaci" :disabled="typing || sending"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"/> </svg> </button> <!-- Close button --> <button @click="open = false" class="text-white/80 hover:text-white transition-colors"> <svg class="w-6 h-6 rotate-0" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M4.28223 8.07056L12.1411 15.9294L20 8.07056" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/> </svg> </button> </div> </div> <!-- Messages area --> <div x-ref="messageContainer" class="flex-1 overflow-y-auto p-4 space-y-4 bg-cream" :style="{ minHeight: minMessageHeight + 'px' }"> <!-- Initial disclaimer inside messages --> <template x-if="showDisclaimer"> <div class="flex justify-start"> <div class="mr-2 mt-1 shrink-0"> <div class="w-8 h-8 rounded-full bg-white border border-gray-100 flex items-center justify-center shadow-sm"> <svg class="w-5 h-5 text-navy" xmlns="http://www.w3.org/2000/svg" width="18.052" height="17.8" viewBox="0 0 18.052 17.8"> <g id="Group_1600" data-name="Group 1600" transform="translate(-1104.008 -564.5)"> <g id="Group_1579" data-name="Group 1579" transform="translate(1104.635 565)"> <path id="Path_1090" data-name="Path 1090" d="M10,395.1l7.375,2.305a1.031,1.031,0,0,0,2.049,0L26.8,395.1" transform="translate(-10 -381.527)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <path id="Path_1091" data-name="Path 1091" d="M30.244,361.991l.327-1.445,7.266,2.306,7.266-2.306.327,1.445" transform="translate(-29.438 -348.345)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <path id="Path_1092" data-name="Path 1092" d="M226,426.565a1.237,1.237,0,0,1,2.39,0" transform="translate(-218.796 -410.854)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <line id="Line_385" data-name="Line 385" x1="6.3" y1="4.2" transform="translate(2.006 10.3)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> <line id="Line_386" data-name="Line 386" y1="4.074" x2="6.924" transform="translate(8.244 10.426)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> <g id="g55" transform="translate(1.591)"> <path id="path57" d="M-153.845-266.612s-6.822-4.111-6.822-8.679a3.192,3.192,0,0,1,3.183-3.2c2.259,0,3.638,2.284,3.638,2.284s1.379-2.284,3.638-2.284a3.192,3.192,0,0,1,3.183,3.2C-147.023-270.723-153.845-266.612-153.845-266.612Z" transform="translate(160.666 278.489)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> </g> <g id="Group_1553" data-name="Group 1553" transform="translate(4.296 3.873)"> <g id="Ellipse_101" data-name="Ellipse 101" transform="translate(0 0)" fill="none" stroke="#033" stroke-width="1"> <circle cx="0.977" cy="0.977" r="0.977" stroke="none"/> <circle cx="0.977" cy="0.977" r="0.477" fill="none"/> </g> <g id="Ellipse_102" data-name="Ellipse 102" transform="translate(3.126 0)" fill="none" stroke="#033" stroke-width="1"> <circle cx="0.977" cy="0.977" r="0.977" stroke="none"/> <circle cx="0.977" cy="0.977" r="0.477" fill="none"/> </g> <g id="Ellipse_103" data-name="Ellipse 103" transform="translate(6.253 0)" fill="none" stroke="#033" stroke-width="1"> <circle cx="0.977" cy="0.977" r="0.977" stroke="none"/> <circle cx="0.977" cy="0.977" r="0.477" fill="none"/> </g> </g> </g> </g> </svg> </div> </div> <div class="relative bg-white text-gray-800 rounded-2xl rounded-tl-none px-4 py-3 shadow-sm border border-gray-100 max-w-[85%] text-sm leading-relaxed"> <button @click="showDisclaimer = false" class="absolute top-2 right-2 text-gray-400 hover:text-gray-600 transition-colors" aria-label="Skrýt upozornění"> <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/> </svg> </button> Užíváním tohoto chatu komunikujete s generativní umělou inteligencí. Jeho užíváním také souhlasíte se <a href="https://www.libristo.cz/cs/souhlas-se-zpracovanim-osobnich-udaju-a-informace-o-zpracovani-osobnich-udaju" class="text-primary underline">zpracováním osobních údajů</a>. </div> </div> </template> <!-- Empty state --> <template x-if="messages.length === 0 && !typing"> <div class="flex flex-col items-center justify-center text-center text-gray-500 py-8"> <svg class="w-12 h-12 text-navy/30 mb-3" xmlns="http://www.w3.org/2000/svg" width="18.052" height="17.8" viewBox="0 0 18.052 17.8"> <g id="Group_1600" data-name="Group 1600" transform="translate(-1104.008 -564.5)"> <g id="Group_1579" data-name="Group 1579" transform="translate(1104.635 565)"> <path id="Path_1090" data-name="Path 1090" d="M10,395.1l7.375,2.305a1.031,1.031,0,0,0,2.049,0L26.8,395.1" transform="translate(-10 -381.527)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <path id="Path_1091" data-name="Path 1091" d="M30.244,361.991l.327-1.445,7.266,2.306,7.266-2.306.327,1.445" transform="translate(-29.438 -348.345)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <path id="Path_1092" data-name="Path 1092" d="M226,426.565a1.237,1.237,0,0,1,2.39,0" transform="translate(-218.796 -410.854)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <line id="Line_385" data-name="Line 385" x1="6.3" y1="4.2" transform="translate(2.006 10.3)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> <line id="Line_386" data-name="Line 386" y1="4.074" x2="6.924" transform="translate(8.244 10.426)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> <g id="g55" transform="translate(1.591)"> <path id="path57" d="M-153.845-266.612s-6.822-4.111-6.822-8.679a3.192,3.192,0,0,1,3.183-3.2c2.259,0,3.638,2.284,3.638,2.284s1.379-2.284,3.638-2.284a3.192,3.192,0,0,1,3.183,3.2C-147.023-270.723-153.845-266.612-153.845-266.612Z" transform="translate(160.666 278.489)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> </g> <g id="Group_1553" data-name="Group 1553" transform="translate(4.296 3.873)"> <g id="Ellipse_101" data-name="Ellipse 101" transform="translate(0 0)" fill="none" stroke="#033" stroke-width="1"> <circle cx="0.977" cy="0.977" r="0.977" stroke="none"/> <circle cx="0.977" cy="0.977" r="0.477" fill="none"/> </g> <g id="Ellipse_102" data-name="Ellipse 102" transform="translate(3.126 0)" fill="none" stroke="#033" stroke-width="1"> <circle cx="0.977" cy="0.977" r="0.977" stroke="none"/> <circle cx="0.977" cy="0.977" r="0.477" fill="none"/> </g> <g id="Ellipse_103" data-name="Ellipse 103" transform="translate(6.253 0)" fill="none" stroke="#033" stroke-width="1"> <circle cx="0.977" cy="0.977" r="0.977" stroke="none"/> <circle cx="0.977" cy="0.977" r="0.477" fill="none"/> </g> </g> </g> </g> </svg> <p class="text-sm">Ahoj! Jsem Libroamiko, tvůj knižní rádce.</p> <p class="text-sm">Jak ti můžu pomoct?</p> </div> </template> <template x-for="(msg, index) in messages" :key="index"> <div :class="msg.role === 'bot' ? 'flex justify-start' : 'flex justify-end'"> <!-- Bot Avatar --> <div x-show="msg.role === 'bot'" class="mr-2 shrink-0"> <div class="w-9 h-9 rounded-full bg-white border border-gray-100 flex items-center justify-center shadow-sm rounded-tr-none"> <svg class="w-5 h-5 text-navy" xmlns="http://www.w3.org/2000/svg" width="18.052" height="17.8" viewBox="0 0 18.052 17.8"> <g id="Group_1600" data-name="Group 1600" transform="translate(-1104.008 -564.5)"> <g id="Group_1579" data-name="Group 1579" transform="translate(1104.635 565)"> <path id="Path_1090" data-name="Path 1090" d="M10,395.1l7.375,2.305a1.031,1.031,0,0,0,2.049,0L26.8,395.1" transform="translate(-10 -381.527)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <path id="Path_1091" data-name="Path 1091" d="M30.244,361.991l.327-1.445,7.266,2.306,7.266-2.306.327,1.445" transform="translate(-29.438 -348.345)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <path id="Path_1092" data-name="Path 1092" d="M226,426.565a1.237,1.237,0,0,1,2.39,0" transform="translate(-218.796 -410.854)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <line id="Line_385" data-name="Line 385" x1="6.3" y1="4.2" transform="translate(2.006 10.3)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> <line id="Line_386" data-name="Line 386" y1="4.074" x2="6.924" transform="translate(8.244 10.426)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> <g id="g55" transform="translate(1.591)"> <path id="path57" d="M-153.845-266.612s-6.822-4.111-6.822-8.679a3.192,3.192,0,0,1,3.183-3.2c2.259,0,3.638,2.284,3.638,2.284s1.379-2.284,3.638-2.284a3.192,3.192,0,0,1,3.183,3.2C-147.023-270.723-153.845-266.612-153.845-266.612Z" transform="translate(160.666 278.489)" fill="none" stroke="#033" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> </g> <g id="Group_1553" data-name="Group 1553" transform="translate(4.296 3.873)"> <g id="Ellipse_101" data-name="Ellipse 101" transform="translate(0 0)" fill="none" stroke="#033" stroke-width="1"> <circle cx="0.977" cy="0.977" r="0.977" stroke="none"/> <circle cx="0.977" cy="0.977" r="0.477" fill="none"/> </g> <g id="Ellipse_102" data-name="Ellipse 102" transform="translate(3.126 0)" fill="none" stroke="#033" stroke-width="1"> <circle cx="0.977" cy="0.977" r="0.977" stroke="none"/> <circle cx="0.977" cy="0.977" r="0.477" fill="none"/> </g> <g id="Ellipse_103" data-name="Ellipse 103" transform="translate(6.253 0)" fill="none" stroke="#033" stroke-width="1"> <circle cx="0.977" cy="0.977" r="0.977" stroke="none"/> <circle cx="0.977" cy="0.977" r="0.477" fill="none"/> </g> </g> </g> </g> </svg> </div> </div> <div :class="msg.role === 'bot' ? 'bg-white text-gray-800 rounded-2xl rounded-tl-none px-4 py-3 shadow-sm border border-gray-100 max-w-[85%]' : 'bg-primary-200 text-navy rounded-2xl rounded-tr-none px-4 py-3 shadow-sm max-w-[85%]'" class="text-[15px] leading-relaxed"> <div x-html="msg.text" class="chat-content"></div> </div> <!-- User Avatar --> <div x-show="msg.role === 'user'" class="ml-2 shrink-0"> <div class="w-8 h-8 rounded-full bg-primary-200 flex items-center justify-center shadow-sm rounded-tl-none"> <svg xmlns="http://www.w3.org/2000/svg" width="13.327" height="15.548" viewBox="0 0 13.327 15.548" class="text-navy"> <g id="Group_1543" data-name="Group 1543" transform="translate(-890.028 -1014.081)"> <path id="Path_343" data-name="Path 343" d="M1384.31,96.646a6.121,6.121,0,0,0-12.23,0" transform="translate(-481.504 932.435)" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> <path id="Path_344" data-name="Path 344" d="M1383.068,83.423a3.882,3.882,0,1,1-3.882-3.881A3.882,3.882,0,0,1,1383.068,83.423Z" transform="translate(-482.494 935.039)" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> </g> </svg> </div> </div> </div> </template> <!-- Quick actions (shown only when exactly 1 message – initial welcome from API) --> <template x-if="messages.length === 1 && !typing"> <div class="flex flex-col gap-2 w-full max-w-[280px] py-4 pl-10"> <template x-for="action in quickActions" :key="action.key"> <button @click="sendMessage(action.text)" :disabled="sending || rateLimited" class="bg-primary-200 text-navy rounded-xl px-4 py-3 text-left text-sm font-medium cursor-pointer ring-1 ring-transparent hover:bg-primary-300 hover:shadow-md hover:ring-navy/20 hover:-translate-y-px active:translate-y-0 active:shadow-sm transition-all duration-150 ease-out disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:shadow-none disabled:hover:ring-transparent disabled:hover:translate-y-0 disabled:active:translate-y-0"> <span x-text="action.text"></span> </button> </template> </div> </template> <!-- Typing Indicator --> <div x-show="typing" class="flex justify-start items-center"> <div class="mr-2 shrink-0"> <div class="w-8 h-8 rounded-full bg-white border border-gray-100 flex items-center justify-center shadow-sm"> <svg class="w-5 h-5 text-navy" xmlns="http://www.w3.org/2000/svg" width="25.253" height="25" viewBox="0 0 25.253 25"> <g id="Group_1596" data-name="Group 1596" transform="translate(-1104.008 -564.5)"> <g id="Group_1579" data-name="Group 1579" transform="translate(1104.635 565)"> <path id="Path_1090" data-name="Path 1090" d="M10,395.1,20.537,398.4a1.472,1.472,0,0,0,2.927,0L34,395.1" transform="translate(-10 -375.707)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <path id="Path_1091" data-name="Path 1091" d="M30.244,362.61l.467-2.064,10.381,3.294,10.381-3.294.467,2.064" transform="translate(-29.092 -343.115)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <path id="Path_1092" data-name="Path 1092" d="M226,426.958a1.767,1.767,0,0,1,3.414,0" transform="translate(-215.708 -404.514)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <line id="Line_385" data-name="Line 385" x1="9" y1="6" transform="translate(2.865 14.715)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> <line id="Line_386" data-name="Line 386" y1="5.82" x2="9.891" transform="translate(11.778 14.894)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> <g id="g55" transform="translate(2.273)"> <path id="path57" d="M-150.921-261.521s-9.745-5.873-9.745-12.4a4.56,4.56,0,0,1,4.548-4.568c3.227,0,5.2,3.263,5.2,3.263s1.971-3.263,5.2-3.263a4.56,4.56,0,0,1,4.548,4.568C-141.176-267.394-150.921-261.521-150.921-261.521Z" transform="translate(160.666 278.489)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> </g> <g id="Group_1553" data-name="Group 1553" transform="translate(6.138 5.534)"> <g id="Ellipse_101" data-name="Ellipse 101" transform="translate(0 0)" fill="none" stroke="#cbffcb" stroke-width="1"> <circle cx="1.396" cy="1.396" r="1.396" stroke="none"/> <circle cx="1.396" cy="1.396" r="0.896" fill="none"/> </g> <g id="Ellipse_102" data-name="Ellipse 102" transform="translate(4.466 0)" fill="none" stroke="#cbffcb" stroke-width="1"> <circle cx="1.396" cy="1.396" r="1.396" stroke="none"/> <circle cx="1.396" cy="1.396" r="0.896" fill="none"/> </g> <g id="Ellipse_103" data-name="Ellipse 103" transform="translate(8.933 0)" fill="none" stroke="#cbffcb" stroke-width="1"> <circle cx="1.396" cy="1.396" r="1.396" stroke="none"/> <circle cx="1.396" cy="1.396" r="0.896" fill="none"/> </g> </g> </g> </g> </svg> </div> </div> <div class="bg-white rounded-2xl rounded-tl-none px-4 py-3 shadow-sm border border-gray-100 flex gap-1"> <span class="w-2 h-2 bg-gray rounded-full animate-pulse" style="animation-delay: 0ms"></span> <span class="w-2 h-2 bg-gray rounded-full animate-pulse" style="animation-delay: 150ms"></span> <span class="w-2 h-2 bg-gray rounded-full animate-pulse" style="animation-delay: 300ms"></span> </div> </div> </div> <!-- Input Area --> <div class="border-t border-gray-100 bg-white"> <div class="flex items-center px-4 py-3"> <input type="text" x-ref="chatInput" x-model="userInput" @keydown.enter="sendMessage()" @focus="handleViewportResize(); $nextTick(() => { scrollToBottom(); })" placeholder="Napište svou odpověď .." :disabled="sending || rateLimited" class="w-full bg-transparent !border-none !ring-0 !outline-none !shadow-none text-base placeholder:text-gray-400 self-center mb-0 disabled:opacity-50"> <button @click="sendMessage()" class="shrink-0 p-2.5 bg-navy text-white rounded-full hover:bg-navy/90 transition-all disabled:opacity-30 disabled:cursor-not-allowed flex items-center justify-center" :disabled="!userInput.trim() || sending || rateLimited"> <svg xmlns="http://www.w3.org/2000/svg" width="19.241" height="19.241" viewBox="0 0 19.241 19.241" class=""> <g id="g291"> <g id="g293"> <g id="g295"> <g id="g301" transform="translate(9.017 0.564)"> <path id="path303" d="M0-333.094l9.661-9.661" transform="translate(0 342.755)" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> </g> <g id="g305" transform="translate(0.564 0.564)"> <path id="path307" d="M-291.457-333.095l-7.584-2.167a1.2,1.2,0,0,1-.869-1.152h0a1.219,1.219,0,0,1,.869-1.168l17.245-5.173-5.173,17.245a1.219,1.219,0,0,1-1.168.869h0a1.2,1.2,0,0,1-1.152-.869Z" transform="translate(299.91 342.755)" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> </g> </g> </g> </g> </svg> </button> </div> </div> </div> <!-- Transitioning Floating Button --> <div x-show="!open" x-transition:enter="transition ease-out duration-200" x-transition:enter-start="opacity-0 scale-90" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-90" class="h-12 px-3 bg-navy rounded-xl shadow-xl flex items-center justify-center text-white group overflow-hidden relative cursor-pointer sm:h-16 sm:px-4 sm:rounded-2xl" @click="open = true" @keydown.enter.prevent="open = true" @keydown.space.prevent="open = true" role="button" tabindex="0"> <div class="absolute inset-0 bg-white/10 opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none"></div> <div class="flex items-center gap-3 whitespace-nowrap overflow-hidden h-full sm:gap-6"> <!-- Icon always visible - clicking opens chat --> <div class="shrink-0 flex items-center justify-center cursor-pointer" @click="open = true"> <svg class="w-6 h-6 text-primary-200 transition-all duration-300 sm:w-8 sm:h-8" xmlns="http://www.w3.org/2000/svg" width="25.253" height="25" viewBox="0 0 25.253 25"> <g id="Group_1596" data-name="Group 1596" transform="translate(-1104.008 -564.5)"> <g id="Group_1579" data-name="Group 1579" transform="translate(1104.635 565)"> <path id="Path_1090" data-name="Path 1090" d="M10,395.1,20.537,398.4a1.472,1.472,0,0,0,2.927,0L34,395.1" transform="translate(-10 -375.707)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <path id="Path_1091" data-name="Path 1091" d="M30.244,362.61l.467-2.064,10.381,3.294,10.381-3.294.467,2.064" transform="translate(-29.092 -343.115)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <path id="Path_1092" data-name="Path 1092" d="M226,426.958a1.767,1.767,0,0,1,3.414,0" transform="translate(-215.708 -404.514)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" fill-rule="evenodd"/> <line id="Line_385" data-name="Line 385" x1="9" y1="6" transform="translate(2.865 14.715)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> <line id="Line_386" data-name="Line 386" y1="5.82" x2="9.891" transform="translate(11.778 14.894)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> <g id="g55" transform="translate(2.273)"> <path id="path57" d="M-150.921-261.521s-9.745-5.873-9.745-12.4a4.56,4.56,0,0,1,4.548-4.568c3.227,0,5.2,3.263,5.2,3.263s1.971-3.263,5.2-3.263a4.56,4.56,0,0,1,4.548,4.568C-141.176-267.394-150.921-261.521-150.921-261.521Z" transform="translate(160.666 278.489)" fill="none" stroke="#cbffcb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/> </g> <g id="Group_1553" data-name="Group 1553" transform="translate(6.138 5.534)"> <g id="Ellipse_101" data-name="Ellipse 101" transform="translate(0 0)" fill="none" stroke="#cbffcb" stroke-width="1"> <circle cx="1.396" cy="1.396" r="1.396" stroke="none"/> <circle cx="1.396" cy="1.396" r="0.896" fill="none"/> </g> <g id="Ellipse_102" data-name="Ellipse 102" transform="translate(4.466 0)" fill="none" stroke="#cbffcb" stroke-width="1"> <circle cx="1.396" cy="1.396" r="1.396" stroke="none"/> <circle cx="1.396" cy="1.396" r="0.896" fill="none"/> </g> <g id="Ellipse_103" data-name="Ellipse 103" transform="translate(8.933 0)" fill="none" stroke="#cbffcb" stroke-width="1"> <circle cx="1.396" cy="1.396" r="1.396" stroke="none"/> <circle cx="1.396" cy="1.396" r="0.896" fill="none"/> </g> </g> </g> </g> </svg> </div> <div x-show="isWide && !open" class="flex items-center justify-center" x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0"> <!-- Text visible only when wide - clicking opens chat --> <span class="font-normal text-xs text-white inline-block cursor-pointer truncate max-w-[w-screen-42px] sm:text-sm sm:max-w-none" @click="open = true"> Ahoj, jsem Libroamiko, můžu pomoct? </span> <!-- Close icon for wide variant - only collapses --> <div class="ml-2 flex items-center justify-center w-7 h-7 hover:bg-white/10 rounded-full transition-colors cursor-pointer sm:w-8 sm:h-8" @click.stop="isWide = false"> <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-6 h-6 sm:w-8 sm:h-8" stroke="currentColor" stroke-width="1"> <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /> </svg> </div> </div> </div> </div> </div> </div> <script> var appSessionId = 'yyGlquVPhQp7uXO9LLzS7wnR1iLfpPmJ'; var site = { country: 'cz', locale: 'cs', preferred_language: ["cs","sk","en","de","es","fr"], cur: 'CZK', convertor: 1, tld: 'cz', priceSet: 'cz' }; var trans = { back: 'Zpět', allLangs: 'Všechny jazyky', moreLanguages: 'Ostatní jazyky' } </script> <!-- Scripts --> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/lozad/dist/lozad.min.js"></script> <script src="https://www.libristo.cz/js/utils.js?v1"></script> <script src="https://www.libristo.cz/js/app.js?v6"></script> <script src="https://www.libristo.cz/js/ga4.js?v5220"></script> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/tippy.js@6.3.7/dist/tippy.umd.min.js"></script> <script> tippy('[data-tippy-content]', { placement: 'bottom', theme: "light", }); tippy('[data-tippy-green]', { content(reference) { return reference.getAttribute('data-tippy-green-content'); }, placement: "right", theme: "darkgreen", trigger: "mouseenter click", }) </script> <script> const data = { product: { id: "12013909", marketing_video: "https://www.youtube.com/watch?v=qKS3u4M5y5c" } } </script> <script> setTimeout(() => { dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object. dataLayer.push({ event: "view_item", ecommerce: { currency: 'CZK', value: 0, items: [{ item_id: "12013909", item_name: "Sophonisbe.", currency: "CZK", item_variant: "Kniha", price: 388, item_category: "f:B", item_category2: "c:NH", item_category3: "a:instock_s:high_d:new_l:en_v:kwb_x:200", quantity: 1 }] } }); }, 500); setTimeout(() => { dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object. dataLayer.push({ event: "view_item_list", ecommerce: { items: [ { item_id: "07995357", item_name: "Sonnets.", currency: "CZK", item_variant: "Kniha", price: 287 } , { item_id: "17363844", item_name: "Sorcerers in Space", currency: "CZK", item_variant: "Kniha", price: 279 } , { item_id: "35989629", item_name: "Celebración para Adviento y Navidad", currency: "CZK", item_variant: "Kniha", price: 307 } , { item_id: "35687253", item_name: "Milk Soaps", currency: "CZK", item_variant: "Kniha", price: 261 } , { item_id: "34334830", item_name: "Les aliments qui préviennent l'ostéoporose", currency: "CZK", item_variant: "Kniha", price: 413 } , { item_id: "32195016", item_name: "The Life and Letters of Lewis Carroll", currency: "CZK", item_variant: "Kniha", price: 1229 } , { item_id: "13209055", item_name: "Itoko dira berriak", currency: "CZK", item_variant: "Kniha", price: 302 } , { item_id: "39538870", item_name: "How to Build a Boyfriend from Scratch", currency: "CZK", item_variant: "Audiokniha", price: 365 } , { item_id: "21168376", item_name: "DK Eyewitness New York City", currency: "CZK", item_variant: "Kniha", price: 630 } , { item_id: "20335414", item_name: "Untamed", currency: "CZK", item_variant: "Kniha", price: 299 } , { item_id: "17952250", item_name: "Explosive Passion", currency: "CZK", item_variant: "Kniha", price: 154 } , { item_id: "41397824", item_name: "Miluj svou zahradu", currency: "CZK", item_variant: "Kniha", price: 594 } , { item_id: "17040831", item_name: "Justice Rules", currency: "CZK", item_variant: "Kniha", price: 362 } , { item_id: "46041014", item_name: "EASTER", currency: "CZK", item_variant: "Kniha", price: 275 } , { item_id: "16963309", item_name: "The Female Prisoner; A Narrative of the Life and Singular Adventures of Josephine Amelia Perkins", currency: "CZK", item_variant: "Kniha", price: 375 } , { item_id: "02094825", item_name: "Discourse Analysis", currency: "CZK", item_variant: "Kniha", price: 2293 } , { item_id: "10988353", item_name: "Nest", currency: "CZK", item_variant: "Kniha", price: 204 } , { item_id: "09879590", item_name: "Fundamentals of Evidence Based Medicine", currency: "CZK", item_variant: "Kniha", price: 1315 } , { item_id: "08852193", item_name: "Analyst and Echoes of Laughter", currency: "CZK", item_variant: "Kniha", price: 577 } , { item_id: "08741065", item_name: "SURGE LA IGLESIA DEL NAZARENO (Spanish", currency: "CZK", item_variant: "Kniha", price: 239 } , { item_id: "06751570", item_name: "Neurobiology of Learning", currency: "CZK", item_variant: "Kniha", price: 1956 } , { item_id: "06743695", item_name: "Intro Sociol Education V 9", currency: "CZK", item_variant: "Kniha", price: 10833 } , { item_id: "06582668", item_name: "Nourishing Wisdom", currency: "CZK", item_variant: "Kniha", price: 318 } , { item_id: "04920395", item_name: "Career Choice and Development, Fourth Edition", currency: "CZK", item_variant: "Kniha", price: 1643 } ] } }); }, 750); </script> <script> const infobarBtns = document.querySelectorAll('[data-close-infobar]'); infobarBtns.forEach(infobarBtn => { infobarBtn.addEventListener('click', () => { document.querySelector("[data-infobar]").remove(); // add cookie named infobar to 1 document.cookie = "infobar_1822=1; path=/; expires=Fri, 31 Dec 9999 23:59:59 GMT"; }); }) </script> </body> </html>