PageSourceSearch

https://comidaemcasa.online/

html comidaemcasa.online collected 2026-10-02 02:03:14 UTC 104,787 bytes, 2,928 lines download raw bytes

1 
2<!DOCTYPE html>
3<html lang="pt">
4
5<head>
6    <meta charset="UTF-8">
7    <meta http-equiv="X-UA-Compatible" content="IE=edge">
8    <meta name="viewport" content="width=device-width, initial-scale=1.0">
9    <meta name="description" content="RoyalFare - Restaurant html template">
10
11	<title>
12		Comida em Casa - Entrega de comida ao domicílio em Castelo Branco – Tudo numa entrega!	</title>
13
14    <!-- Favicon -->
15    <link rel="shortcut icon" type="image/x-icon" href="/favicon.png">
16
17    <!-- All CSS files -->
18    <link rel="stylesheet" href="/assets/css/vendor/bootstrap.min.css">
19    <link rel="stylesheet" href="/assets/css/vendor/all.min.css">
20    <link rel="stylesheet" href="/assets/css/vendor/ion.rangeSlider.css">
21    <link rel="stylesheet" href="/assets/css/vendor/slick.css">
22    <link rel="stylesheet" href="/assets/css/vendor/slick-theme.css">
23    <link rel="stylesheet" href="/assets/css/vendor/nice-select.css">
24    <link rel="stylesheet" href="/assets/css/vendor/odometer.min.css">
25    <link rel="stylesheet" href="/assets/css/app.css">
26	<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orestbida/[email protected]/dist/cookieconsent.css">
27	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pikaday/1.8.2/css/pikaday.min.css">
28
29	
29<script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous" ></script>
29
30	
31	
31<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js" integrity="sha512-VEd+nq25CkR676O+pLBnDW09R7VQX9Mdiij052gVCp5yVH3jGtH70Ho/UUv4mJDsEdTvqRCFZg0NKGiojGnUCw==" defer crossorigin="anonymous" referrerpolicy="no-referrer"></script>
31
32	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.css" integrity="sha512-3pIirOrwegjM6erE5gPSwkUzO+3cTjpnV9lexlNZqvupR64iZBnOOTiiLPb9M36zpMScbmUNIcHUqKD47M719g==" crossorigin="anonymous" referrerpolicy="no-referrer" />
33	
34	
34<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert2/11.14.5/sweetalert2.min.js" integrity="sha512-JCDnPKShC1tVU4pNu5mhCEt6KWmHf0XPojB0OILRMkr89Eq9BHeBP+54oUlsmj8R5oWqmJstG1QoY6HkkKeUAg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
34
35	
36	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert2/11.14.5/sweetalert2.css" integrity="sha512-6qScZESleBziOBqJwOPurSy6lhLqHGjHNALOOFX0mzRVPiE5SZQvepRzeSO1OB475fcZywuMjxtkrFaO93aq9g==" crossorigin="anonymous" referrerpolicy="no-referrer" />
37			
38	<!--
38<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous" defer></script>
38-->
39	
40	
40<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous" defer></script>
40
41	
42	
42<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous" defer></script>
42
43	
44	<link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
45	
45<script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
45
46	
47	<!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 47-48
47
48	<script async src="https://www.googletagmanager.com/gtag/js?id=
48G-71BS4L1VMQ
vendor: 13 bytes, lines 48-49
48"></script>
49	
49<script>
50		
vendor: 134 bytes, lines 50-54
50window.dataLayer = window.dataLayer || [];
51		function gtag(){dataLayer.push(arguments);}
52		gtag('js', new Date());
53
54		gtag('config', '
54G-71BS4L1VMQ
vendor: 5 bytes, lines 54-55
54');
55	
55</script>
55
56
57	<!-- Google Tag Manager -->
58	
58<script>
vendor: 331 bytes, lines 58-62
58(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
59	new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
60	j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
61	'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
62	})(window,document,'script','dataLayer','
62GTM-TQGVS3C9
vendor: 3 bytes, line 62
62');
62</script>
62
63	<!-- End Google Tag Manager -->
64	
65	<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet" />
66	<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flag-icon-css/css/flag-icon.min.css">
67	
68	<link href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css" rel="stylesheet" />
69
70	<!-- JS do toastr -->
71	
71<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
71
72	
73	<meta name="description" content="Comida em Casa, restaurante, restaurantes, castelo branco, entregas em casa, entrega ao domicilio, churrasqueira da quinta, hamburgueria da aldeia, vinho ao balcão, leitão beirão, a padaria beiroa">
74	
75	<meta name="google-site-verification" content="iaGWanRBHKDcVz43_B5zSmqIYGqHbk6DJH-zB8s1ypQ" />
76	
77	
78	
79</head>
80
81<body id="body" class="x-hidden">
82
83<!-- Connected Sites -->
84<script>
85if(window._mtmReady){ 
86 console.error('Connected sites script already loaded. You might have it dupplicated.'); 
87} else { 
88window._mtmReady=true; 
89var _mtm = window._mtm = window._mtm || [];
90_mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'});
91var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
92g.async=true; g.src='https://egoi.site/1697503_comidaemcasa.online.js?v='+new Date().getTime();
93s.parentNode.insertBefore(g,s);
94}
95</script>
95
96<!-- End Connected Sites -->
97
98<div id="overlay"></div>
99<!-- --------------------------------------------------------POP UP ---------------------------------------------------------------------------- -->
100<style>
101    /* Estilo para tornar o botão de fechar uma "bolinha" fora da imagem */
102    div:where(.swal2-container) button:where(.swal2-close) {
103        background: white !important;
104        color: #d12421 !important; /* Cor vermelha do teu site */
105        border-radius: 50%;
106        width: 30px !important;
107        height: 30px !important;
108        font-size: 24px !important;
109        box-shadow: 0 4px 10px rgba(0,0,0,0.4) !important;
110        /* Posiciona o botão um pouco para fora no canto superior direito */
111        position: absolute !important;
112        top: -5px !important;
113        right: -15px !important;
114        opacity: 1 !important;
115        display: flex !important;
116        align-items: center !important;
117        justify-content: center !important;
118        border: 2px solid white !important;
119        z-index: 9999 !important;
120    }
121
122    /* Permite que o botão saia dos limites da caixa */
123    .swal2-popup {
124        overflow: visible !important;
125    }
126</style>
127
128<!--
128<script>
129    document.addEventListener("DOMContentLoaded", function() {
130        const popupName = 'popup_natal_viewed_v2'; // Mudei para v2 para testares novamente
131
132        if (!localStorage.getItem(popupName)) {
133            window.addEventListener('load', function() {
134                setTimeout(function() {
135                    Swal.fire({
136                        imageUrl: '/popup_natal.jpg',
137                        imageAlt: 'Campanha de Natal',
138                        showConfirmButton: false,
139                        showCloseButton: true,
140                        background: 'transparent',
141                        backdrop: `rgba(0,0,0,0.8)`,
142                        padding: 0,
143                        
144                        /* AQUI DEFINIMOS O TAMANHO */
145                        width: '500px', // Define uma largura máxima (o que a torna mais pequena)
146                        
147                        customClass: {
148                            popup: 'animated fadeInDown'
149                        },
150                        didOpen: () => {
151                            localStorage.setItem(popupName, 'true');
152                        }
153                    });
154                }, 1500); 
155            });
156        }
157    });
158</script>
158-->
159<!-- ----------------------------------------------------------------------------------------------------------------------------------------------- -->
160	
161	<style>
162         #overlay {
163            display: none;
164            position: fixed;
165            top: 0;
166            left: 0;
167            width: 100%;
168            height: 100%;
169            background-color: rgba(0, 0, 0, 0.4);
170            z-index: 9999;
171            animation: fadeIn 0.3s ease;
172        }
173
174        /* Animação do fadeIn */
175        @keyframes fadeIn {
176            0% { opacity: 0; }
177            100% { opacity: 1; }
178        }
179
180        /* Modal */
181        #appPrompt {
182            display: none;
183            position: fixed;
184            top: 50%;
185            left: 50%;
186            transform: translate(-50%, -50%);
187            background-color: #ffffff;
188            padding: 20px;
189            border-radius: 12px;
190            box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.1);
191			z-index: 99999;
192            width: 300px;
193            text-align: center;
194            animation: slideIn 0.5s ease;
195        }
196
197        /* Animação do slideIn */
198        @keyframes slideIn {
199            0% { transform: translate(-50%, -100%); }
200            100% { transform: translate(-50%, -50%); }
201        }
202
203        /* Título da Modal */
204        #appPrompt h2 {
205            margin-bottom: 20px;
206            color: #333;
207            font-size: 20px;
208        }
209
210        /* Botões */
211        .btn33 {
212            display: inline-block;
213            padding: 12px 20px;
214            background-color: #4CAF50;
215            color: white;
216            font-size: 16px;
217            border: none;
218            border-radius: 8px;
219            cursor: pointer;
220			margin: 5px;
221            transition: background-color 0.3s ease;
222        }
223    </style>
224 
225<div id="preloader">
226	<div class="loading">
227		<div class="loader"></div>
228		<!--<div id="cooking">
229			
229<script>
230			  for (var i = 0; i < 5; i++) {
231				var bubble = document.createElement('div');
232				bubble.classList.add('bubble');
233				document.getElementById('cooking').appendChild(bubble);
234			  }
235			</script>
235
236
237			<div id="area">
238			  <div id="sides">
239				<div id="pan">
240				  <!-- Aqui pode ir o conteúdo relacionado à frigideira --
241				</div>
242				<div id="handle">
243				  <!-- Aqui pode ir o conteúdo relacionado ao cabo --
244				</div>
245			  </div>
246
247			  <div id="pancake">
248				<div id="pastry">
249				  <!-- Aqui pode ir o conteúdo relacionado ao pastel --
250				</div>
251			  </div>
252			</div>
253		</div>-->
254	</div>
255</div>
256
257<style>
258.loader {
259    width: 60px;
260    aspect-ratio: 2;
261    background: no-repeat radial-gradient(circle closest-side, #d12421 90%, transparent) 0% 50%, no-repeat radial-gradient(circle closest-side, #d124218f 90%, transparent) 50% 50%, no-repeat radial-gradient(circle closest-side, #d12421 90%, transparent) 100% 50%;
262    background-size: calc(100% / 3) 50%;
263    animation: l3 1s infinite linear;
264}
265
266@keyframes l3 {
267  20% {
268    background-position: 0% 0%, 50% 50%, 100% 50%;
269  }
270  40% {
271    background-position: 0% 100%, 50% 0%, 100% 50%;
272  }
273  60% {
274    background-position: 0% 50%, 50% 100%, 100% 0%;
275  }
276  80% {
277    background-position: 0% 50%, 50% 50%, 100% 100%;
278  }
279}
280
281#cooking {
282  position: relative;
283  margin: 0 auto;
284  top: 0;
285  width: 400px;
286  height: 400px;
287  overflow: hidden;
288}
289
290#cooking .bubble {
291  position: absolute;
292  border-radius: 100%;
293  box-shadow: 0 0 .25vh rgba(51, 51, 51, 0.1);
294  opacity: 0;
295}
296
297#cooking .bubble:nth-child(1) {
298  margin-top: 2.5vh;
299  left: 58%;
300  width: 2.5vh;
301  height: 2.5vh;
302  background-color: rgba(51, 51, 51, 0.1);
303  animation: bubble 2s cubic-bezier(.53, .16, .39, .96) infinite;
304}
305
306#cooking .bubble:nth-child(2) {
307  margin-top: 3vh;
308  left: 52%;
309  width: 2vh;
310  height: 2vh;
311  background-color: rgba(51, 51, 51, 0.2);
312  animation: bubble 2s ease-in-out .35s infinite;
313}
314
315#cooking .bubble:nth-child(3) {
316  margin-top: 1.8vh;
317  left: 50%;
318  width: 1.5vh;
319  height: 1.5vh;
320  background-color: #333;
321  animation: bubble 1.5s cubic-bezier(.53, .16, .39, .96) .55s infinite;
322}
323
324#cooking .bubble:nth-child(4) {
325  margin-top: 2.7vh;
326  left: 56%;
327  width: 1.2vh;
328  height: 1.2vh;
329  background-color: rgba(51, 51, 51, 0.3);
330  animation: bubble 1.8s cubic-bezier(.53, .16, .39, .96) .9s infinite;
331}
332
333#cooking .bubble:nth-child(5) {
334  margin-top: 2.7vh;
335  left: 63%;
336  width: 1.1vh;
337  height: 1.1vh;
338  background-color: rgba(51, 51, 51, 0.4);
339  animation: bubble 1.6s ease-in-out 1s infinite;
340}
341
342#area {
343  position: absolute;
344  bottom: 0;
345  right: 0;
346  width: 50%;
347  height: 50%;
348  background-color: transparent;
349  transform-origin: 15% 60%;
350  animation: flip 2.1s ease-in-out infinite;
351}
352
353#area #sides {
354  position: absolute;
355  width: 100%;
356  height: 100%;
357  transform-origin: 15% 60%;
358  animation: switchSide 2.1s ease-in-out infinite;
359}
360
361#area #sides #handle {
362  position: absolute;
363  bottom: 18%;
364  right: 80%;
365  width: 35%;
366  height: 20%;
367  background-color: transparent;
368  border-top: 1vh solid #333;
369  border-left: 1vh solid transparent;
370  border-radius: 100%;
371  transform: rotate(20deg) rotateX(0deg) scale(1.3, .9);
372}
373
374#area #sides #pan {
375  position: absolute;
376  bottom: 20%;
377  right: 30%;
378  width: 50%;
379  height: 8%;
380  background-color: #333;
381  border-radius: 0 0 1.4em 1.4em;
382  transform-origin: -15% 0;
383}
384
385#pancake {
386  position: absolute;
387  top: 24%;
388  width: 100%;
389  height: 100%;
390  transform: rotateX(85deg);
391  animation: jump 2.1s ease-in-out infinite;
392}
393
394#pancake #pastry {
395  position: absolute;
396  bottom: 26%;
397  right: 37%;
398  width: 40%;
399  height: 45%;
400  background-color: #333;
401  box-shadow: 0 0 3px 0 #333;
402  border-radius: 100%;
403  transform-origin: -20% 0;
404  animation: fly 2.1s ease-in-out infinite;
405}
406
407@keyframes jump {
408  0% {
409    top: 24%;
410    transform: rotateX(85deg);
411  }
412  25% {
413    top: 10%;
414    transform: rotateX(0deg);
415  }
416  50% {
417    top: 30%;
418    transform: rotateX(85deg);
419  }
420  75% {
421    transform: rotateX(0deg);
422  }
423  100% {
424    transform: rotateX(85deg);
425  }
426}
427
428@keyframes flip {
429  0% {
430    transform: rotate(0deg);
431  }
432  5% {
433    transform: rotate(-27deg);
434  }
435  30%, 50% {
436    transform: rotate(0deg);
437  }
438  55% {
439    transform: rotate(27deg);
440  }
441  83.3% {
442    transform: rotate(0deg);
443  }
444  100% {
445    transform: rotate(0deg);
446  }
447}
448
449@keyframes switchSide {
450  0% {
451    transform: rotateY(0deg);
452  }
453  50% {
454    transform: rotateY(180deg);
455  }
456  100% {
457    transform: rotateY(0deg);
458  }
459}
460
461@keyframes fly {
462  0% {
463    bottom: 26%;
464    transform: rotate(0deg);
465  }
466  10% {
467    bottom: 40%;
468  }
469  50% {
470    bottom: 26%;
471    transform: rotate(-190deg);
472  }
473  80% {
474    bottom: 40%;
475  }
476  100% {
477    bottom: 26%;
478    transform: rotate(0deg);
479  }
480}
481
482@keyframes bubble {
483  0% {
484    transform: scale(.15, .15);
485    top: 80%;
486    opacity: 0;
487  }
488  50% {
489    transform: scale(1.1, 1.1);
490    opacity: 1;
491  }
492  100% {
493    transform: scale(.33, .33);
494    top: 60%;
495    opacity: 0;
496  }
497}
498
499@keyframes pulse {
500  0% {
501    transform: scale(1, 1);
502    opacity: .25;
503  }
504  50% {
505    transform: scale(1.2, 1);
506    opacity: 1;
507  }
508  100% {
509    transform: scale(1, 1);
510    opacity: .25;
511  }
512}
513</style>
514
515
516<!--  Begin scroll container -->
517 
518<!--  Begin scroll container -->
519<div id="smooth-wrapper">
520	<div id="smooth-content" class="x-hidden">
521	<main>
522		<!-- Hero Section Start -->
523		<section style="background: url('alterada_cor_leve.jpg'); background-size: cover;" class="hero-banner-1" id="hero">
524
525			
526<header id="ui-header">
527	<div class="ui-header-inner container-fluid"> 
528
529		<div class="ui-header-col">
530			<!-- header Logo  -->
531			<div class="ui-logo"> 
532				<a href="/">
533					<img src="/assets/media/logo.png" class="ui-logo-light" alt="Logo"> <!-- logo light -->
534					<img src="/assets/media/logo.png" class="ui-logo-dark" alt="Logo"> <!-- logo dark -->
535				</a>
536			</div>
537		</div>
538
539		<div class="ui-header-col">
540			<!-- Begin overlay menu toggle button -->
541			<div id="ui-ol-menu-toggle-btn-wrap">
542				<div class="ui-ol-menu-toggle-btn-text">
543					<span class="text-menu" data-hover="Open">Menu</span>
544					<span class="text-close">Fechar</span>
545				</div>
546				<div class="ui-ol-menu-toggle-btn-holder">
547					<a href="#" class="ui-ol-menu-toggle-btn"><span></span></a>
548				</div>
549			</div>
550			<!-- End overlay menu toggle button -->
551
552			<!-- Begin overlay menu -->
553			<nav style="padding-top: 150px;" class="ui-overlay-menu">
554				<div class="ui-ol-menu-holder">
555					<div class="ui-ol-menu-inner ui-wrap">
556						<div class="">
557							<div class="container-fluid">
558								<div class="ui-ol-menu-content">
559									<div class="col-xxl-3 col-xl-3 col-lg-4 d-xl-block d-none">
560										<div class="ui-menu-img-block">
561											
562										</div>
563									</div>
564									<div class="col-xxl-6 col-xl-5 col-md-6 ui-menu-nav">
565										<!-- Begin menu list -->
566										<ul style="padding-top:50px;" class="ui-ol-menu-list">
567
568											<li>
569												<a href="/">Home</a> 
570											</li>
571
572											<li><a href="/sobre-nos">Sobre Nós</a></li>
573											
574											<!-- Begin submenu (submenu master) -->
575											<li class="ui-ol-submenu-wrap">
576												<div class="ui-ol-submenu-trigger">
577													<a href="#">Restaurantes/Produtos</a>
578													<div class="ui-ol-submenu-caret-wrap">
579														<div class="ui-ol-submenu-caret"></div>
580													</div> 
581												</div>
582												<div class="ui-ol-submenu">
583													<ul class="ui-ol-submenu-list">
584														<li><a href="/produtos.php?filter=1">Churrasqueira da Quinta</a></li>
585														<li><a href="/produtos.php?filter=2">Hamburgueria d'Aldeia</a></li>
586														<li><a href="/produtos.php?filter=3">Vinho ao Balcão</a></li>
587														<li><a href="/produtos.php?filter=4">Leitão Beirão</a></li>
588														<li><a href="/produtos.php?filter=5">A Padaria Beiroa</a></li>
589													</ul>
590												</div> 
591											</li>
592											<li><a href="/novidades">Novidades</a></li>
593											<!-- End submenu (sub-master) -->
594											<li><a href="/contactos">Contactos</a></li>
595										</ul>
596										<!-- End menu list -->
597									</div>
598									<div class="col-xxl-3 col-xl-3 col-md-6 d-md-block d-none funcionamento">
599										<div class="company-info">
600											<div class="mb-32">
601												<h6 class="color-primary mb-8">Horário de funcionamento</h6>
602												<p class="lead dark-gray">
603													Das 
604													<span class="circle_important">12:00</span> 
605													às 
606													<span class="circle_important">14:30</span> 
607													e Das 
608													<span class="circle_important">18:00</span> 
609													às 
610													<span class="circle_important">22:00</span>
611												</p>
612											</div>
613											<div class="mb-32">
614												<h6 class="mb-8">Contactos</h6>
615												<p class="lead dark-gray"><span><a href="tel: +351924760200"> (+351) 924 760 200 </a></p>
616												<p class="lead dark-gray mb-16" style="font-size: 12px !important;">Chamada para rede móvel nacional</p>
617												<a class="lead dark-gray mb-16" href="mailto:[email protected]">[email protected]</a>
618											</div>
619											<ul style="padding-bottom: 50px;" class="social-icons-list unstyled">
620												<li><a target="_blank" href="https://www.facebook.com/comidaemcasacb"><img src="assets/media/icons/Facebook.svg" alt=""></a></li>
621												<li><a target="_blank" href="https://www.instagram.com/comida.emcasa?igsh=MTY0a2JrMHJ3YW13Ng== "><img src="assets/media/icons/Instagram.svg" alt=""></a></li>
622											</ul>
623										</div>
624									</div>
625								</div>
626							</div>
627						</div> 
628					</div> 
629				</div> 
630
631			</nav> 
632			<!-- End overlay menu -->
633
634			<!-- Being header tools -->
635			<div class="ui-header-tools">
636					
637					<a href="/login.php" class="ui-header-tools-item">
638						<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
639							<path d="M11.9999 13.4299C13.723 13.4299 15.1199 12.0331 15.1199 10.3099C15.1199 8.58681 13.723 7.18994 11.9999 7.18994C10.2768 7.18994 8.87988 8.58681 8.87988 10.3099C8.87988 12.0331 10.2768 13.4299 11.9999 13.4299Z" stroke="black" stroke-width="1.5"/>
640							<path d="M3.61971 8.49C5.58971 -0.169998 18.4197 -0.159997 20.3797 8.5C21.5297 13.58 18.3697 17.88 15.5997 20.54C13.5897 22.48 10.4097 22.48 8.38971 20.54C5.62971 17.88 2.46971 13.57 3.61971 8.49Z" stroke="black" stroke-width="1.5"/>
641						</svg>
642					</a>
643					
644									<a href="/login.php" class="ui-header-tools-item">
645						<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
646							<path d="M12.1596 10.87C12.0596 10.86 11.9396 10.86 11.8296 10.87C9.44957 10.79 7.55957 8.84 7.55957 6.44C7.55957 3.99 9.53957 2 11.9996 2C14.4496 2 16.4396 3.99 16.4396 6.44C16.4296 8.84 14.5396 10.79 12.1596 10.87Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
647							<path d="M7.15973 14.56C4.73973 16.18 4.73973 18.82 7.15973 20.43C9.90973 22.27 14.4197 22.27 17.1697 20.43C19.5897 18.81 19.5897 16.17 17.1697 14.56C14.4297 12.73 9.91973 12.73 7.15973 14.56Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
648						</svg>
649					</a>
650				
651				 
652						<a href="javascript:;" class="ui-header-tools-item cart-button carrinho_btn">
653							<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
654								<path d="M6.80371 7.95272V6.9342C6.80371 4.57166 8.74292 2.25111 11.1535 2.03061C14.0249 1.7576 16.4462 3.97314 16.4462 6.7347V8.18373" stroke="black" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
655								<path d="M8.41035 22.9991H14.8387C19.1456 22.9991 19.917 21.3086 20.142 19.2505L20.9456 12.9504C21.2348 10.3884 20.4849 8.29883 15.9101 8.29883H7.33897C2.76415 8.29883 2.01418 10.3884 2.30345 12.9504L3.10699 19.2505C3.33198 21.3086 4.10338 22.9991 8.41035 22.9991Z" stroke="black" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
656								<path d="M15.3697 12.4996H15.3793" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
657								<path d="M7.86868 12.4996H7.8783" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
658							</svg>
659								
660
661							<div style="display: none;" class="bola-items"></div>	
662						</a>
663								</div>
664			<!-- End header tools -->
665		</div> 
666	</div> 
667</header>
668
669
670			<div class="content sticky-element-container">
671    			<div class="placeholder-sticky"></div> <!-- Placeholder -->
672				<div data-aos="zoom-in" class="text-block sticky-element">
673					<p style="padding-left: 20px; font-size: 22px; font-weight: 700;" class="eyebrow ">— Castelo Branco</p>
674					<div style="padding-left: 20px" class="title-block">
675						<h1 class="banner-title mb-16">Tudo numa <br> entrega!</h1>
676						<img src="./assets/media/vector/text-effect-vermelho.png" class="text-effect" alt="imagem">
677						
678						<a style="margin-top:50px;" data-aos-delay="300" data-aos="zoom-in" href="/produtos.php?filter=1" class="cus-btn dark d-sm-flex">
679							Ver produtos
680						</a>
681					</div>
682				</div>
683			</div>
684
685		</section>
686
687		<!-- Start Page Content -->
688		<div style="margin: 0" class="page-content">  
689			<section class="py-80">
690				<div class="container">
691					<div class="d-flex justify-content-between align-items-sm-center align-items-end mb-48">
692						<div class="heading">
693							<!--<p class="eyebrow ">— restaurantes</p>-->
694							<h3 class="title">Os Nossos <span class="h3">Restaurantes</span></h3>
695						</div>
696					</div>
697					<!-- Products List -->
698					<div style="gap: 20px; width: 100%; display: flex; flex-wrap: wrap; justify-content: center;" class="d-flex">
699						<div style="width: 18.5%; min-width: 150px;" data-aos="zoom-in">
700							<a class="restaurantes" style="border-radius: 15px; box-shadow: 0px 4px 8px 0px rgba(151, 151, 151, 0.25); background: white;" href="/produtos.php?filter=1">
701								<img style="border-radius: 20px;" alt="marcas" src="/assets/media/brands/6.png">
702							</a>
703						</div>
704						
705						<div style="width: 18.5%; min-width: 150px;" data-aos-delay="100" data-aos="zoom-in" ata-aos="zoom-in">
706							<a class="restaurantes" style="border-radius: 15px; box-shadow: 0px 4px 8px 0px rgba(151, 151, 151, 0.25); background: white;" href="/produtos.php?filter=2">
707								<img style="border-radius: 20px;" alt="marcas" src="/assets/media/brands/4.png">
708							</a>
709						</div>
710						
711						<div style="width: 18.5%; min-width: 150px;" ata-aos-delay="200"  data-aos="zoom-in">
712							<a class="restaurantes" style="border-radius: 15px; box-shadow: 0px 4px 8px 0px rgba(151, 151, 151, 0.25); background: white;" href="/produtos.php?filter=3">
713								<img style="border-radius: 20px;" alt="marcas" src="/assets/media/brands/2.png">
714							</a>
715						</div>
716						
717						<div style="width: 18.5%; min-width: 150px;" data-aos-delay="300"data-aos="zoom-in">
718							<a class="restaurantes" style="border-radius: 15px; box-shadow: 0px 4px 8px 0px rgba(151, 151, 151, 0.25); background: white;" href="/produtos.php?filter=4">
719								<img style="border-radius: 20px;" alt="marcas" src="/assets/media/brands/3.png">
720							</a>
721						</div>
722						
723						<div style="width: 18.5%; min-width: 150px;" data-aos-delay="400" data-aos="zoom-in">
724							<a class="restaurantes" style="border-radius: 15px; box-shadow: 0px 4px 8px 0px rgba(151, 151, 151, 0.25); background: white;" href="/produtos.php?filter=5">
725								<img style="border-radius: 20px;" alt="marcas" src="/assets/media/brands/1.png">
726							</a>
727						</div>
728					</div>
729				</div>
730			</section>
731			<!-- Delicious Categories Section End -->  
732
733			<!-- Popular Items Section Start -->    
734			<section class="py-64">
735				<div class="container">
736					<div class="d-flex justify-content-between align-items-sm-center align-items-end mb-48">
737						<div class="heading">
738							<!--<p class="eyebrow ">— produtos</p>-->
739							<h3 class="title">Os Nossos <span class="h3">Destaques</span></h3>
740						</div>
741					</div>
742					<!-- Products List -->
743					<div class="row">
744															
745										<div data-aos-delay="100" data-aos="zoom-in" class="col-xl-3 col-lg-4 col-sm-6 col-6 mb-32 mb-lg-0">
746											<div style="margin-bottom: 30px;">
747												<div class="product-img">
748													<a style="width: 100%;" href="/detalhe-produto/800201/ha-pyo-beef-original">
749														<img class="img-prod" 
750														onerror="this.onerror=null;this.src='/imagem-indisponivel.jpg';" 
751														src="https://cdn1.zonesoft.org/repo/images/2733844784dbed2562a74e33f03010c1/produtos/18a5a211ac78d176f8440d9880c65a24.jpeg"  alt="produto">
752													</a>	
753													
754														
755												</div> 
756												
757																									<p>
758														<a href="/produtos.php?filter=2"><span class="titulo_produto">Hamburgueria D'Aldeia</span></a>
759													</p>
760													
761												
762												<p style="margin-bottom:5px;">
763													<a href="/detalhe-produto/800201/ha-pyo-beef-original"
764													class="h5 title" style="font-size: 22px; color: #282525;">
765														HA Pão Beef Original													</a>
766												</p>
767												<div class="action-block">
768													<div style="display: flex; justify-content: space-between;" class="price-cart">
769														<h5 style="color: #6d6d6d;font-weight: 400;font-size: 20px;">
770															€6.35														</h5>
771														
772																													<a data-bs-toggle="modal" href="#" class="cart-btn cart-button abre_modal" 
773																data-id="800201" 
774																data-bs-target="#meuModal_comp">
775																<i class="fa-solid fa-plus"></i>
776															</a>
777																											</div>
778												</div>
779											</div>
780										</div>
781																		
782										<div data-aos-delay="200" data-aos="zoom-in" class="col-xl-3 col-lg-4 col-sm-6 col-6 mb-32 mb-lg-0">
783											<div style="margin-bottom: 30px;">
784												<div class="product-img">
785													<a style="width: 100%;" href="/detalhe-produto/800187/dourada-escalada">
786														<img class="img-prod" 
787														onerror="this.onerror=null;this.src='/imagem-indisponivel.jpg';" 
788														src="https://cdn1.zonesoft.org/repo/images/2733844784dbed2562a74e33f03010c1/produtos/e5ffc12ff07fcee12f6abb851cb4d91a.jpeg"  alt="produto">
789													</a>	
790													
791														
792												</div> 
793												
794																									<p>
795														<a href="/produtos.php?filter=1"><span class="titulo_produto">Churrasqueira da Quinta</span></a>
796													</p>
797													
798												
799												<p style="margin-bottom:5px;">
800													<a href="/detalhe-produto/800187/dourada-escalada"
801													class="h5 title" style="font-size: 22px; color: #282525;">
802														Dourada Escalada													</a>
803												</p>
804												<div class="action-block">
805													<div style="display: flex; justify-content: space-between;" class="price-cart">
806														<h5 style="color: #6d6d6d;font-weight: 400;font-size: 20px;">
807															€8.50														</h5>
808														
809																													<a data-bs-toggle="modal" href="#" class="cart-btn cart-button abre_modal" 
810																data-id="800187" 
811																data-bs-target="#meuModal_comp">
812																<i class="fa-solid fa-plus"></i>
813															</a>
814																											</div>
815												</div>
816											</div>
817										</div>
818																		
819										<div data-aos-delay="300" data-aos="zoom-in" class="col-xl-3 col-lg-4 col-sm-6 col-6 mb-32 mb-lg-0">
820											<div style="margin-bottom: 30px;">
821												<div class="product-img">
822													<a style="width: 100%;" href="/detalhe-produto/792/mateus-rosy">
823														<img class="img-prod" 
824														onerror="this.onerror=null;this.src='/imagem-indisponivel.jpg';" 
825														src="https://cdn1.zonesoft.org/repo/images/2733844784dbed2562a74e33f03010c1/produtos/20654f38a96373d6918c248296be21c0.png"  alt="produto">
826													</a>	
827													
828														
829												</div> 
830												
831																									<p>
832														<a href="/produtos.php?filter=3"><span class="titulo_produto">Vinho ao Balcão</span></a>
833													</p>
834													
835												
836												<p style="margin-bottom:5px;">
837													<a href="/detalhe-produto/792/mateus-rosy"
838													class="h5 title" style="font-size: 22px; color: #282525;">
839														Mateus Rosé													</a>
840												</p>
841												<div class="action-block">
842													<div style="display: flex; justify-content: space-between;" class="price-cart">
843														<h5 style="color: #6d6d6d;font-weight: 400;font-size: 20px;">
844															€4.80														</h5>
845														
846															
847															<a 
848																data-id="792" 
849																data-image="https://cdn1.zonesoft.org/repo/images/2733844784dbed2562a74e33f03010c1/produtos/20654f38a96373d6918c248296be21c0.png" 
850																data-preco="4.80" 
851																data-nome="Mateus Rosé" 
852																data-slug="mateus-rosy" 
853																data-familia="Vinho ao Balcão" 
854																href="" class="add_btn cart-btn cart-button">
855																<i class="fa-solid fa-plus"></i>
856															</a>
857																											</div>
858												</div>
859											</div>
860										</div>
861																		
862										<div data-aos-delay="400" data-aos="zoom-in" class="col-xl-3 
862col-lg-4 col-sm-6 col-6 mb-32 mb-lg-0">
863											<div style="margin-bottom: 30px;">
864												<div class="product-img">
865													<a style="width: 100%;" href="/detalhe-produto/774/joi-laranja-15l">
866														<img class="img-prod" 
867														onerror="this.onerror=null;this.src='/imagem-indisponivel.jpg';" 
868														src="https://cdn1.zonesoft.org/repo/images/2733844784dbed2562a74e33f03010c1/produtos/f7248be8391acf46bdcf9cef4a0a46a9.jpeg"  alt="produto">
869													</a>	
870													
871														
872												</div> 
873												
874																									<p>
875														<a href="/produtos.php?filter=3"><span class="titulo_produto">Vinho ao Balcão</span></a>
876													</p>
877													
878												
879												<p style="margin-bottom:5px;">
880													<a href="/detalhe-produto/774/joi-laranja-15l"
881													class="h5 title" style="font-size: 22px; color: #282525;">
882														Joi Laranja 1,5L													</a>
883												</p>
884												<div class="action-block">
885													<div style="display: flex; justify-content: space-between;" class="price-cart">
886														<h5 style="color: #6d6d6d;font-weight: 400;font-size: 20px;">
887															€2.35														</h5>
888														
889															
890															<a 
891																data-id="774" 
892																data-image="https://cdn1.zonesoft.org/repo/images/2733844784dbed2562a74e33f03010c1/produtos/f7248be8391acf46bdcf9cef4a0a46a9.jpeg" 
893																data-preco="2.35" 
894																data-nome="Joi Laranja 1,5L" 
895																data-slug="joi-laranja-15l" 
896																data-familia="Vinho ao Balcão" 
897																href="" class="add_btn cart-btn cart-button">
898																<i class="fa-solid fa-plus"></i>
899															</a>
900																											</div>
901												</div>
902											</div>
903										</div>
904																		
905										<div data-aos-delay="500" data-aos="zoom-in" class="col-xl-3 col-lg-4 col-sm-6 col-6 mb-32 mb-lg-0">
906											<div style="margin-bottom: 30px;">
907												<div class="product-img">
908													<a style="width: 100%;" href="/detalhe-produto/800215/encostas-do-guadiana-rosy">
909														<img class="img-prod" 
910														onerror="this.onerror=null;this.src='/imagem-indisponivel.jpg';" 
911														src="https://cdn1.zonesoft.org/repo/images/2733844784dbed2562a74e33f03010c1/produtos/fb9cc9f561471cd19c52777a05b8a15a.jpeg"  alt="produto">
912													</a>	
913													
914														
915												</div> 
916												
917																									<p>
918														<a href="/produtos.php?filter=3"><span class="titulo_produto">Vinho ao Balcão</span></a>
919													</p>
920													
921												
922												<p style="margin-bottom:5px;">
923													<a href="/detalhe-produto/800215/encostas-do-guadiana-rosy"
924													class="h5 title" style="font-size: 22px; color: #282525;">
925														Encostas do Guadiana Rosé													</a>
926												</p>
927												<div class="action-block">
928													<div style="display: flex; justify-content: space-between;" class="price-cart">
929														<h5 style="color: #6d6d6d;font-weight: 400;font-size: 20px;">
930															€4.50														</h5>
931														
932															
933															<a 
934																data-id="800215" 
935																data-image="https://cdn1.zonesoft.org/repo/images/2733844784dbed2562a74e33f03010c1/produtos/fb9cc9f561471cd19c52777a05b8a15a.jpeg" 
936																data-preco="4.50" 
937																data-nome="Encostas do Guadiana Rosé" 
938																data-slug="encostas-do-guadiana-rosy" 
939																data-familia="Vinho ao Balcão" 
940																href="" class="add_btn cart-btn cart-button">
941																<i class="fa-solid fa-plus"></i>
942															</a>
943																											</div>
944												</div>
945											</div>
946										</div>
947																		
948										<div data-aos-delay="600" data-aos="zoom-in" class="col-xl-3 col-lg-4 col-sm-6 col-6 mb-32 mb-lg-0">
949											<div style="margin-bottom: 30px;">
950												<div class="product-img">
951													<a style="width: 100%;" href="/detalhe-produto/800212/encostas-do-guadiana-branco">
952														<img class="img-prod" 
953														onerror="this.onerror=null;this.src='/imagem-indisponivel.jpg';" 
954														src="https://cdn1.zonesoft.org/repo/images/2733844784dbed2562a74e33f03010c1/produtos/1f8db7b5ee2ffd919bc9d184a7e75a85.jpeg"  alt="produto">
955													</a>	
956													
957														
958												</div> 
959												
960																									<p>
961														<a href="/produtos.php?filter=3"><span class="titulo_produto">Vinho ao Balcão</span></a>
962													</p>
963													
964												
965												<p style="margin-bottom:5px;">
966													<a href="/detalhe-produto/800212/encostas-do-guadiana-branco"
967													class="h5 title" style="font-size: 22px; color: #282525;">
968														Encostas do Guadiana Branco													</a>
969												</p>
970												<div class="action-block">
971													<div style="display: flex; justify-content: space-between;" class="price-cart">
972														<h5 style="color: #6d6d6d;font-weight: 400;font-size: 20px;">
973															€4.50														</h5>
974														
975															
976															<a 
977																data-id="800212" 
978																data-image="https://cdn1.zonesoft.org/repo/images/2733844784dbed2562a74e33f03010c1/produtos/1f8db7b5ee2ffd919bc9d184a7e75a85.jpeg" 
979																data-preco="4.50" 
980																data-nome="Encostas do Guadiana Branco" 
981																data-slug="encostas-do-guadiana-branco" 
982																data-familia="Vinho ao Balcão" 
983																href="" class="add_btn cart-btn cart-button">
984																<i class="fa-solid fa-plus"></i>
985															</a>
986																											</div>
987												</div>
988											</div>
989										</div>
990																	
991								<center>
992									<a style="margin-top:30px;" data-aos-delay="300" data-aos="zoom-in" href="all_destaques.php" class="cus-btn dark d-sm-flex">
993										Ver Todos
994									</a>
995								</center>	
996												</div>
997				</div>
998			</section>
999			
1000			
1001				<!-- End Page Content -->
1002				<div 
1003					style="padding-bottom: 50px; 
1004					padding-top: 60px; background: #d12421;
1005					background: url(/assets/media/retangulo-site.png) !important; 
1006					background-size: cover !important;" 
1007					class="brands banners_home">
1008					
1009					<div class="container-fluid">
1010						<div class="row">
1011							<div style="margin-bottom: 20px;" class="col-12 col-sm-4 col-md-4">
1012								<img class="banners2 restaurantes" 
1013									 data-aos-delay="100" 
1014									 data-aos="zoom-in" 
1015									 src="/backoffice/ficheiros/banners/67a35820e01c4.png" 
1016									 alt="imagem">
1017							</div>
1018							<div style="margin-bottom: 20px;" class="col-12 col-sm-4 col-md-4">
1019								<img class="banners2 restaurantes" 
1020									 data-aos-delay="200" 
1021									 data-aos="zoom-in" 
1022									 src="/backoffice/ficheiros/banners/6a43c1d54d571.jpeg" 
1023									 alt="imagem">
1024							</div>
1025							<div class="col-12 col-sm-4 col-md-4">
1026								<img class="banners2 restaurantes" 
1027									 data-aos-delay="300" 
1028									 data-aos="zoom-in" 
1029									 src="/backoffice/ficheiros/banners/67a3763a52c34.png" 
1030									 alt="imagem">
1031							</div>
1032						</div>
1033					</div>
1034				</div>
1035			
1036			<section style="padding-top: 0; padding-bottom: 0;" class="py-64 banner_home">
1037				<div class="container">
1038					<div class="row" data-v-e7bf20b2="">
1039						<div style="justify-content: center; display: flex; align-items: center; text-align: center; padding-top: 20px;" class="col-md-6" data-v-e7bf20b2="">
1040							<div class="download-app__inside-container" data-v-e7bf20b2="">
1041								<img alt="app" role="presentation" width="105" height="122" class="download-app__icon" src="/assets/icon-telemovel.svg" lazy="loaded">
1042								
1043								<h2 class="heading-h2 download-app__title heading-h2--bigger" data-v-68f10053="" data-v-e7bf20b2="" style="margin-bottom: 10px; font-size: 36px; margin-top: 23px;">
1044									Descarregar a app
1045								</h2>
1046								
1047								<div class="download-app__subtitle" data-v-e7bf20b2="" style="font-size: 18px;padding-left: 60px;padding-right: 60px;margin-bottom: 40px;margin-top: 30px;">
1048									Obtém uma melhor experiência e acompanhamento enquanto fazes a tua encomenda na app da Comida em Casa.
1049								</div>
1050								
1051								<div class="download-app__actions" data-v-e7bf20b2="">
1052									<a data-test-id="app-store-link" target="_blank" rel="noopener" href="https://apps.apple.com/pt/app/comida-em-casa/id6742107996?l=pt-PT" data-v-e7bf20b2="">
1053										<img alt="app store" width="120" height="40" data-v-e7bf20b2="" src="/assets/media/app-store-button.svg" lazy="loaded">
1054									</a>
1055									
1056									<a data-test-id="google-play-link" target="_blank" rel="noopener" href="https://play.google.com/store/apps/details?id=com.albinet.comida_casa">
1057										<img alt="play store" width="134" height="40" src="/assets/media/google-play-button.svg" lazy="loaded">
1058									</a>
1059									<!--<p style="margin-bottom: 10px;">Brevemente disponível</p>
1060									<a data-test-id="app-store-link" rel="noopener" href="#" data-v-e7bf20b2="">
1061										<img width="120" height="40" data-v-e7bf20b2="" src="/assets/media/app-store-button.svg" lazy="loaded">
1062									</a>
1063									
1064									<a data-test-id="google-play-link" rel="noopener" href="#">
1065										<img width="134" height="40" src="/assets/media/google-play-button.svg" lazy="loaded">
1066									</a>-->
1067								</div>
1068							</div>
1069						</div>
1070						
1071						<div class="col-md-6" data-v-e7bf20b2="">
1072							<picture>
1073								<img alt="imagem" src="/assets/media/BANNER-DOWNLOAD3.jpg" role="presentation" width="670" height="739" loading="lazy" class="download-app-image__image">
1074							</picture>
1075						</div>
1076					</div>
1077				</div>
1078			</section>
1079		
1080			<!-- Testimonials Start -->    
1081			<section style="padding-bottom: 0;" class="py-64 testimonials_1">
1082				<div class="">
1083					<div class="row align-items-center">
1084						<div class="col-xl-6">
1085							<div class="testimonial-heading-block">
1086								<div data-aos="zoom-out-right" data-aos-duration="800">
1087									<p class="eyebrow color-white">— Testemunhos</p>
1088									<h3 style="font-size: 42px;" class="color-white mb-16">O que os nossos<br> clientes dizem</h3>
1089								</div>
1090							</div>
1091						</div>
1092						<div class="col-xl-6">
1093							<div data-aos-delay="200" data-aos-duration="400" data-aos="zoom-in" class="testimonial-block">
1094								<img src="assets/media/vector/quote-shape.png" alt="testemunhos" class="quote-shape">
1095								<div class="testimonial-slider-card testimonial-slider-slick">
1096
1097																														<div class="testimonial-1">
1098												<!--<div>
1099													<img src="assets/media/testimonials/t_1.png" alt="">
1100												</div>-->
1101												<div class="text-block">
1102													<p class="lead mb-24">
1103														"Agradável! Boa qualidade. O preço adequado. Não esperava que fosse de outra maneira. Gostei das novida
1103des."
1104													</p>
1105													<h6>
1106														<span class="me-1">
1107															José Pereira														</span>
1108														<span class="dark-gray">
1109															| Cliente
1110														</span>
1111													</h6>
1112												</div>
1113											</div>
1114																					<div class="testimonial-1">
1115												<!--<div>
1116													<img src="assets/media/testimonials/t_1.png" alt="">
1117												</div>-->
1118												<div class="text-block">
1119													<p class="lead mb-24">
1120														"Um local sensacional. Foi tudo remodelado para um espaço muito agradável, comida saborosa e confecionada na hora. Recomendo vivamente"
1121													</p>
1122													<h6>
1123														<span class="me-1">
1124															Yourchoice_global														</span>
1125														<span class="dark-gray">
1126															| Cliente
1127														</span>
1128													</h6>
1129												</div>
1130											</div>
1131																					<div class="testimonial-1">
1132												<!--<div>
1133													<img src="assets/media/testimonials/t_1.png" alt="">
1134												</div>-->
1135												<div class="text-block">
1136													<p class="lead mb-24">
1137														"Obrigado pela encomenda! Acabei de receber e estava muito bom, foram rápidos e muito simpáticos, vou recomendar!"
1138													</p>
1139													<h6>
1140														<span class="me-1">
1141															Joana Ferreira														</span>
1142														<span class="dark-gray">
1143															| Cliente
1144														</span>
1145													</h6>
1146												</div>
1147											</div>
1148																			
1149								</div>
1150							</div>
1151						</div>
1152					</div>
1153				</div>
1154			</section>
1155			<!-- Testimonials End -->
1156			
1157			<div style="padding-bottom: 0; padding-top:0px;" class="brands py-80">
1158				<div class="container">
1159					<div style="padding-bottom: 0; padding-top: 60px;" class="py-40 brands-slider-slick">
1160						<div class="brand-item">
1161							<a href="/produtos.php?filter=1"><img alt="marcas" src="assets/media/brands/6.png"></a>
1162						</div>
1163						<div class="brand-item">
1164							<a href="/produtos.php?filter=2"><img alt="marcas" src="assets/media/brands/4.png"></a>
1165						</div>
1166						<div class="brand-item">
1167							<a href="/produtos.php?filter=3"><img alt="marcas" src="assets/media/brands/3.png"></a>
1168						</div>
1169						<div class="brand-item">
1170							<a href="/produtos.php?filter=4"><img alt="marcas" src="assets/media/brands/2.png"></a>
1171						</div>
1172						<div class="brand-item">
1173							<a href="/produtos.php?filter=5"><img alt="marcas" src="assets/media/brands/1.png"></a>
1174						</div>
1175						
1176						<div class="brand-item">
1177							<a href="/produtos.php?filter=1"><img alt="marcas" src="assets/media/brands/6.png"></a>
1178						</div>
1179						<div class="brand-item">
1180							<a href="/produtos.php?filter=2"><img alt="marcas" src="assets/media/brands/4.png"></a>
1181						</div>
1182						<div class="brand-item">
1183							<a href="/produtos.php?filter=3"><img alt="marcas" src="assets/media/brands/3.png"></a>
1184						</div>
1185						<div class="brand-item">
1186							<a href="/produtos.php?filter=4"><img alt="marcas" src="assets/media/brands/2.png"></a>
1187						</div>
1188						<div class="brand-item">
1189							<a href="/produtos.php?filter=5"><img alt="marcas" src="assets/media/brands/1.png"></a>
1190						</div>
1191					</div>
1192				</div>
1193			</div>
1194			
1195			<section class="py-64">
1196				<div class="container">
1197					<div class="d-flex justify-content-between align-items-sm-center align-items-end mb-48">
1198						<div class="heading">
1199							<!--<p class="eyebrow ">— Novidades</p>-->
1200							<h3 class="title">As Nossas <span class="h3">Novidades</span></h3>
1201						</div>
1202					</div>
1203					<!-- Products List -->
1204					<div class="row">
1205												
1206						
1207								<div style="margin-bottom:20px;" class=" blog col-12 col-sm-6 col-md-4 col-xl-3">
1208									<div data-aos-delay="100" data-aos="zoom-in" style="padding: 10px;" class="item_not">
1209										<a target="_blank" href="https://www.facebook.com/1278002839911574/posts/1645624159816105" style="color: #833AB4; cursor:pointer">
1210											<span style="color: #767575; cursor:pointer">
1211												<div class="content" style="padding: 0 !important;">
1212													<div class="blog-info">
1213														<div class="title_not">
1214															<i style="font-size: 15px; float: left; margin-top: 1.4px; color: #000000;"
1215																class="fab fa-facebook-square"></i>
1216
1217															<ul style="margin-bottom: 5px;">
1218																<li style="color: #000000; font-size: 12px; padding-top: 0.4px;">
1219																	5 meses																</li>
1220															</ul>
1221														</div>
1222
1223														<div class="desc">
1224																														<img style="margin-bottom: 5px; width:100%; object-fit: cover; height: 200px;" src="/fb/fb_01790906406.jpg" class="img-fluid"
1225																alt="facebook">
1226															
1227															<div class="noticia">
1228																<p style="line-height: 18px; font-size: 16px; padding-top: 10px;" class="desc-fb">
1229																																	</p>
1230															</div>
1231
1232															<div class="bottom-notice">
1233																<div class="icons1" style="margin-left:0px; margin-top: 10px; font-size: 13px;">
1234																	<i style="font-size: 13px;" class="fa fa-thumbs-up"></i> 3																</div>
1235																<div style="margin-top: 10px; margin-left: 10px; font-size: 13px;" class="icons1">
1236																	<i style="font-size: 13px;" class="fa fa-comment"></i> 0																</div>
1237																<div style="margin-top: 10px; margin-left: 10px; font-size: 13px;" class="icons1">
1238																	<i style="font-size: 13px;" class="fa fa-share"></i> 0																</div>
1239																<p style="margin-bottom: 1rem;"> &nbsp;&nbsp;</p>
1240															</div>
1241														</div>
1242													</div>
1243												</div>
1244											</span>
1245										</a>
1246									</div>
1247								</div>
1248							
1249								<div style="margin-bottom:20px;" class=" blog col-12 col-sm-6 col-md-4 col-xl-3">
1250									<div data-aos-delay="200" data-aos="zoom-in" style="padding: 10px;" class="item_not">
1251										<a target="_blank" href="https://www.facebook.com/1278002839911574/posts/1631699904541864" style="color: #833AB4; cursor:pointer">
1252											<span style="color: #767575; cursor:pointer">
1253												<div class="content" style="padding: 0 !important;">
1254													<div class="blog-info">
1255														<div class="title_not">
1256															<i style="font-size: 15px; float: left; margin-top: 1.4px; color: #000000;"
1257																class="fab fa-facebook-square"></i>
1258
1259															<ul style="margin-bottom: 5px;">
1260																<li style="color: #000000; font-size: 12px; padding-top: 0.4px;">
1261																	6 meses																</li>
1262															</ul>
1263														</div>
1264
1265														<div class="desc">
1266																														<img style="margin-bottom: 5px; width:100%; object-fit: cover; height: 200px;" src="/fb/fb_11790906406.jpg" class="img-fluid"
1267																alt="facebook">
1268															
1269															<div class="noticia">
1270																<p style="line-height: 18px; font-size: 16px; padding-top: 10px;" class="desc-fb">
1271																	Viva o 25 de Abril!
1272
1273																</p>
1274															</div>
1275
1276															<div class="bottom-notice">
1277																<div class="icons1" style="margin-left:0px; margin-top: 10px; font-size: 13px;">
1278																	<i style="font-size: 13px;" class="fa fa-thumbs-up"></i> 0																</div>
1279																<div style="margin-top: 10px; margin-left: 10px; font-size: 13px;" class="icons1">
1280																	<i style="font-size: 13px;" class="fa fa-comment"></i> 0																</div>
1281																<div style="margin-top: 10px; margin-left: 10px; font-size: 13px;" class="icons1">
1282																	<i style="font-size: 13px;" class="fa fa-share"></i> 0																</div>
1283																<p style="margin-bottom: 1rem;"> &nbsp;&nbsp;</p>
1284															</div>
1285														</div>
1286													</div>
1287												</div>
1288											</span>
1289										</a>
1290									</div>
1291								</div>
1292							
1293								<div style="margin-bottom:20px;" class=" blog col-12 col-sm-6 col-md-4 col-xl-3">
1294									<div data-aos-delay="300" data-aos="zoom-in" style="padding: 10px;" class="item_not">
1295										<a target="_blank" href="https://www.facebook.com/1278002839911574/posts/1625452338499954" style="color: #833AB4; cursor:pointer">
1296											<span style="color: #767575; cursor:pointer">
1297												<div class="content" style="padding: 0 !important;">
1298													<div class="blog-info">
1299														<div class="title_not">
1300															<i style="font-size: 15px; float: left; margin-top: 1.4px; color: #000000;"
1301																class="fab fa-facebook-square"></i>
1302
1303															<ul style="margin-bottom: 5px;">
1304																<li style="color: #000000; font-size: 12px; padding-top: 0.4px;">
1305																	6 meses																</li>
1306															</ul>
1307														</div>
1308
1309														<div class="desc">
1310																														<img style="margin-bottom: 5px; width:100%; object-fit: cover; height: 200px;" src="/fb/fb_21790906406.jpg" class="img-fluid"
1311																alt="facebook">
1312															
1313															<div class="noticia">
1314																<p style="line-height: 18px; font-size: 16px; padding-top: 10px;" class="desc-fb">
1315																	Em dias de Romaria, entregamos os melhores sabores na festa!
1316Faça a sua encomenda e nós...																</p>
1317															</div>
1318
1319															<div class="bottom-notice">
1320																<div class="icons1" style="margin-left:0px; margin-top: 10px; font-size: 13px;">
1321																	<i style="font-size: 13px;" class="fa fa-thumbs-up"></i> 0																</div>
1322																<div style="margin-top: 10px; margin-left: 10px; font-size: 13px;" class="icons1">
1323																	<i style="font-size: 13px;" class="fa fa-comment"></i> 0																</div>
1324																<div style="margin-top: 10px; margin-left: 10px; font-size: 13px;" class="icons1">
1325																	<i style="font-size: 13px;" class="fa fa-share"></i> 0																</div>
1326																<p style="margin-bottom: 1rem;"> &nbsp;&nbsp;</p>
1327															</div>
1328														</div>
1329													</div>
1330												</div>
1331											</span>
1332										</a>
1333									</div>
1334								</div>
1335							
1336								<div style="margin-bottom:20px;" class=" blog col-12 col-sm-6 col-md-4 col-xl-3">
1337									<div data-aos-delay="400" data-aos="zoom-in" style="padding: 10px;" class="item_not">
1338										<a target="_blank" href="https://www.facebook.com/1278002839911574/posts/1616208539424334" style="color: #833AB4; cursor:pointer">
1339											<span style="color: #767575; cursor:pointer">
1340												<div class="content" style="padding: 0 !important;">
1341													<div class="blog-info">
1342														<div class="title_not">
1343															<i style="font-size: 15px; float: left; margin-top: 1.4px; color: #000000;"
1344																class="fab fa-facebook-square"></i>
1345
1346															<ul style="margin-bottom: 5px;">
1347																<li style="color: #000000; font-size: 12px; padding-top: 0.4px;">
1348																	6 meses																</li>
1349															</ul>
1350														</div>
1351
1352														<div class="desc">
1353																														<img style="margin-bottom: 5px; width:100%; object-fit: cover; height: 200px;" src="/fb/fb_31790906406.jpg" class="img-fluid"
1354																alt="facebook">
1355															
1356															<div class="noticia">
1357																<p style="line-height: 18px; font-size: 16px; padding-top: 10px;" class="desc-fb">
1358																	Desejamos a todos uma Feliz Páscoa!
1359
1360																</p>
1361															</div>
1362
1363															<div class="bottom-notice">
1364																<div class="icons1" style="margin-left:0px; margin-top: 10px; font-size: 13px;">
1365																	<i style="font-size: 13px;" class="fa fa-thumbs-up"></i> 1																</div>
1366																<div style="margin-top: 10px; margin-left: 10px; font-size: 13px;" class="icons1">
1367																	<i style="font-size: 13px;" class="fa fa-comment"></i> 0																</div>
1368																<div style="margin-top: 10px; margin-left: 10px; font-size: 13px;" class="icons1">
1369																	<i style="font-size: 13px;" class="fa fa-share"></i> 0																</div>
1370																<p style="margin-bottom: 1rem;"> &nbsp;&nbsp;</p>
1371															</div>
1372														</div>
1373													</div>
1374												</div>
1375											</span>
1376										</a>
1377									</div>
1378								</div>
1379														
1380							<center>
1381								<a style="margin-top:50px;" data-aos-delay="300" data-aos="zoom-in" href="/novidades" class="cus-btn dark d-sm-flex">
1382									Ver Todas
1383								</a>
1384							</center>
1385							
1386						 
1387					</div>
1388				</div> 
1389			</section>
1390		</div>  
1391		
1392		<section style="padding-bottom: 100px; padding-top: 30px;" class="pt-80">
1393			<div style="position: relative;">
1394				<div class="newsletter-area text-center">
1395					<div class="container">
1396						<h3 style="margin-bottom: 20px;">Subscreva a nossa <span class="h3 color-primary">newsletter </span></h3>
1397						<p class="mb-48">Subscreva através de email e/ou telefone a nossa newsletter para receber todas as novidades!</p>
1398						<form id="newsForm" action="/registo_newsletter.php" method="POST">
1399							<div class="newsletter-form">
1400								<div class="form-group">
1401									<label>Email</label>
1402									<input type="email" name="newsletter" id="email" placeholder="Introduza o seu email" oninput="toggleRequiredFields()"required>
1403								</div>
1404								<div style="position: relative" class="form-group">
1405									<label>Contacto</label>
1406									<input type="hidden" name="indicativo" id="indicativo" value="+351">
1407									<input style="position: relative" type="tel" id="mobile_code" name="mobile_code" required oninput="this.value = this.value.replace(/\s/g, ''); toggleRequiredFields();" >
1408									<p style="color: red; font-size: 12px; margin-bottom:0" id="mensagemErro" style="color: red;"></p>
1409								</div>
1410							</div>
1411							<center>
1412								<button style="margin-top: 30px; margin-bottom:30px; " type="submit" class="cus-btn outline">
1413									Subscrever
1414								</button>
1415							</<center>
1416						</form>
1417					</div>
1418					
1419					
1419<script>
1420						function toggleRequiredFields() {
1421							const email = document.getElementById('email');
1422							const mobile = document.getElementById('mobile_code');
1423
1424							if (email.value.trim() !== "") {
1425								mobile.removeAttribute('required'); // Remove o required do telefone
1426							} else if (mobile.value.trim() !== "") {
1427								email.removeAttribute('required'); // Remove o required do email
1428							} else {
1429								// Se ambos estiverem vazios, mantém os dois como required
1430								email.setAttribute('required', true);
1431								mobile.setAttribute('required', true);
1432							}
1433						}
1434					</script>
1434
1435					
1436					<style>
1437						.iti-mobile .iti--container {
1438						  top: -170px;
1439						  bottom: 30px;
1440						  left: 150px;
1441						  right: 30px;
1442						  position: relative;
1443						  height: 170px;
1444						  width: 200px; 
1445						}
1446
1447						.iti--separate-dial-code .iti__selected-flag {
1448						  background-color: rgb(0 0 0 / 0%) !important;
1449						}
1450
1451						.iti {
1452						  display: inline !important;
1453						}
1454
1455						.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag {
1456						  background-color: rgba(0, 0, 0, 0.00) !important;
1457						}
1458					</style>
1459					
1460					<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/css/intlTelInput.css">
1461					
1461<script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/js/intlTelInput.min.js"></script>
1461
1462					
1462<script src="https://cdn.jsdelivr.net/npm/[email protected]/build/js/utils.js"></script>
1462
1463					
1463<script>
1464						// Inicializando o intl-tel-input
1465						const input = document.querySelector("#mobile_code");
1466						const iti = window.intlTelInput(input, {
1467							initialCountry: "PT",  // Deixa o país ser detectado automaticamente
1468							separateDialCode: true,  // Exibe o código do país separado
1469							utilsScript: "https://cdn.jsdelivr.net/npm/[email protected]/build/js/utils.js",
1470							preferredCountries: ["PT", "BR", "US", "GB", "FR"]
1471						});
1472
1473						// Atualizando o campo indicativo com o código do país selecionado
1474						input.addEventListener("countrychange", function () {
1475							const countryData = iti.getSelectedCountryData();
1476							document.querySelector("#indicativo").value = "+" + countryData.dialCode;
1477						});
1478
1479						// Evento de validação no envio do formulário
1480						document.getElementById("newsForm").addEventListener("submit", function (e) {
1481							e.preventDefault(); // Previne o envio do formulário para realizar a validação
1482
1483							var numeroTelefone = iti.getNumber(); // Obtém o número com o indicativo
1484							var mensagemErro = document.getElementById("mensagemErro");
1485							var form = document.getElementById("newsForm");
1486
1487							// Verificando se o número é válido
1488							if (iti.isValidNumber()) {
1489								mensagemErro.textContent = ""; // Limpa qualquer mensagem de erro
1490								mensagemErro.style.marginTop = "0"; // Remove o espaçamento se não houver erro
1491								// Preenche o campo "indicativo" com o valor correto
1492								document.querySelector("#indicativo").value = "+" + iti.getSelectedCountryData().dialCode; 
1493								form.submit(); // Envia o formulário
1494							} else {
1495								mensagemErro.textContent = "Número de telefone inválido."; // Exibe mensagem de erro
1496								mensagemErro.style.marginTop = "5px"; // Adiciona margem superior ao erro
1497							}
1498						});
1499					</script>
1499
1500				</div>
1501				
1502								
1503					
1504
1505							</div>
1506		</section>
1507
1508		
1509		
1510
1511<script>
1512
1513	const query = new URLSearchParams(window.location.search);
1514
1515	if (query.get("err") === "0") {
1516		
1517		var options = {
1518		  "closeButton": true,
1519		  "debug": false,
1520		  "newestOnTop": false,
1521		  "progressBar": true,
1522		  "positionClass": "toast-bottom-right",
1523		  "preventDuplicates": false,
1524		  "showDuration": "300",
1525		  "hideDuration": "1000",
1526		  "timeOut": "5000",
1527		  "extendedTimeOut": "1000",
1528		  "showEasing": "swing",
1529		  "hideEasing": "linear",
1530		  "showMethod": "fadeIn",
1531		  "hideMethod": "fadeOut"
1532		}
1533		
1534		toastr["success"]("Bem vindo! O seu login foi realizado com sucesso.");
1535		
1536		var newURL = location.href.split("/")[0];
1537		window.history.pushState('object', document.title, newURL + "/")
1538	} 
1539</script>
1539	
1540
1541<script>
1542document.addEventListener('DOMContentLoaded', function() {
1543    const textBlock = document.querySelector('.sticky-element');
1544    const placeholder = document.querySelector('.placeholder-sticky');
1545    
1546    function updatePlaceholderHeight() {
1547        if (!textBlock) return; // se o elemento não existe sai
1548        const initialHeight = textBlock.offsetHeight;
1549        placeholder.style.height = initialHeight + 'px';
1550    }
1551    
1552    function handleResize() {
1553        const windowHeight = window.innerHeight;
1554        if(windowHeight < 570){
1555            textBlock.classList.add('sticky-element-fixed');
1556             updatePlaceholderHeight()
1557        } else {
1558             textBlock.classList.remove('sticky-element-fixed');
1559              placeholder.style.height = '0';
1560        }
1561    }
1562    
1563    handleResize(); // Inicializa na carga da página
1564    window.addEventListener('resize', handleResize); // Executa sempre que a janela é redimensionada
1565});
1566</script>
1566
1567
1568
1569			<!-- Footer Area Start -->
1570			<footer>
1571				<div class="footer-main">
1572					<!-- <img src="assets/media/bg/footer-bg.png" alt="" class="footer-bg-vetor"> -->
1573					<div class="container-fluid">
1574						<div class="row align-items-center">
1575							<div class="col-xl-6">
1576								<ul class="footer-nav unstyled mb-xl-0 mb-32">
1577									<li><a href="/">Home</a></li>
1578										<li><a href="/produtos.php?filter=1">Produtos</a></li>
1579										<li><a href="/sobre-nos">Sobre Nós</a></li>
1580										<li><a href="/novidades">Novidades</a></li>
1581										<li><a href="/contactos">Contactos</a></li>
1582								</ul>
1583							</div>
1584							<div class="col-xl-6">
1585								<ul class="social-icons-list unstyled">
1586									<li><a style="z-index: 99999" target="_blank" href="https://www.facebook.com/comidaemcasacb"><img src="/assets/media/icons/Facebook.svg" alt=""></a></li>
1587									<li><a style="z-index: 99999" target="_blank" href="https://www.instagram.com/comida.emcasa?igsh=MTY0a2JrMHJ3YW13Ng=="><img src="/assets/media/icons/Instagram.svg" alt=""></a></li>
1588								</ul>
1589							</div>
1590						</div>
1591					</div>
1592				</div> 
1593				<div class="footer-bottom">
1594					<div class="container-fluid">
1595						<div class="bottom-row">
1596							<div class="copyright-text">
1597								<p style="font-size: 16px;">© 2026 Todos os direitos reservados, desenvolvido por <a style="color: #cb211f;" target="_blank" href="https://albinet.pt/">Albinet</a></p>
1598							</div>
1599							<div style="display: block; text-align: center;" class="right-block">
1600								<a style="border-right: 1px solid; padding-right: 5px; line-height: 15px;" href="/politica-privacidade">Política de Privacidade e Cookies</a>
1601								<a style="border-right: 1px solid; padding-left: 5px; padding-right: 5px; line-height: 15px;" href="/termos-condicoes">Termos e Condições</a>
1602								<a style="border-right: 1px solid; padding-left: 5px; padding-right: 5px; line-height: 15px;" href="/ral">Resolução Alternativa de Litígios</a>
1603								<a target="_blank" href="https://www.livroreclamacoes.pt/Inicio/">Livro de Reclamações</a>
1604							</div>
1605						</div>
1606						
1607						<div class="col-xl-12">
1608							<div style="margin-bottom: 20px;" class="apps-ban" bis_skin_checked="1">
1609								<!--<a href="https://play.google.com/store/apps/details?id=com.albinet.comida_casa" target="_blank"><img style="width: 115px;" src="/assets/google.png"> </a>-->
1610								<!--<a href="https://apps.apple.com/pt/app/comida-em-casa/id6740406949?l=pt-PT" target="_blank"><img style="width: 115px;" src="/assets/apple.png"> </a>-->
1611							</div>
1612						</div>
1613					</div>
1614					
1615				</div>
1616			</footer> 
1617			<!-- Footer Area end -->
1618		</main>
1619	</div>
1620	<!-- End content wrap -->
1621	</div>
1622	<!-- End scroll container -->
1623
1624	<!-- Search Popup Start -->
1625	<div class="search-popup">
1626	<div class="search-popup__overlay search-toggler"></div>
1627	<div class="search-popup__content text-center">
1628		<form role="search" method="get" class="search-popup__form" action="shop-list-1.html">
1629			<div class="blur-layer">
1630				<input type="text" id="search" autocomplete="off" placeholder="Search Here...">
1631			</div>
1632			<button type="submit"><i class="fal fa-search"></i></button>
1633		</form>
1634	</div>
1635	</div>
1636	<!-- Search Popup End -->
1637
1638	<!-- Mini Cart Start -->
1639	<!-- Mini Cart Start -->
1640	<!-- Estilos para corrigir o layout do carrinho e manter os botões sempre visíveis -->
1641	<style>
1642		#sidebar-cart {
1643			display: flex !important;
1644			flex-direction: column !important;
1645			height: 100vh !important;
1646			box-sizing: border-box !important;
1647		}
1648		#produtos_carrinho {
1649			flex: 1 !important;
1650			overflow-y: auto !important;
1651			height: auto !important;
1652			min-height: 0 !important;
1653			max-height: none !important;
1654		}
1655	</style>
1656
1657	<!-- Mini Cart Start -->
1658	<!-- Estilos essenciais para garantir que os botões nunca desaparecem do ecrã -->
1659	<style>
1660		#sidebar-cart {
1661			display: flex !important;
1662			flex-direction: column !important;
1663			height: 100vh !important;
1664			box-sizing: border-box !important;
1665		}
1666		#produtos_carrinho {
1667			flex: 1 !important;
1668			overflow-y: auto !important;
1669			height: auto !important;
1670			min-height: 0 !important;
1671			max-height: none !important;
1672		}
1673	</style>
1674
1675	<!-- Mini Cart Start -->
1676	<!-- Estilos essenciais para garantir que os botões nunca desaparecem do ecrã -->
1677	<style>
1678		#sidebar-cart {
1679			display: flex !important;
1680			flex-direction: column !important;
1681			height: 100vh !important;
1682			box-sizing: border-box !important;
1683		}
1684		#produtos_carrinho {
1685			flex: 1 !important;
1686			overflow-y: auto !important;
1687			height: auto !important;
1688			min-height: 0 !important;
1689			max-height: none !important;
1690		}
1691	</style>
1692
1693	<!-- Mini Cart Start -->
1694	<!-- Estilos essenciais para garantir que os botões nunca desaparecem do ecrã -->
1695	<style>
1696		#sidebar-cart {
1697			display: flex !important;
1698			flex-direction: column !important;
1699			height: 100vh !important;
1700			box-sizing: border-box !important;
1701		}
1702		#produtos_carrinho {
1703			flex: 1 !important;
1704			overflow-y: auto !important;
1705			height: auto !important;
1706			min-height: 0 !important;
1707			max-height: none !important;
1708		}
1709	</style>
1710
1711	<aside id="sidebar-cart">
1712		<div class="d-flex align-items-center justify-content-between mb-32">
1713			<h5>Carrinho</h5>
1714			<a href="#" class="close-button"><i class="fa-regular fa-xmark close-icon"></i></a>
1715		</div>
1716
1717		<!-- Aviso de Taxa Mínima de Entrega -->
1718				<div id="aviso-taxa-minima" class="alert alert-warning mb-24" style="font-size: 13px; padding: 10px; border-radius: 4px; border: 1px solid #ffeeba; background-color: #fff3cd; color: #856404; display: none;">
1719			<i class="fa-solid fa-triangle-exclamation mr-2"></i> 
1720			Aviso: Para encomendas de valor inferior a 10.00€, será cobrada uma taxa de entrega de <b>€2.50</b>.
1721		</div>
1722		
1723		<div class="vr-line mb-32"></div>
1724		
1725		<ul id="produtos_carrinho" class="product-list">
1726			<!--<li class="product-item"></li>-->
1727			
1728							<li class="product-item mb-24"> Sem produtos disponíveis!</li>
1729					</ul>
1730		
1731		<!--<div style="margin-top: 7px;" class="qp_row">
1732			<h5 class="dark-gray">
1733				<a style="cursor:pointer; color: #a8a8a8; font-size: 17px;" value="'.$_SESSION['carrinho'][$keys]['quantidade'].'" class="remove_product">
1734					<i class="fa-solid fa-trash"></i>
1735				</a>
1736			</h5>
1737		</div>-->
1738		
1739		
1739<script>
1740			// Função que exibe ou oculta o aviso de limite mínimo de 10€ dinamicamente
1741			function verificarTaxaMinima(valorTotal) {
1742				const limite = 10.00;
1743				const $aviso = $('#aviso-taxa-minima');
1744				
1745				if (valorTotal > 0 && valorTotal < limite) {
1746					$aviso.slideDown(300);
1747				} else {
1748					$aviso.slideUp(300);
1749				}
1750			}
1751
1752			function atualizarPreco(preco, contexto) {
1753				let precoProduto = parseFloat(preco);
1754
1755				let precoComplementos = 0;
1756
1757				// Calculando o preço dos complementos selecionados
1758				$("input[name='complementos']:checked", contexto).each(function () {
1759					let precoComplemento = parseFloat($(this).data('preco')) || 0;
1760					precoComplementos += precoComplemento;
1761				});
1762
1763				let precoTotal = precoProduto + precoComplementos;
1764				
1765				// Atualiza o preço do modal específico
1766				contexto.find('.txt').html('Adicionar por <b>€' + precoTotal.toFixed(2) + '</b>');
1767			}
1768
1769			$(document).ready(function () {
1770				// Observador automático de alteração no preço total (MutationObserver)
1771				const targetNode = document.getElementById('preco_carrinho');
1772				if (targetNode) {
1773					const observer = new MutationObserver(function (mutationsList) {
1774						for (let mutation of mutationsList) {
1775							if (mutation.type === 'characterData' || mutation.type === 'childList') {
1776								let precoTexto = $(targetNode).text().replace('€', '').trim();
1777								precoTexto = precoTexto.replace(',', '.'); // Compatibilidade caso usem vírgula para os decimais
1778								let precoNumerico = parseFloat(precoTexto) || 0;
1779								verificarTaxaMinima(precoNumerico);
1780							}
1781						}
1782					});
1783					observer.observe(targetNode, { characterData: true, childList: true, subtree: true });
1784				}
1785
1786				// Verifica o valor do carrinho assim que o ecrã carrega inicialmente
1787				let precoTextoInicial = $("#preco_carrinho").text().replace('€', '').trim();
1788				precoTextoInicial = precoTextoInicial.replace(',', '.');
1789				let precoNumericoInicial = parseFloat(precoTextoInicial) || 0;
1790				verificarTaxaMinima(precoNumericoInicial);
1791
1792				// Delegação de eventos para os complementos nos modais carregados via AJAX
1793				$(document).on('change', "input[name='complementos']", function (event) {
1794					// Obtém o preço do produto associado ao complemento
1795					let preco = $(this).data('preco_prod');
1796					
1797					// Envia o preço e o contexto do modal atual
1798					atualizarPreco(preco, $(this).closest('.modal'));  // 'closest' encontra o modal pai do input
1799				});
1800			});
1801							
1802			$(document).ready(function () {
1803				$(document).on('hidden.bs.modal', ".modal", function (event) {
1804					$(this).removeAttr('aria-hidden').removeProp('inert');
1805
1806					$(this).find("input[name='complementos']").prop('checked', false);
1807
1808					let precoProduto = $("#price_mi").text().trim().replace('€', '').replace(',', '.');
1809					precoProduto = parseFloat(precoProduto);
1810
1811					$("#txt").html('Adicionar por <b>€' + precoProduto.toFixed(2) + '</b>');
1812				});
1813
1814				$('.modal').on('shown.bs.modal', function () {
1815					$(this).removeAttr('aria-hidden').removeProp('inert');
1816				});
1817			});
1818		</script>
1818
1819			
1820		
1820<script>
1821			$(document).ready(function () {
1822				// Usa um seletor de classe para identificar os formulários
1823				$(document).on('submit', '.complementares', function (event) {
1824					event.preventDefault();
1825				
1826					var produtoID = $(this).data("id");
1827					// Apenas processa o formulário específico que foi submetido
1828					var form = $(this);
1829					var formData = {};
1830					var complementares = [];
1831					var data2 = "acao=preco";
1832					var data3 = "acao=qtd";
1833
1834					// Busca apenas os inputs dentro do formulário atual
1835					form.find('input').each(function () {
1836						var input = $(this);
1837
1838						if ((input.attr('type') === 'checkbox' || input.attr('type') === 'radio') && input.is(':checked')) {
1839							var codigo = input.data('codigo');
1840							var preco = input.data('preco');
1841							var nome = input.data('nome');
1842
1843							complementares.push({
1844								codigo: codigo,
1845								preco: preco,
1846								nome: nome,
1847							});
1848						} else if (input.attr('type') !== 'checkbox' && input.attr('type') !== 'radio') {
1849							formData[input.attr('name')] = input.val();
1850						}
1851					});
1852
1853					formData['complementares'] = complementares;
1854
1855					$('.modal').modal('hide');
1856
1857					var $body = $('body');
1858					var $sidebarCart_inicio = $('#sidebar-cart'); // Alterado para referir a sidebar-cart
1859
1860					// Adicionar spinner dentro da div sidebar-cart
1861					var spinner = '<div class="loading-spinner"></div>';
1862					$sidebarCart_inicio.append(spinner);
1863					$sidebarCart_inicio.find('.loading-spinner').show();
1864					
1865					$body.css('overflow', 'hidden');
1866
1867					$body.addClass('show-sidebar-cart');
1868					$('#sidebar-cart-curtain').fadeIn(500);
1869
1870					// Fazer a primeira chamada AJAX
1871					$.ajax({
1872						type: 'POST',
1873						url: '/carrinho_back.php',
1874						data: formData,
1875						success: function (data) {
1876							$('#produtos_carrinho').html(data);
1877
1878							// Fazer a segunda chamada AJAX dentro do sucesso da primeira
1879							$.ajax({
1880								type: 'POST',
1881								url: '/carrinho_back.php',
1882								data: data2,
1883								success: function (data2) {
1884									$('#preco_carrinho').html('€' + data2);
1885
1886									// Fazer a terceira chamada AJAX dentro do sucesso da segunda
1887									$.ajax({
1888										type: 'POST',
1889										url: '/carrinho_back.php',
1890										data: data3,
1891										success: function (data3) {
1892											$('.bola-items').html(data3);
1893											$('.bola-items').show();
1894
1895											// Remover o spinner após todas as requisições AJAX terem completado
1896											$sidebarCart_inicio.find('.loading-spinner').remove();
1897										}
1898									});
1899								}
1900							});
1901							
1902							var produtoCarrinho = $("#produtos_carrinho").children().last();
1903
1904							if (produtoCarrinho.length) {
1905								produtoCarrinho.css("background-color", "#d1242136"); // Amarelo claro
1906								setTimeout(function () {
1907									produtoCarrinho.css("transition", "background-color 2s");
1908									produtoCarrinho.css("background-color", "#fcfdfd"); // Volta ao normal
1909								}, 100);
1910							}
1911						}
1912					});
1913				});
1914			});
1915		</script>
1915
1916
1917					
1918		
1918<script>
1919			$("body").on("click", ".inc", function(event){	
1920			
1921				const $button = $(this); // Seleciona o botão clicado
1922				$button.prop('disabled', true);
1923
1924				setTimeout(() => {
1925					$button.prop('disabled', false);
1926				}, 500);
1927			
1928				
1929				var qtyInput = $(this).closest(".quantity-wrap").children(".number");
1930				var qtyVal = parseInt(qtyInput.val()) + parseInt(1);
1931				
1932				qtyInput.val(qtyVal);
1933				
1934				var index = $(this).data("index");
1935				var price = $(this).data("preco");
1936				var price_complementos = $(this).data("preco_complementos");
1937				var data2 = "acao=preco";
1938				var data3 = "acao=qtd";
1939				
1940				
1941				// Seleciona o elemento pelo ID
1942				let precoElement = document.getElementById("preco_carrinho");
1943				let precoTexto = precoElement.textContent || precoElement.innerText;
1944				let precoNumerico = parseFloat(precoTexto.replace('€', '').trim());
1945				
1946				let total_carrinho = parseFloat(precoNumerico) + parseFloat(price) + parseFloat(price_complementos);
1947				
1948				$("#preco_carrinho").html("€"+total_carrinho.toFixed(2));	
1949				
1950				$(this).closest(".quantity-wrap").children(".decrement").html('<i class="fa-solid fa-dash"></i>');
1951
1952				$.ajax({
1953					type: "POST",
1954					url: '/carrinho_back.php',
1955					data: "acao=quantidade_add&quantidade="+qtyVal+"&index="+index+"&preco="+price,
1956					success: function(data) {
1957						$.ajax({
1958							type: "POST",
1959							url: '/carrinho_back.php',
1960							data: data2,
1961							success: function(data2) {
1962							}
1963						});	
1964						$.ajax({
1965							type: "POST",
1966							url: '/carrinho_back.php',
1967							data: data3,
1968							success: function(data3) {
1969								$("#qtd_prod").html(data3);									
1970								$(".bola-items").html(data3);									
1971							}
1972						});		
1973					}
1974				});
1975			});
1976			
1977			$("body").on("click", ".dec", function(event){	
1978			
1979				const $button = $(this); 
1980				$button.prop('disabled', true);
1981
1982				setTimeout(() => {
1983					$button.prop('disabled', false);
1984				}, 500);
1985			
1986				var qtyInput = $(this).closest(".quantity-wrap").children(".number");
1987				
1988				if(qtyInput.val() == 1){
1989					var qtyVal = 1;
1990					event.preventDefault();
1991					var data2 = "acao=preco";
1992					var data3 = "acao=qtd";
1993					
1994					var keyProd = $(this).data("index");
1995					var preco = $(this).data("preco");
1996					var price_complementos = $(this).data("preco_complementos");
1997					
1998					var qtyInput = $(this).closest(".quantity-wrap").find(".number");
1999					
2000					
2001					$(this).closest("li").remove();
2002					
2003					var newLength = document.getElementById("produtos_carrinho").getElementsByTagName("li").length;
2004					
2005					if (newLength === 0) {
2006						$("#produtos_carrinho").html("Sem produtos disponíveis.");
2007						$("#preco_carrinho").html("€0.00");		
2008					}else{
2009						let precoElement = document.getElementById("preco_carrinho");
2010						let precoTexto = precoElement.textContent || precoElement.innerText;
2011						let precoNumerico = parseFloat(precoTexto.replace('€', '').trim());
2012						
2013						let total_carrinho = parseFloat(precoNumerico) - parseFloat(preco) - parseFloat(price_complementos);
2014						
2015						$("#preco_carrinho").html("€"+total_carrinho.toFixed(2));		
2016					}
2017
2018					$.ajax({
2019						type: "POST",
2020						url: '/carrinho_back.php',
2021						data: "acao=remove&index="+keyProd+ "&preco="+preco+"&quantidade="+qtyInput.val(),
2022						success: function(data) {
2023							$.ajax({
2024								type: "POST",
2025								url: '/carrinho_back.php',
2026								data: data2,
2027								success: function(data2) {
2028								}
2029							});	
2030							$.ajax({
2031								type: "POST",
2032								url: '/carrinho_back.php',
2033								data: data3,
2034								success: function(data3) {
2035									$("#qtd_prod").html(data3);									
2036									$(".bola-items").html(data3);									
2037								}
2038							});		
2039						}
2040					});	
2041				}else{
2042
2043					var qtyVal = parseInt(qtyInput.val()) - parseInt(1);
2044					
2045					qtyInput.val(qtyVal);
2046					
2047					if(qtyInput.val() > 1){
2048						$(this).closest(".quantity-wrap").children(".decrement").html('<i class="fa-solid fa-dash"></i>');
2049					}else{
2050						$(this).closest(".quantity-wrap").children(".decrement").html('<i class="fa-solid fa-trash"></i>');
2051					}
2052					
2053					var index = $(this).data("index");
2054					var price = $(this).data("preco");
2055					var price_complementos = $(this).data("preco_complementos");
2056					var data2 = "acao=preco";
2057					var data3 = "acao=qtd";
2058					
2059					let precoElement = document.getElementById("preco_carrinho");
2060					let precoTexto = precoElement.textContent || precoElement.innerText;
2061					let precoNumerico = parseFloat(precoTexto.replace('€', '').trim());
2062					
2063					let total_carrinho = parseFloat(precoNumerico) - parseFloat(price) - parseFloat(price_complementos);
2064					
2065					$("#preco_carrinho").html("€"+total_carrinho.toFixed(2));	
2066					
2067					$.ajax({
2068						type: "POST",
2069						url: '/carrinho_back.php',
2070						data: "acao=quantidade_add&quantidade="+qtyVal+"&index="+index+"&preco="+price,
2071						success: function(data) {
2072							$.ajax({
2073								type: "POST",
2074								url: '/carrinho_back.php',
2075								data: data2,
2076								success: function(data2) {
2077								}
2078							});	
2079							$.ajax({
2080								type: "POST",
2081								url: '/carrinho_back.php',
2082								data: data3,
2083								success: function(data3) {
2084									$("#qtd_prod").html(data3);									
2085									$(".bola-items").html(data3);									
2086								}
2087							});		
2088						}
2089					});
2090				}
2091			});
2092		</script>
2092
2093
2094		<div style="margin-bottom: 10px;" class="price-total">
2095			<h6 class="cart-total">Subtotal</h6>
2096				
2097				<h5 id="preco_carrinho" class="cart-total color-primary">€0.00</h5>
2098					</div>
2099		
2100		<!--<div style="padding-top:0" class="price-total">
2101			<h6 class="cart-total price2">Entrega</h6>
2102				
2103				<h5 id="portes" class="cart-total color-primary price2">€0.00</h5>
2104					</div>
2105		
2106		<div style="padding-top:5px" class="price-total mb-24">
2107			<h6 class="cart-total">Total</h6>
2108				
2109				<h5 id="total" class="cart-total color-primary">€0.00</h5>
2110					</div>-->
2111		
2112		
2113		<div class="vr-line mb-24"></div>
2114		
2115		<div class="action-buttons">
2116			<a href="/cart.php" class="cus-btn outline">
2117				Ver Carrinho
2118			</a>
2119			
2120							<a href="/login.php?path=cart" class="cus-btn dark">
2121					Continuar
2122				</a>
2123					</div>
2124	</aside>
2125	<div id="sidebar-cart-curtain"></div>
2126	<!-- Mini Cart End --> 
2127	
2128	
2128<script>
2129		$('#next_suges').on('click', function () {
2130			var $body = $("body");
2131			$body.removeClass("show-sidebar-cart");
2132			$("#sidebar-cart-curtain").fadeOut(200);
2133			
2134			var $sidebarCart2 = $('.loading-spinner');
2135
2136			$.ajax({
2137				url: '/verificar_carrinho.php', // Endpoint PHP que retorna o estado do carrinho
2138				method: 'POST',
2139				dataType: 'json', // Espera um JSON na resposta
2140				success: function (response) {
2141					if (response.status === 'ok' && response.carrinho) {
2142						$('#exampleModal2').modal('show');
2143						
2144						$sidebarCart2.css('display', 'flex');
2145
2146						$.ajax({
2147							type: "POST",
2148							url: '/modal_ainda.php',
2149							success: function(data3) {
2150								// Atualiza o conteúdo da barra lateral com o retorno da segunda requisição AJAX
2151								$("#scrollContainer").html(data3);
2152								// Remover o spinner após o carregamento completo do conteúdo
2153								$sidebarCart2.hide();
2154							}
2155						});
2156					} else {
2157						swal.fire({
2158							title: "Erro!",
2159							html: "O carrinho está vazio, por favor adicione produtos.",
2160							icon: "error",
2161							showConfirmButton: true
2162						});
2163						// Remover o spinner se o carrinho estiver vazio
2164						//$sidebarCart2.hide('');
2165					}
2166				}
2167			});
2168		});
2169
2170	</script>
2170
2171	
2172	
2173	<!-- Jquery Js -->
2174	
2174<script src="/assets/js/vendor/jquery-3.6.3.min.js" defer></script>
2174
2175	
2175<script src="/assets/js/vendor/bootstrap.min.js" defer></script>
2175
2176	
2176<script src="/assets/js/vendor/gsap.min.js" defer></script>
2176
2177	<!--
2177<script src="/assets/js/vendor/scrollTrigger.min.js"></script>
2177
2178	
2178<script src="/assets/js/vendor/ScrollToPlugin.min.js"></script>
2178
2179	
2179<script src="/assets/js/vendor/ScrollSmoother.min.js"></script>
2179-->
2180	
2180<script src="/assets/js/vendor/jquery-appear.js" defer></script>
2180
2181	
2181<script src="/assets/js/vendor/ion.rangeSlider.js" defer></script>
2181
2182	
2182<script src="/assets/js/vendor/jquery.nice-select.min.js" defer></script>
2182
2183	
2183<script src="/assets/js/vendor/slick.min.js" defer></script>
2183
2184	
2184<script src="/assets/js/vendor/odometer.min.js" defer></script>
2184
2185	
2185<script src="/assets/js/app.js" defer></script>
2185
2186	
2187	
2187<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
2187
2188	
2189	
2189<script>
2190		$("body").on("click", ".add_btn", function (event) {
2191			event.preventDefault();
2192			var produtoID = $(this).data("id");
2193			var $body = $("body");
2194			var $sidebarCart_inicio = $("#sidebar-cart"); // Alterado para referir a sidebar-cart
2195
2196			// Adicionar o spinner dentro da div sidebar-cart
2197			var spinner = '<div class="loading-spinner"></div>';
2198			$sidebarCart_inicio.append(spinner);
2199			$sidebarCart_inicio.find(".loading-spinner").show();
2200
2201			var data = "id=" + $(this).data("id") +
2202					   "&nome=" + $(this).data("nome") +
2203					   "&preco=" + $(this).data("preco") +
2204					   "&imagem=" + $(this).data("image") +
2205					   "&acao=add_compras&familia=" + $(this).data("familia");
2206			var data2 = "acao=preco";
2207			var data3 = "acao=qtd";
2208			
2209			$body.css('overflow', 'hidden');
2210
2211			$body.addClass("show-sidebar-cart");
2212			$("#sidebar-cart-curtain").fadeIn(500);
2213
2214			// Fazer a primeira chamada AJAX
2215			var ajax1 = $.ajax({
2216				type: "POST",
2217				url: "/carrinho_back.php",
2218				data: data,
2219				success: function (data) {
2220					$("#produtos_carrinho").html(data);
2221
2222					// Fazer a segunda chamada AJAX dentro do sucesso da primeira
2223					var ajax2 = $.ajax({
2224						type: "POST",
2225						url: "/carrinho_back.php",
2226						data: data2,
2227						success: function (data2) {
2228							$("#preco_carrinho").html("€" + data2);
2229						}
2230					});
2231
2232					// Fazer a terceira chamada AJAX dentro do sucesso da primeira
2233					var ajax3 = $.ajax({
2234						type: "POST",
2235						url: "/carrinho_back.php",
2236						data: data3,
2237						success: function (data3) {
2238							$(".bola-items").html(data3);
2239							$(".bola-items").show();
2240						}
2241					});
2242
2243					// Usar $.when para garantir que todas as requisições AJAX terminaram
2244					$.when(ajax2, ajax3).done(function() {
2245						// Remover o spinner após todas as requisições AJAX terem completado
2246						$sidebarCart_inicio.find(".loading-spinner").remove();
2247					});
2248					
2249					 // Identifica o produto pelo ID
2250					var produtoCarrinho = $("#produtos_carrinho").find(`[data-id='${produtoID}']`);
2251	
2252					if (produtoCarrinho.length) {
2253						produtoCarrinho.css("background-color", "#d1242136"); // Amarelo claro
2254						setTimeout(function () {
2255							produtoCarrinho.css("transition", "background-color 2s");
2256							produtoCarrinho.css("background-color", "#fcfdfd"); // Volta ao normal
2257						}, 100);
2258					}
2259				}
2260			});
2261		});
2262		
2263	
2264		$('.carrinho_btn').on('click', function(e) {
2265			e.preventDefault();
2266			var $body = $("body");
2267			$body.css('overflow', 'hidden');
2268		});
2269
2270		
2271		$('#sidebar-cart-curtain').on('click', function(e) {
2272			e.preventDefault();
2273			var $body = $("body");
2274			$body.css('overflow', '');
2275		});
2276		
2277		$('#next_suges').on('click', function(e) {
2278			e.preventDefault();
2279			var $body = $("body");
2280			$body.css('overflow', '');
2281		});
2282
2283
2284		$('.close-button').on('click', function(e) {
2285			e.preventDefault();
2286			var $body = $("body");
2287			$body.css('overflow', '');
2288			$body.removeClass("show-sidebar-cart");
2289			$("#sidebar-cart-curtain").fadeOut(500);
2290		});
2291		
2292		
2293		$('.carrinho_btn').on('click', function(e) {
2294			e.preventDefault();
2295			var $body = $("body");
2296			
2297			$body.toggleClass("show-sidebar-cart");
2298
2299			if ($("#sidebar-cart-curtain").is(":visible")) {
2300				$("#sidebar-cart-curtain").fadeOut(500);
2301			} else {
2302				$("#sidebar-cart-curtain").fadeIn(500);
2303			}
2304		});
2305		
2306		 
2307		$( "#sidebar-cart-curtain" ).on( "click", function(e) {
2308			e.preventDefault();
2309			var $body = $("body");
2310			
2311			$body.removeClass("show-sidebar-cart");
2312			$("#sidebar-cart-curtain").fadeOut(500);
2313		});
2314	</script>
2314
2315	
2316	
2316<script>
2317		$("body").on("click", ".add_fav", function(event){	
2318			
2319				
2320				var options = {
2321					  "closeButton": true,
2322					  "debug": false,
2323					  "newestOnTop": false,
2324					  "progressBar": true,
2325					  "positionClass": "toast-bottom-right",
2326					  "preventDuplicates": false,
2327					  "showDuration": "300",
2328					  "hideDuration": "800",
2329					  "timeOut": "3000",
2330					  "extendedTimeOut": "1000",
2331					  "showEasing": "swing",
2332					  "hideEasing": "linear",
2333					  "showMethod": "fadeIn",
2334					  "hideMethod": "fadeOut"
2335					}
2336					
2337					
2338					toastr["error"]("Por favor realize login!");
2339				
2340		});
2341	</script>
2341		
2342
2343	
2343<script>
2344		$("body").on("click", ".remove_fav", function(event){		
2345				
2346				var options = {
2347					  "closeButton": true,
2348					  "debug": false,
2349					  "newestOnTop": false,
2350					  "progressBar": true,
2351					  "positionClass": "toast-bottom-right",
2352					  "preventDuplicates": false,
2353					  "showDuration": "300",
2354					  "hideDuration": "800",
2355					  "timeOut": "3000",
2356					  "extendedTimeOut": "1000",
2357					  "showEasing": "swing",
2358					  "hideEasing": "linear",
2359					  "showMethod": "fadeIn",
2360					  "hideMethod": "fadeOut"
2361					}
2362					
2363					
2364					toastr["error"]("Por favor realize login!");
2365					});
2366	</script>
2366
2367
2368	
2368<script>
2369		AOS.init();
2370		AOS.refresh();
2371	</script>
2371	
2372	
2372<script type="module" src="/cookieconsent-config.js"></script>
2372
2373</body>
2374
2375
2376<div class="modal fade" id="meuModal_comp" tabindex="-1" aria-labelledby="meuModalLabel" aria-hidden="true">
2377	<div class="modal-dialog">
2378		<div class="modal-content">
2379			<div style="border-bottom: none;" class="modal-header">
2380				<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
2381			</div>
2382			<div id="carregar">
2383			
2384			</div>
2385		</div>
2386	</div>
2387</div>
2388
2389
2390<script>
2391	$(document).on('click', '.abre_modal', function(event) {
2392		event.preventDefault();  // Impede o comportamento padrão de navegação
2393
2394		var productId = $(this).data('id');  // Captura o valor de 'data-id'
2395		
2396		var $sidebarCart = $('#carregar');
2397		// Exibir o loading (adicionando spinner)
2398		$sidebarCart.find(".loading-spinner").remove();  // Se já houver um spinner anterior, removê-lo
2399		$sidebarCart.append('<div style="height:100%; min-height: 400px;" class="loading-spinner"></div>'); // Adiciona o spinner na barra lateral
2400
2401		// Chamada AJAX
2402		$.ajax({
2403			url: '/modal_complmentares.php',  // Substitua com o URL do seu backend
2404			type: 'POST',
2405			data: { 
2406				id: productId  // Envia o 'data-id' como parâmetro no corpo da requisição
2407			},
2408			success: function(response) {
2409				// Quando a resposta é recebida, esconder o loading
2410				$sidebarCart.find(".loading-spinner").remove();  // Remove o spinner
2411				$('#carregar').html(response);  // Carrega o conteúdo da resposta
2412			},
2413		});
2414	});
2415</script>
2415
2416										
2417			
2418<!-------------------------------- MODAL PARA AINDA PRETENDE? ----------------------------------->
2419<div class="modal fade" id="exampleModal2" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
2420    <div class="modal-dialog modal-lg">
2421        <div class="modal-content">
2422            <div style="border: none;" class="modal-header">
2423                <h5 class="modal-title" id="exampleModalLabel">Ainda pretende?</h5>
2424                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
2425            </div>
2426			
2427			<div style="display:flex; height:100%; min-height: 300px;" class="loading-spinner"></div>	
2428            
2429			<div style="padding-bottom: 0; padding-left: 25px; padding-right: 25px;overflow: hidden; background: #fbfcfd;" class="modal-body">
2430				<div 
2431                    id="scrollContainer" 
2432                    class="row flex-nowrap teste312" 
2433                    style="display: flex; gap: 16px; overflow-x: auto; cursor: grab;">
2434						
2435                </div>
2436            </div>
2437            <div style="border: none;" class="modal-footer">
2438                <a href="/checkout.php" id="btnAvancar" class="cus-btn dark">Avançar</a>
2439            </div>
2440        </div>
2441    </div>
2442</div>
2443
2444<script>
2445	document.addEventListener("DOMContentLoaded", function () {
2446    const scrollContainer = document.getElementById('scrollContainer');
2447
2448    let isDown = false;
2449    let startX;
2450    let scrollLeft;
2451    let isDragging = false;
2452    let touchStartTime;
2453
2454    function initScrollEvents() {
2455        scrollContainer.addEventListener('mousedown', (e) => {
2456            isDown = true;
2457            isDragging = false;
2458            scrollContainer.style.cursor = 'grabbing';
2459            startX = e.pageX - scrollContainer.offsetLeft;
2460            scrollLeft = scrollContainer.scrollLeft;
2461        });
2462
2463        scrollContainer.addEventListener('mouseup', () => {
2464            isDown = false;
2465            scrollContainer.style.cursor = 'grab';
2466        });
2467
2468        scrollContainer.addEventListener('mouseleave', () => {
2469            isDown = false;
2470            scrollContainer.style.cursor = 'grab';
2471        });
2472
2473        scrollContainer.addEventListener('mousemove', (e) => {
2474            if (!isDown) return;
2475            e.preventDefault();
2476            isDragging = true;
2477            const x = e.pageX - scrollContainer.offsetLeft;
2478            const walk = (x - startX) * 1.2; // Reduzimos a força para suavizar
2479            scrollContainer.scrollLeft = scrollLeft - walk;
2480        });
2481
2482        // Suporte para toque (mobile)
2483        scrollContainer.addEventListener('touchstart', (e) => {
2484            isDown = true;
2485            isDragging = false;
2486            touchStartTime = Date.now();
2487            startX = e.touches[0].pageX - scrollContainer.offsetLeft;
2488            scrollLeft = scrollContainer.scrollLeft;
2489        });
2490
2491        scrollContainer.addEventListener('touchmove', (e) => {
2492            if (!isDown) return;
2493            e.preventDefault(); // Impede o scroll nativo do iOS
2494            isDragging = true;
2495            const x = e.touches[0].pageX - scrollContainer.offsetLeft;
2496            const walk = (x - startX) * 1.2; // Movimento mais fluido
2497            scrollContainer.scrollLeft = scrollLeft - walk;
2498        }, { passive: false }); // Garante que podemos usar preventDefault()
2499
2500        scrollContainer.addEventListener('touchend', (e) => {
2501            isDown = false;
2502
2503            // Se o toque durar mais de 200ms ou houve deslocamento, bloqueia o clique
2504            if (isDragging || Date.now() - touchStartTime > 200) {
2505                e.preventDefault();
2506                e.stopPropagation();
2507            }
2508        });
2509
2510        // Evita que o scroll bloqueie cliques acidentais no iOS
2511        scrollContainer.addEventListener('click', (e) => {
2512            if (isDragging) {
2513                e.preventDefault();
2514                e.stopPropagation();
2515                isDragging = false;
2516            }
2517        });
2518    }
2519
2520    // Monitora mudanças no conteúdo via AJAX e reinicializa os eventos
2521    const observer = new MutationObserver(() => {
2522        initScrollEvents();
2523    });
2524
2525    observer.observe(scrollContainer, { childList: true, subtree: true });
2526
2527    // Chama a função de inicialização
2528    initScrollEvents();
2529});
2530
2531</script>
2531
2532
2533<style>
2534	#scrollContainer {
2535		scroll-behavior: auto;
2536		will-change: transform;
2537		cursor: grab;
2538		overflow-x: auto;
2539		white-space: nowrap;
2540		-webkit-overflow-scrolling: touch; /* Suaviza o scroll em iOS */
2541	}
2542</style>
2543
2544<script>
2545	$('#exampleModal2').on('hidden.bs.modal', function () {
2546		$('.quantity-container').hide();
2547		$('.quantity2').val(1);
2548		$('.add_btn_ainda').show();
2549	});
2550
2551    $(document).ready(function () {
2552		// Delegação de evento para o botão add_btn_ainda, que agora vai funcionar em elementos carregados dinamicamente
2553		$('body').on('click', '.add_btn_ainda', function () {
2554
2555			var data3 = "acao=qtd";
2556			var data2 = "acao=preco";
2557
2558			var options = {
2559				"closeButton": true,
2560				"debug": false,
2561				"newestOnTop": false,
2562				"progressBar": true,
2563				"positionClass": "toast-bottom-right",
2564				"preventDuplicates": false,
2565				"showDuration": "300",
2566				"hideDuration": "1000",
2567				"timeOut": "5000",
2568				"extendedTimeOut": "1000",
2569				"showEasing": "swing",
2570				"hideEasing": "linear",
2571				"showMethod": "fadeIn",
2572				"hideMethod": "fadeOut"
2573			}
2574
2575			toastr["success"]("Produto adicionado com sucesso.");
2576
2577			// Captura os dados do produto
2578			const produto = {
2579				id: $(this).data('id'),
2580				preco: parseFloat($(this).data('preco')),
2581				nome: $(this).data('nome'),
2582				imagem: $(this).data('image'),
2583				slug: $(this).data('slug'),
2584				familia: $(this).data('familia'),
2585				quantidade: 1 // Definir a quantidade como 1 ao adicionar o produto
2586			};
2587
2588			// Envia os dados via AJAX para o PHP
2589			$.ajax({
2590				url: '/carrinho_back.php', // Caminho para o script PHP
2591				type: 'POST',
2592				data: {
2593					acao: 'add_compras',
2594					id: produto.id,
2595					preco: produto.preco,
2596					nome: produto.nome,
2597					imagem: produto.imagem,
2598					slug: produto.slug,
2599					familia: produto.familia,
2600					quantidade: produto.quantidade
2601				},
2602				success: function (response) {
2603					$("#produtos_carrinho").html(response);
2604					$.ajax({
2605						type: "POST",
2606						url: '/carrinho_back.php',
2607						data: data3,
2608						success: function (data3) {
2609							$(".bola-items").html(data3);
2610							$(".bola-items").show();
2611						}
2612					});
2613
2614					$.ajax({
2615						type: "POST",
2616						url: '/carrinho_back.php',
2617						data: data2,
2618						success: function (data2) {
2619							$("#preco_carrinho").html("€" + data2);
2620						}
2621					});
2622				},
2623			});
2624		});
2625	
2626		$(document).ready(function () {
2627			// Delegação de evento para o botão de decremento
2628			$('body').on('click', '.dec2', function () {
2629				var data3 = "acao=qtd";
2630				var data4 = "acao=listar";
2631				var data2 = "acao=preco";
2632				
2633				const $button = $(this);
2634				$button.prop('disabled', true);
2635				
2636				setTimeout(() => {
2637					$button.prop('disabled', false);
2638				}, 500);
2639
2640				// Captura o índice do produto
2641				const id = $(this).data('id');
2642
2643				// Envia a requisição AJAX para o servidor
2644				$.ajax({
2645					url: '/carrinho_back.php', // Caminho para o script PHP
2646					type: 'POST',
2647					data: {
2648						acao: 'quantidade_remove',
2649						id: id
2650					},
2651					success: function (response) {
2652						const data = JSON.parse(response);
2653
2654						// Atualiza a quantidade no carrinho
2655						$(`.quantidade[data-index="${id}"]`).val(data.quantidade);
2656
2657						// Atualiza o preço total
2658						$('#preco_total').text('€' + data.preco_total);
2659
2660						// Caso o produto tenha sido removido, você pode atualizar a lista de produtos ou remover o item da interface
2661						if (data.quantidade === 0) {
2662							$(`li[data-index="${id}"]`).remove();
2663						}
2664
2665						// Atualiza a quantidade total e lista de produtos
2666						$.ajax({
2667							type: "POST",
2668							url: '/carrinho_back.php',
2669							data: data3,
2670							success: function (data3) {
2671								$(".bola-items").html(data3);
2672								$(".bola-items").show();
2673							}
2674						});
2675
2676						$.ajax({
2677							type: "POST",
2678							url: '/carrinho_back.php',
2679							data: data4,
2680							success: function (response) {
2681								$("#produtos_carrinho").html(response);
2682							}
2683						});
2684
2685						$.ajax({
2686							type: "POST",
2687							url: '/carrinho_back.php',
2688							data: data2,
2689							success: function (data2) {
2690								$("#preco_carrinho").html("€" + data2);
2691							}
2692						});
2693					},
2694				});
2695			});
2696
2697			// Delegação de evento para o botão de incremento
2698			$('body').on('click', '.inc2', function () {
2699				var data3 = "acao=qtd";
2700				var data2 = "acao=preco";
2701
2702				const $button = $(this);
2703				$button.prop('disabled', true);
2704
2705				setTimeout(() => {
2706					$button.prop('disabled', false);
2707				}, 500);
2708
2709				// Captura os dados do produto
2710				const produto = {
2711					id: $(this).data('id'),
2712					preco: parseFloat($(this).data('preco')),
2713					nome: $(this).data('nome'),
2714					imagem: $(this).data('image'),
2715					slug: $(this).data('slug'),
2716					familia: $(this).data('familia'),
2717					quantidade: 1 // Para o incremento, a quantidade é incrementada em 1
2718				};
2719
2720				// Envia os dados via AJAX para o PHP para incrementar a quantidade
2721				$.ajax({
2722					url: '/carrinho_back.php', // Caminho para o script PHP
2723					type: 'POST',
2724					data: {
2725						acao: 'add_compras', // Ação que indica incremento
2726						id: produto.id,
2727						preco: produto.preco,
2728						nome: produto.nome,
2729						imagem: produto.imagem,
2730						slug: produto.slug,
2731						familia: produto.familia,
2732						quantidade: produto.quantidade // Aqui, o valor de quantidade será incrementado no PHP
2733					},
2734					success: function (response) {
2735						$("#produtos_carrinho").html(response);
2736						$.ajax({
2737							type: "POST",
2738							url: '/carrinho_back.php',
2739							data: data3,
2740							success: function (data3) {
2741								$(".bola-items").html(data3);
2742								$(".bola-items").show();
2743							}
2744						});
2745
2746						$.ajax({
2747							type: "POST",
2748							url: '/carrinho_back.php',
2749							data: data2,
2750							success: function (data2) {
2751								$("#preco_carrinho").html("€" + data2);
2752							}
2753						});
2754					},
2755				}); 
2756			});
2757		});
2758	});
2759			
2760</script>
2760
2761
2762<script>
2763	document.addEventListener("DOMContentLoaded", function () {
2764		// Selecionar o body para delegar eventos
2765		const body = document.querySelector('body');
2766
2767		// Delegação de evento para o botão add_btn_ainda
2768		body.addEventListener('click', function(event) {
2769			const addButton = event.target.closest('.add_btn_ainda');
2770			if (addButton) {
2771				const productItem = addButton.closest('.item_ainda');
2772				const quantityContainer = productItem.querySelector(".quantity-container");
2773				quantityContainer.style.display = "flex"; // Mostra o controle de quantidade
2774				addButton.style.display = "none"; // Esconde o botão de adicionar
2775			}
2776
2777			// Delegação de evento para os botões de incremento e decremento
2778			const decrementButton = event.target.closest('.dec2');
2779			if (decrementButton) {
2780				const productItem = decrementButton.closest('.item_ainda');
2781				const quantityInput = productItem.querySelector("input");
2782				let quantity = parseInt(quantityInput.value);
2783				if (quantity > 1) {
2784					quantityInput.value = quantity - 1; // Decrementa a quantidade
2785				} else {
2786					// Se a quantidade for 1, retorna ao botão inicial
2787					const addButton = productItem.querySelector(".add_btn_ainda");
2788					const quantityContainer = productItem.querySelector(".quantity-container");
2789					quantityContainer.style.display = "none"; // Esconde o controle de quantidade
2790					addButton.style.display = "flex"; // Mostra o botão inicial
2791				}
2792			}
2793
2794			const incrementButton = event.target.closest('.inc2');
2795			if (incrementButton) {
2796				const productItem = incrementButton.closest('.item_ainda');
2797				const quantityInput = productItem.querySelector("input");
2798				let quantity = parseInt(quantityInput.value);
2799				quantityInput.value = quantity + 1; // Incrementa a quantidade
2800			}
2801		});
2802	});
2803</script>
2803
2804
2805<style>
2806.quantity-container {
2807    display: flex;
2808    justify-content: center;
2809    align-items: center;
2810    margin-top: 10px;
2811}
2812
2813.quantity-container .form-control {
2814    width: 60px;
2815    text-align: center;
2816}
2817
2818.quantity-container .btn {
2819    padding: 5px 10px;
2820    font-size: 16px;
2821    cursor: pointer;
2822}
2823
2824.apagar{
2825	font-size: 13px !important;
2826    color: #282525;
2827    padding: 7px;
2828    border-radius: 4px;
2829    margin-top: 5px;
2830    background: #F0F0F0;
2831    border-radius: 5px;
2832}
2833
2834input[name="data_nascimento"] {
2835    user-select: none; /* Impede a seleção do texto no campo de data */
2836}
2837</style>
2838
2839<!--
2839<script>
2840	// Verificar se o campo 'data_nascimento' existe antes de adicionar os event listeners
2841	var dataNascimento = document.querySelector('[name="data_nascimento"]');
2842
2843	if (dataNascimento) {
2844		// Adicionar o evento de clique para mostrar o seletor de data
2845		dataNascimento.addEventListener('click', function () {
2846			this.showPicker(); // Para abrir o seletor de data no campo de entrada
2847		});
2848	
2849		// Adicionar o evento de foco para remover a seleção, se houver
2850		dataNascimento.addEventListener('focus', function () {
2851			this.setSelectionRange(0, 0);  // Remove a seleção, se houver
2852		});
2853	}
2854</script>
2854-->
2855
2856<link href='https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/ui-lightness/jquery-ui.css' rel='stylesheet'>
2857<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
vendor: 1 bytes, line 2857
2857
2858<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>
2858
2859								
2860								
2861<script>
2862$('[name="data_nascimento"]').datepicker({
2863    dateFormat: "dd/mm/yy", // Define o formato da data
2864    changeMonth: true, // Permite mudar o mês
2865    changeYear: true,  // Permite mudar o ano
2866    yearRange: "1900:+0" // Define um intervalo de anos (ex: de 1900 até o ano atual)
2867});
2868
2869
2870
2871 $('[name="data_nascimento"]').mask('00/00/0000');
2872</script>
2872
2873
2874<script>
2875	// Função para verificar se o usuário está em um dispositivo móvel
2876	function isMobile() {
2877		return /Mobi|Android|iPhone|iPad|iPod|Windows Phone/i.test(navigator.userAgent);
2878	}
2879
2880	// Exibe a mensagem modal se o usuário estiver em um dispositivo móvel e não foi mostrado antes
2881	if (isMobile() && !localStorage.getItem('appPromptShown')) {
2882		setTimeout(function() {
2883			document.getElementById('overlay').style.display = 'block';
2884			document.getElementById('appPrompt').style.display = 'block';
2885		}, 1000); // Espera 1 segundo antes de mostrar a mensagem
2886
2887		// Marca que o prompt foi mostrado
2888		localStorage.setItem('appPromptShown', 'true');
2889	}
2890
2891	// Função para abrir o app ou redirecionar para a loja certa
2892	function openApp() {
2893		const userAgent = navigator.userAgent || navigator.vendor || window.opera;
2894		let appLink = 'comidaapp://pagamento';
2895		let storeLink = 'https://play.google.com/store/apps/details?id=com.albinet.comida_casa'; // Link genérico caso o SO não seja detectado
2896
2897		if (/android/i.test(userAgent)) {
2898			storeLink = 'https://play.google.com/store/apps/details?id=com.albinet.comida_casa'; // Link da Play Store
2899		} else if (/iPad|iPhone|iPod/.test(userAgent) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)) {
2900			storeLink = 'https://apps.apple.com/pt/app/comida-em-casa/id6742107996?l=pt-PT'; // Link da App Store
2901		}
2902
2903		// Tenta abrir o app via deep link
2904		window.location.href = appLink;
2905
2906		// Se o app não abrir, redireciona para a loja após 1.5s
2907		setTimeout(function() {
2908			window.location.href = storeLink;
2909		}, 2000);
2910	}
2911
2912	// Função para fechar a mensagem modal
2913	function closePrompt() {
2914		document.getElementById('overlay').style.display = 'none';
2915		document.getElementById('appPrompt').style.display = 'none';
2916	}
2917</script>
2917
2918
2919
2920</html>               
2921
2922
2923<div id="appPrompt">
2924    <h2>Deseja abrir a app?</h2>
2925    <p>Para uma experiência mais rápida e personalizada, abra o nosso app!</p>
2926    <button style="background: #d12320 !important" class="btn33" onclick="openApp()">Sim, quero abrir</button>
2927    <button style="background: #282525 !important" class="btn33 btn-close1" onclick="closePrompt()">Não, obrigado</button>
2928</div>

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.