PageSourceSearch

https://wellorabook.lovable.app/en/auth

html wellorabook.lovable.app collected 2026-10-03 03:46:02 UTC 17,613 bytes, 376 lines download raw bytes

1<!doctype html>
2<html lang="en">
3  <head>
4    <!-- Google Analytics is initialized via react-ga4 in src/main.tsx
5         to ensure SPA route changes are tracked and traffic source
6         attribution (utm_*, document.referrer) is preserved. Do not
7         add a duplicate gtag script here. -->
8    <meta charset="UTF-8" />
9    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
10    <title>Wellora – Book Beauty & Wellness in Lithuania</title>
11    <meta name="description" content="Find and book the best beauty salons, spas, and wellness services in Lithuania. Instant online booking with real reviews and best prices." />
12    <meta name="author" content="Wellora" />
13    <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
14    <!-- Canonical and hreflang are set per-route by the SEO component (react-helmet-async). -->
15    <link rel="canonical" href="https://wellorabook.lovable.app/en" />
16
17    <!-- PWA Meta Tags -->
18    <meta name="theme-color" content="#8B5CF6" />
19    <meta name="apple-mobile-web-app-capable" content="yes" />
20    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
21    <meta name="apple-mobile-web-app-title" content="Wellora" />
22    <meta name="mobile-web-app-capable" content="yes" />
23    <meta name="application-name" content="Wellora" />
24    <meta name="format-detection" content="telephone=no" />
25
26    <!-- Security Headers -->
27    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://maps.googleapis.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data: blob: https: http:; connect-src 'self' https://fpespqwwzhsikosuihhk.supabase.co https://*.google-analytics.com https://maps.googleapis.com https://ai.gateway.lovable.dev; frame-src 'self' https://www.google.com https://maps.google.com https://maps.googleapis.com https://*.google.com;" />
28    <meta name="referrer" content="strict-origin-when-cross-origin" />
29    
30    <!-- Apple Touch Icons -->
31    <link rel="apple-touch-icon" href="/pwa-192x192.png" />
32    <link rel="apple-touch-icon" sizes="192x192" href="/pwa-192x192.png" />
33    <link rel="apple-touch-icon" sizes="512x512" href="/pwa-512x512.png" />
34    
35    <!-- Favicon -->
36    <link rel="icon" type="image/png" href="/favicon.png" />
37
38    <!-- Open Graph (sitewide fallbacks for non-JS crawlers; per-page values are injected by the SEO component) -->
39    <meta property="og:site_name" content="Wellora" />
40    <meta property="og:title" content="Wellora – Book Beauty & Wellness in Lithuania" />
41    <meta property="og:description" content="Find top-rated salons, spas and wellness services. Instant online booking, verified reviews, best prices." />
42    <meta property="og:type" content="website" />
43    <meta property="og:image" content="https://wellorabook.lovable.app/og-image.png" />
44    <meta property="og:image:width" content="1200" />
45    <meta property="og:image:height" content="630" />
46    <meta property="og:image:alt" content="Wellora – Book Beauty & Wellness in Lithuania" />
47    <meta property="og:locale" content="en_US" />
48    <meta property="og:locale:alternate" content="lt_LT" />
49
50    <!-- Twitter -->
51    <meta name="twitter:card" content="summary_large_image" />
52    <meta name="twitter:site" content="@Wellora" />
53    <meta name="twitter:title" content="Wellora – Book Beauty & Wellness in Lithuania" />
54    <meta name="twitter:description" content="Find top-rated salons, spas and wellness services. Instant online booking, verified reviews, best prices." />
55    <meta name="twitter:image" content="https://wellorabook.lovable.app/og-image.png" />
56    
56<script type="module" crossorigin src="/assets/index-CUTOqivJ.js"></script>
56
57    <link rel="stylesheet" crossorigin href="/assets/index-OzELCRCK.css">
58  
59<style>
60	#lovable-badge {
61		--badge-bg: #1b1b1b;
62		--badge-text: #c5c1b9;
63		--badge-text-hover: #dcdad5;
64		--badge-radius: 6px;
65		--badge-padding: 8px;
66		--badge-gap: 6px;
67		--badge-shadow: 
68			0 0 0 1px rgba(0, 0, 0, 0.88),
69			0 1px 0 0 rgba(0, 0, 0, 0.04),
70			0 2px 2px -1px rgba(0, 0, 0, 0.08),
71			0 4px 4px -2px rgba(0, 0, 0, 0.08),
72			0 8px 8px -4px rgba(0, 0, 0, 0.08),
73			0 16px 16px -8px rgba(0, 0, 0, 0.08);
74		--badge-transition-duration: 0.2s;
75		--badge-transition-easing: cubic-bezier(0.16, 1, 0.32, 1);
76		--focus-color: #575ECF;
77		--focus-offset: 2px;
78		--focus-width: 2px;
79		
80		position: fixed;
81		bottom: 12px;
82		right: 12px;
83		height: 24px;
84		display: flex;
85		align-items: center;
86		z-index: 1000000;
87		background-color: var(--badge-bg) !important;
88		color: var(--badge-text) !important;
89		border-radius: var(--badge-radius);
90		box-shadow: var(--badge-shadow) !important;
91		font-size: 12px;
92		font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
93		font-weight: 400 !important;
94		text-transform: none !important;
95		font-feature-settings: normal !important;
96		transform: translateZ(0);
97		will-change: transform, opacity;
98		transition: opacity var(--badge-transition-duration) var(--badge-transition-easing);
99	}
100
101	#lovable-badge.closing {
102		opacity: 0;
103		pointer-events: none;
104	}
105
106	#lovable-badge-cta {
107		display: flex;
108		align-items: baseline;
109		gap: var(--badge-gap);
110		box-sizing: border-box;
111		padding: 4px var(--badge-padding) 0;
112		height: 100%;
113		color: inherit;
114		text-decoration: none;
115		white-space: nowrap;
116		border-radius: var(--badge-radius) 0 0 var(--badge-radius);
117		transition: 
118			background-color var(--badge-transition-duration) ease,
119			color var(--badge-transition-duration) ease,
120			transform 0.1s ease;
121	}
122
123	#lovable-badge-cta:hover {
124		background: rgba(255, 255, 255, 0.04);
125		color: var(--badge-text-hover);
126	}
127
128	#lovable-badge-cta:active {
129		transform: scale(0.98);
130	}
131
132	#lovable-badge-cta:focus {
133		outline: none;
134	}
135
136	#lovable-badge-cta:focus-visible {
137		outline: var(--focus-width) solid var(--focus-color);
138		outline-offset: var(--focus-offset);
139		z-index: 1;
140	}
141
142	#lovable-badge-text {
143		line-height: 1;
144	}
145
146	/* The wordmark baseline sits at y=12 of the 16px logo; an empty 12px box
147	   makes that the flex baseline so the text aligns to it on any system font. */
148	#lovable-badge-logo {
149		position: relative;
150		display: block;
151		width: 52px;
152		height: 12px;
153	}
154
155	#lovable-badge-logo svg {
156		position: absolute;
157		top: 0;
158		left: 0;
159	}
160
161	#lovable-badge-divider {
162		width: 1px;
163		height: 24px;
164		background-color: rgba(255, 255, 255, 0.04);
165		flex-shrink: 0;
166	}
167
168	#lovable-badge-close {
169		width: 24px;
170		height: 24px;
171		min-width: 24px;
172		min-height: 24px;
173		cursor: pointer;
174		background: none;
175		border: none;
176		padding: 0;
177		display: flex;
178		align-items: center;
179		justify-content: center;
180		border-radius: 0 var(--badge-radius) var(--badge-radius) 0;
181		flex-shrink: 0;
182		transition: 
183			background-color var(--badge-transition-duration) ease,
184			transform 0.1s ease;
185	}
186
187	#lovable-badge-close:hover {
188		background: rgba(255, 255, 255, 0.04);
189	}
190
191	#lovable-badge-close:active {
192		transform: scale(0.92);
193	}
194
195	#lovable-badge-close:focus {
196		outline: none;
197	}
198
199	#lovable-badge-close:focus-visible {
200		outline: var(--focus-width) solid var(--focus-color);
201		outline-offset: calc(var(--focus-offset) * -1);
202		z-index: 1;
203	}
204
205	#lovable-badge-close svg path {
206		fill: var(--badge-text);
207		transition: fill var(--badge-transition-duration) ease;
208	}
209
210	#lovable-badge-close:hover svg path {
211		fill: var(--badge-text-hover);
212	}
213
214	@media (prefers-reduced-motion: reduce) {
215		#lovable-badge,
216		#lovable-badge-cta,
217		#lovable-badge-close,
218		#lovable-badge-close svg path {
219			transition: none;
220		}
221		
222		#lovable-badge-cta:active,
223		#lovable-badge-close:active {
224			transform: none;
225		}
226	}
227
228	@media (prefers-contrast: high) {
229		#lovable-badge {
230			--badge-bg: #000;
231			--badge-text: #fff;
232			--badge-text-hover: #fff;
233			border: 2px solid currentColor;
234		}
235		
236		#lovable-badge-cta:focus-visible,
237		#lovable-badge-close:focus-visible {
238			outline-width: 3px;
239		}
240	}
241</style>
242<script defer src="/~flock.js" data-proxy-url="/~api/analytics"></script>
242</head>
243
244  <body>
245    <div id="root"></div>
246
247    <!--
248      Static fallback for clients without JavaScript (rare crawlers,
249      accessibility tools, link previewers). Real users get the SPA.
250      Googlebot renders JS, so this is supplementary content only.
251    -->
252    <noscript>
253      <div style="max-width:1200px;margin:0 auto;padding:20px;font-family:system-ui,sans-serif;">
254        <header style="border-bottom:1px solid #eee;padding-bottom:16px;margin-bottom:24px;">
255          <h1>Wellora – Book Beauty & Wellness Appointments Online</h1>
256          <p>Find and book the best beauty salons, spas, and wellness services in Lithuania. Instant online booking with real reviews and best prices.</p>
257          <nav><a href="/en">English</a> | <a href="/lt">Lietuviškai</a> | <a href="/en/become-partner">For Business</a> | <a href="/en/auth">Sign In</a></nav>
258        </header>
259        <main>
260          <section>
261            <h2>Browse by Category</h2>
262            <ul>
263              <li><a href="/en/category/hair"><strong>Hair Salons</strong> – Haircuts, coloring, balayage, keratin treatment, blow dry, extensions</a></li>
264              <li><a href="/en/category/nails"><strong>Nail Salons</strong> – Manicure, pedicure, gel nails, nail art, extensions</a></li>
265              <li><a href="/en/category/massage"><strong>Massage</strong> – Deep tissue, Swedish, Thai, sports, relaxation massage</a></li>
266              <li><a href="/en/category/face"><strong>Face Treatments</strong> – Facials, makeup, eyebrow design, lash extensions, chemical peel</a></li>
267              <li><a href="/en/category/body"><strong>Body Treatments</strong> – Body wraps, scrubs, slimming treatments, detox</a></li>
268              <li><a href="/en/category/depilation"><strong>Hair Removal</strong> – Waxing, laser hair removal, sugaring, threading, IPL</a></li>
269              <li><a href="/en/category/spa"><strong>Spa & Wellness</strong> – Spa packages, sauna, hydrotherapy, wellness treatments</a></li>
270              <li><a href="/en/category/dental"><strong>Dental Clinics</strong> – Teeth whitening, dental cleaning, checkups, cosmetic dentistry</a></li>
271              <li><a href="/en/category/for-men"><strong>For Men</strong> – Beard trim, shave, men's haircut, grooming</a></li>
272            </ul>
273          </section>
274          <section>
275            <h2>Popular Cities</h2>
276            <p>Beauty salons and wellness services in Vilnius, Kaunas, Klaipėda, Šiauliai, Panevėžys and across Lithuania.</p>
277          </section>
278          <section>
279            <h2>Why Choose Wellora?</h2>
280            <p>Best prices with off-peak discounts up to 30%. Instant 24/7 online booking. Verified reviews from real customers. Top-rated beauty professionals only.</p>
281          </section>
282          <section>
283            <h2>For Beauty Business Owners</h2>
284            <p><a href="/en/become-partner">Join Wellora</a> – Online booking system, team management, analytics, and client notifications for your salon.</p>
285          </section>
286          <section>
287            <h2>Lietuviškai</h2>
288            <p><a href="/lt">Wellora</a> – Užsisakykite grožio ir sveikatingumo paslaugas internetu Lietuvoje.</p>
289            <ul>
290              <li><a href="/lt/category/hair">Kirpyklos</a></li>
291              <li><a href="/lt/category/nails">Nagų salonai</a></li>
292              <li><a href="/lt/category/massage">Masažas</a></li>
293              <li><a href="/lt/category/spa">SPA centrai</a></li>
294              <li><a href="/lt/category/dental">Odontologijos klinikos</a></li>
295            </ul>
296          </section>
297        </main>
298        <footer style="border-top:1px solid #eee;padding-top:16px;margin-top:24px;font-size:14px;color:#666;">
299          <p>© 2026 Wellora. All rights reserved. Contact: [email protected]</p>
300        </footer>
301      </div>
302    </noscript>
303
304  
305<aside
306	id="lovable-badge"
307	role="complementary"
308	dir="ltr"
309	lang="en"
310	aria-label="Edit with Lovable">
311	<a
312		id="lovable-badge-cta" 
313		target="_blank" 
314		href="https://lovable.dev/projects/lovp_3grd2wrmgm8c6bh4dkere7e7pp?utm_source=lovable-badge"
315		rel="noopener nofollow"
316		aria-label="Edit with Lovable">
317		<span id="lovable-badge-text">Edit with</span>
318		<span id="lovable-badge-logo"><svg xmlns="http://www.w3.org/2000/svg" width="52" height="16" fill="none" viewBox="0 0 52 16">
319  <path fill="#FCFBF8" fill-rule="evenodd" d="M20.318 5.25c.643 0 1.206.14 1.69.418a2.81 2.81 0 0 1 1.118 1.191c.266.513.4 1.115.4 1.807s-.134 1.296-.4 1.812a2.81 2.81 0 0 1-1.118 1.193c-.484.278-1.047.418-1.69.418s-1.208-.14-1.695-.418a2.85 2.85 0 0 1-1.125-1.193c-.262-.516-.393-1.12-.393-1.812s.131-1.294.393-1.807a2.848 2.848 0 0 1 1.125-1.191c.487-.279 1.052-.418 1.695-.418Zm0 1.425c-.27 0-.504.076-.7.228-.193.147-.34.37-.443.67-.102.295-.153.66-.153 1.093 0 .435.05.801.153 1.1.102.3.25.524.443.676.196.147.43.22.7.22.27 0 .502-.073.694-.22.193-.152.341-.375.443-.67.103-.299.153-.667.153-1.106 0-.65-.112-1.
319145-.337-1.481a1.08 1.08 0 0 0-.953-.51ZM32.7 5.25c.61 0 1.127.1 1.549.3.422.197.74.48.953.849.217.368.325.809.325 1.32v2.704c0 .29.02.562.062.812.044.245.108.4.19.466V12h-1.935a5.895 5.895 0 0 1-.105-.684 7.745 7.745 0 0 1-.02-.228 2.293 2.293 0 0 1-.151.203c-.205.242-.47.437-.793.584-.32.143-.685.215-1.094.215-.406 0-.77-.08-1.094-.24a1.845 1.845 0 0 1-.756-.682 1.984 1.984 0 0 1-.27-1.045c0-.606.178-1.069.535-1.388.356-.324.87-.534 1.542-.633l1.125-.16c.225-.032.403-.074.534-.123a.622.622 0 0 0 .288-.196.549.549 0 0 0 .093-.327.65.65 0 0 0-.11-.367.702.702 0 0 0-.32-.27c-.14-.07-.31-.105-.51-.105-.32 0-.576.083-.768.251-.193.164-.298.39-.314.676h-1.923c.016-.434.147-.82.393-1.155.25-.34.596-.604 1.039-.792.442-.189.954-.283 1.535-.283Zm.99 3.498a.98.98 0 0 1-.215.14 2.49 2.49 0 0 1-.584.178l-.473.092c-.315.061-.553.156-.713.283-.155.127-.233.305-.233.534 0 .23.084.412.252.547.168.135.383.203.645.203s.494-.058.694-.173c.201-.118.355-.282.461-.49.11-.21.166-.448.166-.714v-.6Zm4.526-2.375c.065-.125.138-.243.221-.349.197-.25.437-.44.719-.571.282-.135.6-.203.952-.203.528 0 .988.138 1.377.412.389.275.688.67.896 1.186.21.512.314 1.12.314 1.824 0 .7-.107 1.309-.32 1.825-.213.512-.518.906-.915 1.18-.393.275-.854.412-1.383.412-.352 0-.667-.062-.946-.184a1.832 1.832 0 0 1-.7-.554 2.2 2.2 0 0 1-.234-.383V12h-1.843V3h1.862v3.373Zm1.284.296c-.274 0-.51.085-.707.253-.192.163-.338.397-.436.7a3.376 3.376 0 0 0-.148 1.05c0 .406.05.759.148 1.058.098.299.243.53.436.694.197.164.433.246.707.246.279 0 .512-.082.7-.246.193-.164.336-.395.43-.694.099-.3.148-.652.148-1.058 0-.405-.05-.757-.147-1.056-.095-.299-.238-.53-.43-.694a1.015 1.015 0 0 0-.7-.253Zm9.416-1.419c.602 0 1.136.131 1.604.393.466.262.829.643 1.086 1.143.263.5.394 1.097.394 1.794 0 .25-.002.449-.006.596H47.51c.018.288.071.538.164.75a1.3 1.3 0 0 0 .491.596c.214.13.465.196.757.196.319 0 .583-.082.792-.246.209-.167.34-.403.393-.706h1.862a2.48 2.48 0 0 1-.485 1.235 2.54 2.54 0 0 1-1.051.805c-.439.188-.949.283-1.53.283-.655 0-1.225-.125-1.708-.375a2.672 2.672 0 0 1-1.13-1.143c-.267-.508-.4-1.137-.4-1.887 0-.712.14-1.327.418-1.843a2.86 2.86 0 0 1 1.155-1.186c.491-.27 1.051-.405 1.678-.405Zm-.044 1.345c-.274 0-.516.068-.725.203a1.29 1.29 0 0 0-.479.59 2.045 2.045 0 0 0-.132.498h2.562a1.873 1.873 0 0 0-.138-.602 1.061 1.061 0 0 0-.418-.516 1.243 1.243 0 0 0-.67-.173Z" clip-rule="evenodd"/>
320  <path fill="#FCFBF8" d="m26.605 9.995 1.342-4.566h1.924L27.628 12h-2.07l-2.33-6.57h1.98l1.397 4.565Zm-13.013.143h2.256c1.632 0 1.421 1.837 1.418 1.861h-5.603V3h1.93v7.138Zm31.516 1.861h-1.862V3h1.862v8.999Z"/>
321  <path fill="url(#a)" fill-rule="evenodd" d="M2.7 3c1.492 0 2.7 1.192 2.7 2.663v1.012h.9c1.49 0 2.7 1.192 2.7 2.662S7.791 12 6.3 12H0V5.663C0 4.193 1.209 3 2.7 3Z" clip-rule="evenodd"/>
322  <defs>
323    <radialGradient id="a" cx="0" cy="0" r="1" gradientTransform="matrix(-1.54236 7.07838 -10.231 -2.15602 4.627 5.022)" gradientUnits="userSpaceOnUse">
324      <stop offset=".106" stop-color="#FE7B02"/>
325      <stop offset=".394" stop-color="#FE3F21"/>
326      <stop offset=".608" stop-color="#F858BC"/>
327      <stop offset=".929" stop-color="#575ECF"/>
328    </radialGradient>
329  </defs>
330</svg>
331
332</span>
333	</a>
334	
335	<span id="lovable-badge-divider" aria-hidden="true"></span>
336	
337	<button 
338		id="lovable-badge-close"
339		aria-label="Dismiss"
340		title="Dismiss"
341		type="button">
342		<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" aria-hidden="true">
343			<path d="M10.646 4.646a.5.5 0 1 1 .707.708L8.707 8l2.646 2.646a.5.5 0 1 1-.707.707L8 8.707l-2.646 2.646a.5.5 0 1 1-.708-.707L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708L8 7.293l2.646-2.647Z"/>
344		</svg>
345	</button>
346</aside>
347<script>
348	(() => {
349		if (window.self !== window.top || navigator.userAgent.includes('puppeteer')) {
350			const badge = document.querySelector('#lovable-badge');
351			if (badge) {
352				badge.style.display = 'none';
353			}
354			return;
355		}
356
357		const closeButton = document.querySelector('#lovable-badge-close');
358		if (closeButton) {
359			closeButton.addEventListener('click', function(event) {
360				event.preventDefault();
361				event.stopPropagation();
362				const badge = document.querySelector('#lovable-badge');
363				if (badge) {
364					badge.classList.add('closing');
365					setTimeout(function() {
366						if (badge) {
367							badge.style.display = 'none';
368						}
369					}, 240);
370				}
371			});
372		}
373	})();
374</script>
374
375</body>
376</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.