LIBRISTO
LIBROAMANTO
задължително
Станете част от общност от любители на книгите от цял свят и получавате много предимства. Създай на безплатен акаунт
0
Безплатна доставка със Еконт над 69.99 €
Куриер Speedy 3.49 Пункт на Speedy 3.49 ЕКОНТ 3.99 Еконтомат/Офис на Еконт 3.99 Ekont Box 3.99 Sameday 3.99 Sameday box 3.99 Box Now 3.99

Над 4 милиона заглавия на английски и други езици! Открийте новата си история още днес! Безплатна доставка за поръчки над 69.99€
Език Немски езикНемски език
Книга С меки корици
Книга Minerva. Johann Wilhelm von Archenholz
Код Либристо: 11981483
Издателство Nabu Press, януари 2012
This is a reproduction of a book published before 1923. This book may have occasional imperfections... Цялото описание
? points 74 b
30.76
60.15  лв
Външен склад Изпращаме след 9-15 дни

30 дни за връщане на стоката


Клиентите са закупили също


Political Censorship of the Visual Arts in Nineteenth-Century Europe Robert Justin Goldstein / Книга С твърди корици
common.buy 61.21 119.71 лв
Life of Rear-Admiral John Paul Jones John Paul Jones / Книга С меки корици
common.buy 28.37 55.49 лв
Firebeat The Fireballs Аудио Аудио компактдиск
common.buy 14.08 27.54 лв
Modern Romance August Books 5-8 Abby Green / Книга С меки корици
common.buy 20.14 39.39 лв
Vogue and the Metropolitan Museum of Art Costume Institute Hamish Bowles / Книга С твърди корици
common.buy 55.35 108.26 лв
Digital Technology and Democratic Theory Lucy Bernholz / Книга С меки корици
common.buy 39.25 76.76 лв
The Babar-Nama: The Material Now Available For A Definitive Text Of The Book (1908) Annette Susannah Beveridge / Книга С меки корици
common.buy 23.14 45.26 лв
Once Upon A Broken Heart Stephanie Garber / E-книга Adobe ePub DRM
common.buy 6.31 12.35 лв
Comet Carl Sagan / Аудиокнига MP3
common.buy 15.89 31.08 лв
La sorcière du château aux chardons - Tome 2 John Tarachine / Книга С меки корици
common.buy 12.48 24.40 лв
Napiš a smaž Aktivity se zvířátky Kirsteen Robson / Книга С меки корици
common.buy 8.69 17.01 лв
Handbook of Research on Entrepreneurship and Conflict Wim Naudé / Книга С твърди корици
common.buy 291.50 570.12 лв
Top
SEDUCED BY THE DEMON KING A SENSUAL V02 V02 / Книга С меки корици
common.buy 12.89 25.21 лв
Oxford Playscripts: A View from the Bridge Arthur Miller / Книга С меки корици
common.buy 20.66 40.40 лв
Reflections on the First Ten Years Rev Mark Ward / Книга С меки корици
common.buy 10.35 20.25 лв
Violence of Petro-Dollar Regimes: Algeria, Iraq, Libya Luis Martinez / Книга С твърди корици
common.buy 59.65 116.67 лв
de la Syphilis Maligne Horteloup-P / Книга С меки корици
common.buy 12.73 24.91 лв
Las hijas del frío Camilla Läckberg / Книга С меки корици
common.buy 16.41 32.10 лв
The Testosterone Advantage Plan: Lose Weight, Gain Muscle, Boost Energy Lou Schuler / Книга С меки корици
common.buy 18.02 35.24 лв
Memoir of a Map of Hindoostan; Or the Mogul Empire James Rennell / Книга С меки корици
common.buy 29.56 57.82 лв
Trade Barriers to the European Union as Perceived by U.S. Small & Medium-Sized Enterprises Hector Lanos / Книга С твърди корици
common.buy 347.11 678.90 лв
Charles County, Maryland, Wills 1818-1825 Michael R Marshall / Книга С меки корици
common.buy 15.74 30.78 лв
Metaphilosophy Henri Lefebvre / Книга С меки корици
common.buy 33.14 64.81 лв

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/ Minerva, Volume 60br/br/<author> Johann Wilhelm von Archenholzbr/br/<publisher> B.G. Hoffmann, 1806br/br/<subjects> History; Europe; General; Europe; History / Europe / 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"> Цялото описание <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": "Minerva.", "id": "11981483", "sku": "11981483", "gtin": "9781275047587", "isbn": "9781275047587", "numberOfPages": 572, "author": { "@type": "Person", "name": "Johann Wilhelm von Archenholz" }, "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/ Minerva, Volume 60br/br/ Johann Wilhelm von Archenholzbr/br/ B.G. Hoffmann, 1806br/br/ History; Europe; General; Europe; History / Europe / General; History / General", "image": "https://libris.to/media/jacket/11981483_minerva.jpg", "url": "https://www.libristo.bg/bg/kniga/minerva_11981483", "itemCondition": "https://schema.org/NewCondition", "brand": "Nabu Press", "offers": { "@type": "Offer", "availability": "http://schema.org/InStock", "price": 30.76, "priceCurrency": "EUR" } } </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">Героиня</span> & <span class="font-bold">Полиглот</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="">за</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">Пусни видеото</span> </div> <img src="https://www.libristo.bg/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.bg/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 има най-богатия избор от чуждоезична литература. Затова купувам книгите си тук.</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/HYmAdhxONZ8?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">Информация за книгата</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">Пълно заглавие</span> <strong class="text-black">Minerva.</strong> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Автор</span> <span class="text-black"> <a rel="nofollow" class="no-underline font-bold text-primary text-base" href="https://www.libristo.bg/bg/%D0%B0%D0%B2%D1%82%D0%BE%D1%80/Johann%20Wilhelm%20von%20Archenholz">Johann Wilhelm von Archenholz</a> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Език</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.bg/img/flag/lang/de.svg" alt=""><strong class="text-black">Немски език</strong> </span> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Корици</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"> Книга - С меки корици </span> </span> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Дата на издаване</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">Брой страници</span> <span class="text-black"> <strong class="text-black">572</strong> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Баркод</span> <span class="text-black"> <strong class="text-black">9781275047587</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">1275047580</strong> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Код Либристо</span> <span class="text-black"> <strong class="text-black">11981483</strong> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Издателство</span> <span class="text-black"> <a rel="nofollow" class="no-underline font-bold text-primary text-base" href="https://www.libristo.bg/bg/%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB/Nabu%20Press">Nabu Press</a> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Тегло</span> <span class="text-black"> <strong class="text-black">1006</strong> </span> </div> <div class="flex flex-col gap-1.5"> <span class="text-gray text-sm">Размери</span> <span class="text-black"> <strong class="text-black">189 x 246 x 34</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">Категории</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.bg/bg/knigi-na-nemski/history-archaeology">History & Archaeology</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.bg/bg/knigi-na-nemski/history">History</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.bg/img/svg/gifts/gifte-white.svg" alt=""></div> <h5 class="text-2xl mb-9 font-heading text-white">Подарете тази книга днес</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">Лесно е</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> Добавете книгата в количката си и изберете Доставка като подарък </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> В замяна ще ви изпратим ваучер </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> Книгата ще пристигне на адреса на получателя </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 "> Може би ще Ви заинтересува </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.bg/bg/kniga/larven_19244444" 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/19244444t.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.bg/bg/kniga/larven_19244444"> Larven </a> <span class="px-2.5 mb-1.5 font-merriweatherlight text-xs"><i>Nora Wagener</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.bg/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.bg/img/bindings/B.svg" alt="Книга"> </span><strong class="ml-2 font-light text-xs">С меки корици</strong> </span> <div class="flex items-center px-2.5"> <a href="https://www.libristo.bg/bg/kniga/larven_19244444" class="w-8 h-8 flex justify-center items-center rounded-md bg-lgreen2"> <img src="https://www.libristo.bg/img/svg/buy.svg" alt="common.buy"> </a> <span class="ml-4 text-sm font-bold text-black "> 16.72 <span class="text-gray font-normal">€</span> <span class="text-xs font-normal text-gray-500 block"> 32.70 лв </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.bg/bg/kniga/lesezug-1-klasse-leonie-und-das-mutmach-monster_16199090" 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/16199090t.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.bg/bg/kniga/lesezug-1-klasse-leonie-und-das-mutmach-monster_16199090"> LESEZUG/1. Klasse: Leonie und das Mutmach-Monster </a> <span class="px-2.5 mb-1.5 font-merriweatherlight text-xs"><i>Elfriede Wimmer</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.bg/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.bg/img/bindings/B.svg" alt="Книга"> </span><strong class="ml-2 font-light text-xs">С твърди корици</strong> </span> <div class="flex items-center px-2.5"> <a href="https://www.libristo.bg/bg/kniga/lesezug-1-klasse-leonie-und-das-mutmach-monster_16199090" class="w-8 h-8 flex justify-center items-center rounded-md bg-lgreen2"> <img src="https://www.libristo.bg/img/svg/buy.svg" alt="common.buy"> </a> <span class="ml-4 text-sm font-bold text-black "> 11.44 <span class="text-gray font-normal">€</span> <span class="text-xs font-normal text-gray-500 block"> 22.37 лв </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.bg/bg/kniga/44-kommunikative-spiele-spanische-aussprache-in-10-minuten_16167854" 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/16167854t.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.bg/bg/kniga/44-kommunikative-spiele-spanische-aussprache-in-10-minuten_16167854"> 44 kommunikative Spiele - Spanische Aussprache in 10 Minuten, m. Audio-CD </a> <span class="px-2.5 mb-1.5 font-merriweatherlight text-xs"></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.bg/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.bg/img/bindings/B.svg" alt="Книга"> </span><strong class="ml-2 font-light text-xs">С меки корици</strong> </span> <div class="flex items-center px-2.5"> <a href="https://www.libristo.bg/bg/kniga/44-kommunikative-spiele-spanische-aussprache-in-10-minuten_16167854" class="w-8 h-8 flex justify-center items-center rounded-md bg-lgreen2"> <img src="https://www.libristo.bg/img/svg/buy.svg" alt="common.buy"> </a> <span class="ml-4 text-sm font-bold text-black "> 26.92 <span class="text-gray font-normal">€</span> <span class="text-xs font-normal text-gray-500 block"> 52.66 лв </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': '11981483', 'dynx_pagetype': 'product', 'dynx_totalvalue': '30.76' }); </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.bg/img/ico/heart.svg" alt=""> <span> <strong class="font-bold">24 милиона заглавия</strong> <br> на 150+ езика </span> </div> <div class="grid grid-cols-[auto_1fr] items-center gap-4 leading-tight"> <img class="w-9" src="https://www.libristo.bg/img/ico/prices.svg" alt=""> <span> <strong class="font-bold">На страхотни цени</strong> <br> удобно и актуално </span> </div> <div class="grid grid-cols-[auto_1fr] items-center gap-4 leading-tight"> <img class="w-9" src="https://www.libristo.bg/img/ico/libroamanto.svg" alt=""> <span> <strong class="font-bold">Клуб LIBROAMANTO</strong> <br> пълен с бонуси и подаръци </span> </div> <div class="grid grid-cols-[auto_1fr] items-center gap-4 leading-tight"> <img class="w-9" src="https://www.libristo.bg/img/ico/customers.svg" alt=""> <span> <strong class="font-bold">2 милиона клиенти</strong> <br> обслужени всяка година </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">Всички книги на света</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.bg/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">За покупката</h5> <nav class="flex flex-col gap-1 mt-4 text-primary"> <a class="no-underline" href="https://www.libristo.bg/bg/%D1%87%D0%B5%D1%81%D1%82%D0%BE-%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8-%D0%B2%D1%8A%D0%BF%D1%80%D0%BE%D1%81%D0%B8">Всичко за купуването</a> <a class="no-underline" href="https://www.libristo.bg/bg/%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0-%D0%BF%D0%BB%D0%B0%D1%89%D0%B0%D0%BD%D0%B5">Доставка и плащане</a> <a class="no-underline" href="https://www.libristo.bg/bg/%D1%82%D1%8A%D1%80%D0%B3%D0%BE%D0%B2%D1%81%D0%BA%D0%B8-%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8F">Търговски условия</a> </nav> </div> <div class="snap-center shrink-0"> <h5 class="font-heading text-primary-200 font-bold">За магазина</h5> <nav class="flex flex-col gap-1 mt-4 text-primary"> <a class="no-underline" href="https://www.libristo.bg/bg/%D0%B7%D0%B0-%D0%BD%D0%B0%D1%81">кои сме ние</a> <a class="no-underline" href="https://www.libristo.bg/bg/%D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82">Контакти</a> <a class="no-underline" href="https://www.libristo.bg/bg/udrzitelnost-knih">Задържане на книги</a> </nav> </div> <div class="snap-center shrink-0 pr-24 lg:pr-0"> <h5 class="font-heading text-primary-200 font-bold">За клиенти</h5> <nav class="flex flex-col gap-1 mt-4 text-primary"> <a class="no-underline" href="https://www.libristo.bg/bg/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B0-%D0%B7%D0%B0-%D0%BB%D0%BE%D1%8F%D0%BB%D0%BD%D0%B8-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B8">Програма за лоялни клиенти</a> <a class="no-underline" href="https://www.libristo.bg/bg/user/orders">Статус на моята поръчка</a> <span> <a class="no-underline" href="https://www.libristo.bg/bg/%D0%B2%D1%80%D1%8A%D1%89%D0%B0%D0%BD%D0%B5-%D0%BD%D0%B0-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%B8">Връщане на стоки</a> <span class="text-gray-300 text-xs px-1">/</span> <a class="no-underline" href="https://www.libristo.bg/bg/%D1%80%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%D1%86%D0%B8%D1%8F">Рекламация</a> </span> </nav> </div> <div class="hidden lg:block"> <div class="font-bold font-heading text-lg text-primary-200 -mt-1.5"> Ще останем заедно<span class="align-super leading-none"> <img class="inline h-4 -ml-2" src="https://www.libristo.bg/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.bg/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.bg/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.bg/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.bg/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.bg/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">Ще останем заедно<span class="align-super"> <img class="inline h-4 -ml-2" src="https://www.libristo.bg/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.bg/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.bg/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.bg/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.bg/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.bg/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.bg/img/ico/botmenu_VISA.svg" alt="VISA"> <img class="max-h-7" src="https://www.libristo.bg/img/ico/botmenu_MC.svg" alt="MC"> <img class="max-h-7" src="https://www.libristo.bg/img/ico/botmenu_GPAY.svg" alt="GPAY"> <img class="max-h-7" src="https://www.libristo.bg/img/ico/botmenu_APAY.svg" alt="APAY"> <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 ml-4 hover:text-primary-200" href="https://www.libristo.bg/bg/%D0%91%D0%B8%D1%81%D0%BA%D0%B2%D0%B8%D1%82%D0%BA%D0%B8">Бисквитки</a> <a class="text-sm text-gray no-underline ml-4 hover:text-primary-200" href="https://www.libristo.bg/bg/%D1%81%D1%8A%D0%B3%D0%BB%D0%B0%D1%81%D0%B8%D0%B5-%D0%B7%D0%B0-%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B2%D0%B0%D0%BD%D0%B5-%D0%BD%D0%B0-%D0%BB%D0%B8%D1%87%D0%BD%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D0%B8-%D0%B8-%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F-%D0%B7%D0%B0-%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B2%D0%B0%D0%BD%D0%B5%D1%82%D0%BE-%D0%BD%D0%B0-%D0%BB%D0%B8%D1%87%D0%BD%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D0%B8">Сигурност</a> <a class="text-sm text-gray no-underline ml-4 hover:text-primary-200" href="https://www.libristo.bg/bg/dostupnost">Достъпност</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> <p>Влезте в акаунта си. Още нямате акаунт за Libristo? <a href="https://www.libristo.bg/bg/registration">Създайте го сега!</a></p> </div> <section class="l-divider-rotated">   </section> <!-- end:l-divider-rotated --> <div class="c-modal-content narrow"> <form action="https://www.libristo.bg/bg/auth/signin" method="post" class="main-form-wrap"> <input type="hidden" name="_token" value="PCm9iAoPalss3h7VTwzbY8BfXNH2pK65vUKW82fS" autocomplete="off"> <div class="row mail"> <label for="email">Вашият имейл</label><input type="email" name="email" id="email" class="is-required" placeholder="Въведете имейла си"> <span class="required-info">задължително</span> </div> <div class="row pass"> <label for="password">Вашата парола:</label><input type="password" name="password" class="is-required" id="password" placeholder="Въведете паролата си"> <span class="required-info">задължително <a href="#" class="show-pass"><i class="ico-eye"></i></a></span> </div> <div class="row forgot"> <a href="https://www.libristo.bg/bg/lost-password" class="c-forgot-password">Забравена парола</a> </div> <div class="row send"> <button class="c-btn">Вход</button> </div> </form> </div> <div class="c-registration-cta"> <div class="c-modal-content"> <h4>Нямате акаунт? Използвайте предимствата на акаунта за Libristo!</h4> <p> Благодарение на акаунта за Libristo държите всичко под контрол. </p> <a href="https://www.libristo.bg/bg/registration" class="c-btn">Създаване на акаунт за Libristo</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":"\u041d\u0443\u0436\u0434\u0430\u044f \u0441\u0435 \u043e\u0442 \u043f\u043e\u043c\u043e\u0449 \u0437\u0430 \u043f\u043e\u0440\u044a\u0447\u043a\u0430\u0442\u0430 \u0441\u0438","key":"order"},{"text":"\u041f\u0440\u0435\u043f\u043e\u0440\u044a\u0447\u0430\u0439 \u043c\u0438 \u043a\u043d\u0438\u0433\u0430","key":"recommend"},{"text":"\u041a\u043e\u0433\u0430 \u0449\u0435 \u043f\u0440\u0438\u0441\u0442\u0438\u0433\u043d\u0435 \u043f\u0440\u0430\u0442\u043a\u0430\u0442\u0430 \u043c\u0438?","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: '\u0414\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u0445\u0442\u0435 \u043b\u0438\u043c\u0438\u0442\u0430 \u043d\u0430 \u0447\u0430\u0442\u0430. \u041c\u043e\u043b\u044f, \u043e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u043e\u0432\u043e \u043f\u043e-\u043a\u044a\u0441\u043d\u043e.' }); // 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 || '\u0421\u044a\u0436\u0430\u043b\u044f\u0432\u0430\u043c, \u043d\u0435\u0449\u043e \u0441\u0435 \u043e\u0431\u044a\u0440\u043a\u0430. \u041c\u043e\u043b\u044f, \u043e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u043e\u0432\u043e.' }); } } catch (error) { console.error('Failed to send message:', error); this.messages.push({ role: 'bot', text: '\u0421\u044a\u0436\u0430\u043b\u044f\u0432\u0430\u043c, \u043d\u0435\u0449\u043e \u0441\u0435 \u043e\u0431\u044a\u0440\u043a\u0430. \u041c\u043e\u043b\u044f, \u043e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u043e\u0432\u043e.' }); } 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: '\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043d\u0443\u043b\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0447\u0430\u0442\u0430. \u041c\u043e\u043b\u044f, \u043e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u043e\u0432\u043e.' }); } 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">Книжен съветник 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="Започни нов разговор" :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="Скрий известието"> <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> Използвайки този чат, вие комуникирате с генеративен изкуствен интелект. Използвайки го, вие също се съгласявате с <a href="https://www.libristo.bg/bg/%D1%81%D1%8A%D0%B3%D0%BB%D0%B0%D1%81%D0%B8%D0%B5-%D0%B7%D0%B0-%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B2%D0%B0%D0%BD%D0%B5-%D0%BD%D0%B0-%D0%BB%D0%B8%D1%87%D0%BD%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D0%B8-%D0%B8-%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F-%D0%B7%D0%B0-%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B2%D0%B0%D0%BD%D0%B5%D1%82%D0%BE-%D0%BD%D0%B0-%D0%BB%D0%B8%D1%87%D0%BD%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D0%B8" class="text-primary underline">обработката на лични данни</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">Здравейте! Аз съм Libroamiko, вашият книжен съветник.</p> <p class="text-sm">Как мога да ви помогна?</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="Напишете вашия отговор .." :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"> Здравейте, аз съм Libroamiko, мога ли да помогна? </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 = 'SzmmccErnRXsbwf6OuKAVk7ujjt3SIaU'; var site = { country: 'bg', locale: 'bg', preferred_language: ["en","de","es","fr","it","uk"], cur: 'EUR', convertor: 24.165, tld: 'bg', priceSet: 'bg' }; var trans = { back: 'Назад', allLangs: 'Всички езици', moreLanguages: 'Други езици' } </script> <!-- Scripts --> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/lozad/dist/lozad.min.js"></script> <script src="https://www.libristo.bg/js/utils.js?v1"></script> <script src="https://www.libristo.bg/js/app.js?v6"></script> <script src="https://www.libristo.bg/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: "11981483", marketing_video: "https://www.youtube.com/watch?v=HYmAdhxONZ8" } } </script> <script> setTimeout(() => { dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object. dataLayer.push({ event: "view_item", ecommerce: { currency: 'EUR', value: 0, items: [{ item_id: "11981483", item_name: "Minerva.", currency: "EUR", item_variant: "Книга", price: 30.755638319884, 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: "09267821", item_name: "Political Censorship of the Visual Arts in Nineteenth-Century Europe", currency: "EUR", item_variant: "Книга", price: 61.205462445686 } , { item_id: "22117247", item_name: "Life of Rear-Admiral John Paul Jones", currency: "EUR", item_variant: "Книга", price: 28.37326712187 } , { item_id: "48728534", item_name: "Firebeat", currency: "EUR", item_variant: "Аудио", price: 14.08069522036 } , { item_id: "22146063", item_name: "Modern Romance August Books 5-8", currency: "EUR", item_variant: "Книга", price: 20.139457893648 } , { item_id: "25346724", item_name: "Vogue and the Metropolitan Museum of Art Costume Institute", currency: "EUR", item_variant: "Книга", price: 55.353610593834 } , { item_id: "28383686", item_name: "Digital Technology and Democratic Theory", currency: "EUR", item_variant: "Книга", price: 39.248499896545 } , { item_id: "28731912", item_name: "The Babar-Nama: The Material Now Available For A Definitive Text Of The Book (1908)", currency: "EUR", item_variant: "Книга", price: 23.142975377612 } , { item_id: "40542535", item_name: "Once Upon A Broken Heart", currency: "EUR", item_variant: "E-книга", price: 6.3128491620112 } , { item_id: "40545669", item_name: "Comet", currency: "EUR", item_variant: "Аудиокнига", price: 15.892820194496 } , { item_id: "41535900", item_name: "La sorcière du château aux chardons - Tome 2", currency: "EUR", item_variant: "Книга", price: 12.475067246017 } , { item_id: "44652446", item_name: "Napiš a smaž Aktivity se zvířátky", currency: "EUR", item_variant: "Книга", price: 8.694806538382 } , { item_id: "44688075", item_name: "Handbook of Research on Entrepreneurship and Conflict", currency: "EUR", item_variant: "Книга", price: 291.49637906062 } , { item_id: "46877686", item_name: "SEDUCED BY THE DEMON KING A SENSUAL V02", currency: "EUR", item_variant: "Книга", price: 12.889302710532 } , { item_id: "20268126", item_name: "Oxford Playscripts: A View from the Bridge", currency: "EUR", item_variant: "Книга", price: 20.657148768881 } , { item_id: "17955393", item_name: "Reflections on the First Ten Years", currency: "EUR", item_variant: "Книга", price: 10.351748396441 } , { item_id: "16087439", item_name: "Violence of Petro-Dollar Regimes: Algeria, Iraq, Libya", currency: "EUR", item_variant: "Книга", price: 59.651975998345 } , { item_id: "14089868", item_name: "de la Syphilis Maligne", currency: "EUR", item_variant: "Книга", price: 12.734119594455 } , { item_id: "12963384", item_name: "Las hijas del frío", currency: "EUR", item_variant: "Книга", price: 16.410924891372 } , { item_id: "11476919", item_name: "The Testosterone Advantage Plan: Lose Weight, Gain Muscle, Boost Energy", currency: "EUR", item_variant: "Книга", price: 18.016139044072 } , { item_id: "07902982", item_name: "Memoir of a Map of Hindoostan; Or the Mogul Empire", currency: "EUR", item_variant: "Книга", price: 29.564245810056 } , { item_id: "06440848", item_name: "Trade Barriers to the European Union as Perceived by U.S. Small & Medium-Sized Enterprises", currency: "EUR", item_variant: "Книга", price: 347.11400786261 } , { item_id: "03198880", item_name: "Charles County, Maryland, Wills 1818-1825", currency: "EUR", item_variant: "Книга", price: 15.737637078419 } , { item_id: "02831101", item_name: "Metaphilosophy", currency: "EUR", item_variant: "Книга", price: 33.137595696255 } ] } }); }, 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_1872=1; path=/; expires=Fri, 31 Dec 9999 23:59:59 GMT"; }); }) </script> </body> </html>