PageSourceSearch

https://www.hotelsarmiento.com.ar/pt/?lng=pt

html hotelsarmiento.com.ar collected 2026-09-26 16:24:46 UTC 527,664 bytes, 11,395 lines download raw bytes

1<!doctype html>
2<html lang="pt">
3
4<head>
5	<meta name="viewport" content="width=1300, max-width=1300">
6	<meta name="google-site-verification" content="l_kBGVByEFuQBNvWwVoARudBcFDIGjXjDZ9cFhfwagg" />
7
8	
9
10
11	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
12<meta http-equiv="Cache-Control" content="Public" />
13<meta name="robots" content="index, follow" />
14
15
16
17    <title>Sarmiento Palace Hotel</title>
18    <meta name="description" content="Hotel Sarmiento Palace 3★ no centro de Buenos Aires. Conforto, elegância e clima familiar. Reserve direto e economize.">
19
20    <meta property="og:title" content="Sarmiento Palace Hotel" />
21    <meta property="og:description" content="Hotel Sarmiento Palace 3★ no centro de Buenos Aires. Conforto, elegância e clima familiar. Reserve direto e economize." />
22    <meta property="og:type" content="website" />
23    <meta property="og:url" content="https://www.hotelsarmiento.com.ar/pt/" />
24    <link rel="canonical" href="https://www.hotelsarmiento.com.ar/pt/" />
25    <meta property="og:image" content="https://images-new.pxsol.com/NM2IxjDm9P-3VKQkWFhh00QIgSEC8BIXp27nlDJs_04/rs:fill:1200:630:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2F42fe99e3912227273a3da86ddcd34990d9d5c525.jpg@jpg" />
26    <meta property="og:image:type" content="image/jpeg" />
27    <meta property="og:image:width" content="1200" />
28    <meta property="og:image:height" content="630" />
29    <meta property="og:image:alt" content="Sarmiento Palace Hotel" />
30            <meta name="keywords" content="hotel em Buenos Aires, hotéis em Buenos Aires, alojamento em Buenos Aires, onde se hospedar em Buenos Aires?, hotel perto do Congresso Nacional, hotel com café da manhã buffet em Buenos Aires" />            <meta name="robots" content="index" />
31                <meta property="" content="Sarmiento Palace Hotel" />
32                    <meta property="" content="Hotel Sarmiento Palace 3★ no centro de Buenos Aires. Conforto, elegância e clima familiar. Reserve direto e economize." />
33                    <meta property="" content="https://files-p.pxsol.com/68/P203/photos/42fe99e3912227273a3da86ddcd34990d9d5c525.jpg" />
34                    <meta property="" content="https://www.hotelsarmiento.com.ar/pt/" />
35                    <meta property="" content="index" />
36                    <meta property="" content="hotel em Buenos Aires, hotéis em Buenos Aires, alojamento em Buenos Aires, onde se hospedar em Buenos Aires?, hotel perto do Congresso Nacional, hotel com café da manhã buffet em Buenos Aires" />
37        
38	<link rel="alternate" hreflang="es-AR" href="https://www.hotelsarmiento.com.ar/" />
39	<link rel="alternate" hreflang="en-US" href="https://www.hotelsarmiento.com.ar/en/" />
40	<link rel="alternate" hreflang="pt-BR" href="https://www.hotelsarmiento.com.ar/pt/" />
41	<link rel="alternate" hreflang="fr-FR" href="https://www.hotelsarmiento.com.ar/fr/" />
42	<link rel="alternate" hreflang="de-DE" href="https://www.hotelsarmiento.com.ar/de/" />
43	<link rel="alternate" hreflang="x-default" href="https://www.hotelsarmiento.com.ar/" />
44
45<link rel="icon" type="image/png" sizes="16x16" href="https://images-new.pxsol.com/RJKNiBF3-U8kkX8sOZKT0AGv8O0TcM1xPAvPx9V7mTA/rs:fill:16:16:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
46<link rel="icon" type="image/png" sizes="32x32" href="https://images-new.pxsol.com/iWqy1sbbKS850ALUIa88bc2Lkeoj9ByKr7Y0tQLlkiw/rs:fill:32:32:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
47<link rel="icon" type="image/png" sizes="48x48" href="https://images-new.pxsol.com/Il0hY7wBc4oPLRtWfgml0MPg5DLgId9EnUeENs3LcLM/rs:fill:48:48:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
48<link rel="icon" type="image/png" sizes="96x96" href="https://images-new.pxsol.com/ZPXvY4TjcD42ioGzsaEXbyget6C28SosPHU3MThhCvo/rs:fill:96:96:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
49<link rel="shortcut icon" href="https://files-p.pxsol.com/68/company/library/user/181438789186709c06ec3b520fccf0dc4d0a0285e1e.png" />
50
51<link rel="apple-touch-icon" sizes="57x57" href="https://images-new.pxsol.com/yaMidJ463R9BoKllgSpI88btFe7HpMPNT5iO8kQTDyA/rs:fill:57:57:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
52<link rel="apple-touch-icon" sizes="72x72" href="https://images-new.pxsol.com/oUbgXPq3jUQe-A9am3OYg7iiYz0O74yZh-3ojZJPSa4/rs:fill:72:72:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
53<link rel="apple-touch-icon" sizes="76x76" href="https://images-new.pxsol.com/4-xLeuH8hJEU6bUWBYOKK7u6cXtP5CosNw72hUjcEjk/rs:fill:76:76:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
54<link rel="apple-touch-icon" sizes="114x114" href="https://images-new.pxsol.com/ZhPZeAVUGaeQRpq8wxwvlazFK2YQLKI2C6CeX_vXcLg/rs:fill:114:114:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
55<link rel="apple-touch-icon" sizes="120x120" href="https://images-new.pxsol.com/0njXfZVjMdv--pdBaqGKh96Y3lxnS2hv7Z5HiGpk_Eo/rs:fill:120:120:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
56<link rel="apple-touch-icon" sizes="144x144" href="https://images-new.pxsol.com/mw6WPhCJl49c8ndyc0540lV8_GErtD12YXzoaiNWPNs/rs:fill:144:144:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
57<link rel="apple-touch-icon" sizes="152x152" href="https://images-new.pxsol.com/B3G6z691xcQ8Tjziig0NjuK6s5oAazw_pBvE2JGdgig/rs:fill:152:152:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
58<link rel="apple-touch-icon" sizes="180x180" href="https://images-new.pxsol.com/iXU1KQNiGfgF7Oq459x
587VEzuQuHKMEQ7Ayi6cqRgjQE/rs:fill:180:180:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
59
60<link rel="icon" sizes="192x192" href="https://images-new.pxsol.com/dlDwk8ZjgnX6yFNAz_v6uK677t45-2x9kfTFXMi2spY/rs:fill:192:192:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
61<link rel="icon" sizes="512x512" href="https://images-new.pxsol.com/VB6Cu37zJa7gv-0BFNN4YSH2B5KzS475LEJiUWNJvtU/rs:fill:512:512:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
62
63   <link rel="manifest" href="/manifest.json?pos=SarmientoPalace"> 
64
65<meta name="theme-color" content="#006633">
66
67<meta property="og:site_name" content="Inicio - Sarmiento Palace Hotel" />
68<meta name="twitter:card" content="summary">
69<meta name="twitter:site" content="Inicio - Sarmiento Palace Hotel">
70<meta name="twitter:title" content="Inicio - Sarmiento Palace Hotel">
71<meta name="twitter:description" content="En pleno corazón de Buenos Aires, para que disfrutes de teatros, restaurantes, complejos culturales y de entretenimiento">
72<meta name="twitter:creator" content="PXSOL">
73<meta name="twitter:image" content="https://images-new.pxsol.com/N37o-Zv-mlWdNNlte5a-hrR8kF9lQiNUxJq49WWVWU4/rs:fill:630:430:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2F42fe99e3912227273a3da86ddcd34990d9d5c525.jpg@jpg">
74
75
76
77<style>
78			.neo_bgcolor_primary, .MuiButton-containedSecondary {
79background-color: #006633 !important;
80}
81
82.MuiButton-containedSecondary.MuiButton-contained.Mui-disabled {
83    box-shadow: none !important;
84    background-color: rgba(0, 0, 0, 0.12) !important;
85}
86
87.neo_color_primary {
88color: #006633;
89}
90
91.cta_webcheckin_px:not(.btn_sesion) {
92background-color: #006633 !important;
93color: white !important;
94border: none !important;
95font-weight: bold;
96right: 0;
97display: flex;
98align-items: center;
99font-size: 13px !important;
100padding: 7px 8px !important;
101line-height: 1.2;
102text-align: left;
103}
104
105.cta_webcheckin_px.btn_sesion {
106border: none !important;
107font-weight: bold;
108right: 0;
109display: flex;
110align-items: center;
111font-size: 13px !important;
112padding: 7px 8px !important;
113line-height: 1.2;
114text-align: left;
115}
116
117.cta_webcheckin_px * {
118color: inherit !important;
119}
120
121.cta_webcheckin_px.btn_sesion > i {
122    color: #006633 !important;
123}
124
125.cta_webcheckin_px {
126background-color: #33855c;
127}
128.cta_webcheckin_px i {
129margin-right: 10px;
130font-size: 15px;
131}
132
133.neo_bgcolor_primary:hover, .MuiButton-containedSecondary:hover {
134background-color: #33855c;
135}
136.px-sm-inputcontainer:hover label {
137color: #006633 !important;
138}
139div.ui-datepicker#ui-datepicker-div .ui-state-active, div.ui-datepicker#ui-datepicker-div .ui-widget-content .ui-state-active, div.ui-datepicker#ui-datepicker-div .ui-widget-header .ui-state-active, div.ui-datepicker#ui-datepicker-div td:not(.ui-datepicker-today) .ui-state-highlight, div.ui-datepicker#ui-datepicker-div .ui-widget-content .ui-state-highlight, div.ui-datepicker#ui-datepicker-div .ui-widget-header .ui-state-highlight {
140background-color: #006633 !important;
141}
142
143.px-mk-iconchangesearch {
144color: #006633 !important;
145}
146
147.px-mk-locationdropdown>*:hover .px-mk-locationimg {
148fill: #006633 !important;
149}
150
151.neo_mobile_supratop .neo_supratop_selector i {
152color: #006633 !important;
153}
154
155.standard_cta {
156padding: 10px 15px;
157box-sizing: border-box;
158border-radius: 5px;
159display: flex;
160justify-content: center;
161text-align: center;
162align-items: center;
163background: #006633 !important;
164color: #FFFFFF;
165transition: .2s ease-out;
166color: white;
167text-decoration: none;
168font-size: 18px;
169border: none;
170transition: .25s ease-out;
171cursor: pointer;
172}
173
174.standard_cta:hover {
175background-color: #4d9471;
176}
177.standard_cta:disabled {
178opacity: .5;
179cursor: not-allowed;
180}
181
182.neo_cta_naked {
183font-weight: bold;
184text-decoration: none;
185color: #006633;
186display: inline-flex;
187background-color: transparent;
188border: none;
189cursor: pointer;
190transition: .2s ease-out;
191}
192
193.neo_cta_naked.gray {
194color: darkgray;
195}
196
197.neo_cta_naked:hover {
198color: #004824;
199}
200
201.neo_cta_standard {
202border: none;
203border-radius: 10px;
204padding: 12px 20px;
205font-size: 18px;
206display: flex;
207align-items: center;
208justify-content: space-between;
209font-weight: bold;
210cursor: pointer;
211transition: .25s ease-out;
212box-sizing: border-box;
213text-decoration: none;
214}
215
216.neo_cta_standard.smaller {
217font-size: 16px;
218padding: 7px 13px;
219}
220
221.neo_cta_standard.shadow {
222box-shadow: 0px -1px 15px rgba(0,0,0,.3);
223}
224
225.neo_cta_standard.lowpadding {
226padding: 12px;
227}
228.neo_cta_standard.lowpadding > i {
229margin: 0;
230}
231
232.neo_cta_standard:disabled {
233opacity: .5;
234cursor: not-allowed;
235}
236
237.neo_cta_standard.primary {
238background: #006633;
239color: #FFFFFF;
240}
241.neo_cta_standard.white_cta {
242background: white;
243color: black;
244}
245.neo_cta_standard.primary:hover {
246background-color: #004824;
247color: #FFFFFF;
248}
249.neo_cta_standard.primary:active {
250background-color: #00331a;
251color: #FFFFFF;
252}
253
254.neo_cta_standard > i {
255margin-left: 10px;
256}
257
258.neo_cta_standard:disabled, .neo_cta_standard[disabled] {
259cursor: not-allowed;
260filter: saturate(.3);
261opacity: 0.8;
262}
263
264.neo_cta_standard.v_disabled {
265background-color: #1e1e1e;
266}
267
268.neo_cta_standard .loading-text, .neo_cta_standard .success-text {
269display:none;
270}
271
272.neo_cta_standard.v_loading {
273pointer-events: none;
274}
275.neo_cta_standard.v_loading {
276position: relative;
277}
278.neo_cta_standard .loading-text {
279display:none;
280}
281.neo_cta_standard.v_loading > *:not(i,.loading-text) {
282display:none;
283}
284.neo_cta_standard.v_loading > i {
285position: relative;
286height: 20px;
287width: 20px;
288}
289
290.neo_cta_standard.v_loading > i:before {
291content: none;
292}
293
294.neo_cta_standard.v_loading > i::after {
295content: "";
296position: absolute;
297width: 100%;
298height: 100%;
299box-sizing: border-box;
300top: 0;
301left: 0;
302right: 0;
303bottom: 0;
304margin: auto;
305border: 0.25rem solid transparent;
306border-top-color: #ffffff;
307border-right-color: #ffffff;
308border-radius: 50%;
309animation: spinner .6s linear infinite;
310}
311.neo_cta_standard.v_loading .loading-text {
312display:block;
313}
314
315.neo_cta_standard.v_success {
316background-color: #00a651;
317}
318.neo_cta_standard.v_success > *:not(.success-text) {
319display:none;
320}
321.neo_cta_standard.v_success .success-text {
322display:block;
323}
324@keyframes button-loading-spinner {
325from {
326transform: rotate(0turn);
327}
328
329to {
330transform: rotate(1turn);
331}
332}
333
334@keyframes spinner {
335to {
336transform: rotate(360deg);
337}
338}
339
340#innerLoader, .innerLoader {
341height: 100%;
342display: flex;
343justify-content: center;
344align-items: center;
345min-height: 200px;
346}
347.neo_spin_loader {
348height: 60px;
349width: 60px;
350margin-bottom: 20px;
351}
352.neo_spin_loader:before {
353content: "";
354box-sizing: border-box;
355position: absolute;
356width: 60px;
357height: 60px;
358border-radius: 50%;
359border: 3px solid #ccc;
360border-top-color: #006633;
361animation: spinner 1s linear infinite;
362}
363.neo_bgcolor_primary {
364background-color: #006633;
365}
366
367.neo_button_partyselector {
368border: 1px solid #006633;
369height: 40px;
370width: 40px;
371display: flex;
372justify-content: center;
373align-items: center;
374text-align: center;
375background: transparent;
376color: #006633;
377margin: 10px 0;
378transition: .2s ease-out;
379border-radius: 10px;
380font-size: 18px;
381cursor: pointer;
382
383}
384
385.neo_button_partyselector:hover {
386background-color: #99c2ae;
387}
388
389.neo_button_partyselector:focus {
390box-shadow: 0 0 0 3px #cce1d7;
391}
392
393.neo_button_partyselector:active {
394color: #FFFFFF;
395background: #006633;
396}
397
398.neo_partyselector_quantity {
399padding: 15px 10px;
400font-size: 18px;
401}
402
403.ChildrensAgeSelect {
404width: 100%;
405box-sizing: border-box;
406padding: 10px;
407margin-bottom: 10px;
408border-radius: 10px;
409border-color: #ccc;
410}
411
412.PartyTypeSimulator .px-mk-inputicon svg {
413height: 1.2em;
414width: 1.2em;
415fill: #aaa;
416}
417.neo_bgcolor_primary_text {
418color: #FFFFFF;
419}
420
421.neo_pxuser_mainbtn {
422height: 3.5rem;
423max-height: 100%;
424overflow: hidden;
425transition: .2s ease-out;
426border-radius: .5rem;
427cursor: pointer;
428padding: 0 0.5rem;
429background-color: white;
430color: black !important;
431}
432
433.neo_pxuser_mainbtn * {
434color: black !important;
435}
436
437.neo_pxuser_mainbtn:hover {
438background-color: #f2f2f2;
439}
440
441.neo_pxuser_avatar_container {
442height: 100%;
443width: 3rem;
444display: flex;
445justify-content: center;
446align-items: center;
447}
448
449.neo_pxuser_avatar_container img {
450height: 80%;
451border-radius: 2rem;
452}
453
454.neo_pxuser_text_block {
455padding: .5rem .5rem .5rem .5rem;
456box-sizing: border-box;
457height: 100%;
458justify-content: center;
459line-height: 1.5;
460}
461
462.neo_pxuser_icon_dd {
463padding: .5rem;
464box-sizing: border-box;
465}
466
467.neo_pxuser_dropdown {
468position: absolute;
469right: 0;
470top: 100% !important;
471background: white;
472border-radius: .25rem;
473min-width: 110%;
474box-shadow: 0 3px 6px rgba(0,0,0,.5);
475text-align: left;
476display: none !important;
477}
478
479.neo_pxuser_dropdown * {
480color: black !important;
481}
482
483.neo_pxuser_dropdown.open {
484display: flex !important;
485top: 100% !important;
486}
487
488.neo_pxuser_dd_button {
489padding: 1rem;
490transition: .2s ease-out;
491cursor: pointer;
492text-decoration: none;
493color: black;
494}
495
496.neo_pxuser_dd_button > .mdi {
497font-size: 1.2rem;
498line-height: 1;
499vertical-align: middle;
500display: inline-flex;
501width: 2rem;
502justify-content: center;
503align-items: center;
504height: 2rem;
505}
506
507.neo_pxuser_dd_button > span {
508padding: .5rem;
509display: inline-flex;
510flex-grow: 1;
511width: calc(100% - 3rem);
512}
513
514.neo_pxuser_dd_button:hover {
515background-color: #f2f2f2;
516border-radius: .25rem;
517}
518
519.neo_pxuser_email {
520    max-width: 8rem;
521    overflow: hidden;
522    text-overflow: ellipsis;
523}
524
525@media only screen and (max-width: 468px) {
526
527    .neo_pxuser_mainbtn {
528        flex-flow: row-reverse;
529        flex-grow: 1;
530    }
531    
532    .neo_pxuser_icon_dd {
533        display: none;
534    }
535    
536    .neo_pxuser_text_block {
537        text-align: right;
538        text-transform: none;
539        letter-spacing: initial;
540        color: black;
541        line-height: 1;
542        max-width: 50%;
543    }
544    
545    .neo_pxuser_email {
546        display: none;
547    }
548    
549    .neo_pxuser_container {
550        text-transform: initial;
551        letter-spacing: initial;
552        font-weight: normal;
553        font-size: .8rem;
554    }
555    
556    .neo_pxuser_name {
557        font-weight: bold;
558        text-align: left;
559        white-space: nowrap;
560        overflow: hidden;
561        text-overflow: ellipsis;
562        display: flex;
563        align-items: center;
564    }
565    
566    .neo_pxuser_name strong {
567        display: inline-block;
568        max-width: 150px;
569        overflow: hidden;
570        white-space: nowrap;
571        text-overflow: ellipsis;
572        vertical-align: middle;
573        line-height: 1.2;
574    }
575    
576    .neo_pxuser_dd_button {
577        padding: .5rem;
578    }
579    
580
581}</style>
582
583
584
585<script type="application/ld+json" defer async>
586{
587   "url" : "https:\/\/www.hotelsarmiento.com.ar\/pt\/",
588   "telephone": "+54 11 2051-3061",
589   "description" : "En pleno coraz\u00f3n de Buenos Aires, para que disfrutes de teatros, restaurantes, complejos culturales y de entretenimiento",
590   "name" : "Inicio - Sarmiento Palace Hotel",
591         "logo" : "https:\/\/images-new.pxsol.com\/VB6Cu37zJa7gv-0BFNN4YSH2B5KzS475LEJiUWNJvtU\/rs:fill:512:512:1\/q:80\/plain\/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png",
592      "image" : "https:\/\/images-new.pxsol.com\/N37o-Zv-mlWdNNlte5a-hrR8kF9lQiNUxJq49WWVWU4\/rs:fill:630:430:1\/q:80\/plain\/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2F42fe99e3912227273a3da86ddcd34990d9d5c525.jpg@jpg",
593      "aggregateRating" : {
594      "reviewCount" : 3025,
595      "@type" : "AggregateRating",
596      "bestRating" : 10,
597      "ratingValue" : 9.4   },
598         "@type" : "Hotel",
599   "address" : {
600      "postalCode" : "C1044",
601      "streetAddress" : "Sarmiento 1953, C1044 Cdad. Autónoma de Buenos Aires, Argentina, C1044 Comuna 3, Buenos Aires, Argentina",
602      "addressCountry" : "Argentina",
603      "addressRegion" : "Buenos Aires",
604      "addressLocality" : "Comuna 3",
605      "@type" : "PostalAddress"
606   },
607   "geo": {
608    "@type": "GeoCoordinates",
609    "latitude": -34.6057266,
610    "longitude": -58.3944636   },
611   "@context" : "http://schema.org"
612   }
613</script>
613
614
615<!-- Organization Schema for Brand/Logo SEO -->
616<script type="application/ld+json">
617{
618   "@context": "https://schema.org",
619   "@type": "Organization",
620   "name": "Inicio - Sarmiento Palace Hotel",
621   "url": "https:\/\/www.hotelsarmiento.com.ar\/pt\/",
622   "logo": "https:\/\/images-new.pxsol.com\/VB6Cu37zJa7gv-0BFNN4YSH2B5KzS475LEJiUWNJvtU\/rs:fill:512:512:1\/q:80\/plain\/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png",
623   "image": "https:\/\/images-new.pxsol.com\/VB6Cu37zJa7gv-0BFNN4YSH2B5KzS475LEJiUWNJvtU\/rs:fill:512:512:1\/q:80\/plain\/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png"}
624</script>
624
625
626
627
628				<link rel="icon" sizes="192x192" href="https://images-new.pxsol.com/dlDwk8ZjgnX6yFNAz_v6uK677t45-2x9kfTFXMi2spY/rs:fill:192:192:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F181438789186709c06ec3b520fccf0dc4d0a0285e1e.png@png">
629			<link rel="icon" type="image/png" href="https://files-p.pxsol.com/68/company/library/user/181438789186709c06ec3b520fccf0dc4d0a0285e1e.png" />
630		<!-- CustomHTMLHead (SiteJson) --><link rel="preconnect" href="https://fonts.googleapis.com">
631<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
632<link href="https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=Source+Sans+Pro:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap" rel="stylesheet">	<!-- Pos->Type: hotel.css -->
633
634<!-- Google tag (gtag.js) GA4 PXSOL TODOS LOS HOTELES -->
635<script>
636  window.dataLayer = window.dataLayer || [];
637  function gtag(){dataLayer.push(arguments);}
638  gtag('js', new Date());
639</script>
vendor: 64 bytes, lines 639-640
639
640<script async src="https://www.googletagmanager.com/gtag/js?id=
640G-SYSQR6EL6E
vendor: 12 bytes, line 640
640"></script>
641<script>
642  let globalSessionGA4Config = {
643    'pos': 'SarmientoPalace',
644    'product_id': '203',
645    'product_name': 'Sarmiento Palace Hotel',
646    'product_country': 'Argentina',
647    'product_state': 'Buenos Aires',
648    'product_plaza': 'Comuna 3',
649    'product_score': '93.97'
650  };
651
652      gtag('config', 'G-R46ZZR63SX', globalSessionGA4Config);
653  
654      gtag('config', 'G-SYSQR6EL6E', globalSessionGA4Config);
655  
656      gtag('config', 'AW-1028619328', globalSessionGA4Config);
657  
658  // Mirror page_view into dataLayer for GTM debug (guard to avoid duplicates)
659  if (!window.__dl_page_view_pushed) {
660    window.dataLayer.push({ event: 'page_view' });
661    window.__dl_page_view_pushed = true;
662  }
663
664  
665</script>
665
666
667<!-- Global site tag (gtag.js)  -->
vendor: 64 bytes, lines 667-668
667
668<script async src="https://www.googletagmanager.com/gtag/js?id=
668UA-34517567-10
vendor: 12 bytes, line 668
668"></script>
669<script>
670  window.dataLayer = window.dataLayer || [];
671
672  function gtag() {
673    dataLayer.push(arguments);
674    try {
675      var args = Array.prototype.slice.call(arguments);
676      if (args[0] === 'event') {
677        var dlEventName = args[1];
678        var dlParams = (args.length > 2 && typeof args[2] === 'object') ? args[2] : {};
679        var dlObject = {};
680        for (var key in dlParams) {
681          if (Object.prototype.hasOwnProperty.call(dlParams, key)) {
682            dlObject[key] = dlParams[key];
683          }
684        }
685        dlObject.event = dlEventName;
686        window.dataLayer.push(dlObject);
687        
688        // Intercept add_to_cart and fire form_success after it
689        if (dlEventName === 'add_to_cart') {
690          setTimeout(function() {
691            console.log('%c[pxTrack] 🚀 FIRING form_success for add_to_cart', 'color: #4CAF50; font-weight: bold;');
692            window.pxTrack('form_success', {
693              form_id: 'add_to_cart',
694              lead_id: null,
695              transaction_id: null
696            });
697          }, 100);
698        }
699      }
700    } catch (e) {}
701  }
702  gtag('js', new Date());
703
704      gtag('config', 'G-R46ZZR63SX');
705  
706      gtag('config', 'UA-34517567-10');
707  
708      gtag('config', 'AW-1028619328');
709  
710  </script>
710
711
712<!-- Pxsol Data Layer utilities and event wiring -->
713<script>
714  (function() {
715    // DEBUG: Confirm script is loaded and updated
716    console.log('%c[pxTrack] Script loaded - Version: 2025-01-15-no-inventory-v3-rate-limit-fix', 'color: #4CAF50; font-weight: bold; font-size: 12px;');
717    
718    // Define manual scan function globally FIRST (before any other code that might fail)
719    window.__px_manual_no_inventory_scan = function() {
720      console.log('[pxTrack] Manual scan triggered');
721      if (window.__px_no_inventory_scan_func) {
722        return window.__px_no_inventory_scan_func();
723      } else {
724        console.warn('[pxTrack] Watcher not initialized yet. Performing basic scan...');
725        // Perform basic scan even if watcher not initialized
726        try {
727          var hasNoInventory = false;
728          var detectionMethod = '';
729          
730          // Check DOM elements
731          var noInventoryContainer = document.querySelector('#no-inventory-container');
732          var noInventoryElement = document.querySelector('#no-inventory');
733          if (noInventoryContainer || noInventoryElement) {
734            hasNoInventory = true;
735            detectionMethod = 'DOM element (ID)';
736            console.log('[pxTrack] ✅ Found #no-inventory-container or #no-inventory');
737          }
738          
739          // Check px_jsonQuery
740          if (!hasNoInventory && typeof window.px_jsonQuery !== 'undefined' && window.px_jsonQuery) {
741            var jsonQuery = window.px_jsonQuery;
742            if (jsonQuery.ProductList && Array.isArray(jsonQuery.ProductList) && jsonQuery.ProductList.length > 0) {
743              var allZero = true;
744              for (var i = 0; i < jsonQuery.ProductList.length; i++) {
745                var product = jsonQuery.ProductList[i];
746                var productAvail = product.Availability || 0;
747                if (product.SkuList && Array.isArray(product.SkuList) && product.SkuList.length > 0) {
748                  for (var j = 0; j < product.SkuList.length; j++) {
749                    if (product.SkuList[j].Availability && product.SkuList[j].Availability > 0) {
750                      allZero = false;
751                      break;
752                    }
753                  }
754                } else if (productAvail > 0) {
755                  allZero = false;
756                }
757                if (!allZero) break;
758              }
759              if (allZero) {
760                hasNoInventory = true;
761                detectionMethod = 'Json_Query';
762                console.log('[pxTrack] ✅ All products have Availability === 0');
763              }
764            }
765          }
766          
767          if (hasNoInventory && !window.__px_no_inventory_pushed) {
768            console.log('[pxTrack] 🚀 FIRING no_inventory event manually - Method:', detectionMethod);
769            window.__px_no_inventory_pushed = true;
770            var params = {};
771            try {
772              // Try to get search params
773              var startRaw = (document.querySelector('#fechaingreso') || {}).value || '';
774              var endRaw = (document.querySelector('#fechaegreso') || {}).value || '';
775              params.start_date = startRaw;
776              params.end_date = endRaw;
777              params.no_inventory = true;
778            } catch(e) {}
779            window.pxTrack('no_inventory', params);
780            
781            // Fire form_success for search form after no_inventory
782            setTimeout(function() {
783              console.log('%c[pxTrack] 🚀 FIRING form_success for search form (after manual no_inventory)', 'color: #4CAF50; font-weight: bold;');
784              window.pxTrack('form_success', {
785                form_id: 'pxmk_searchform',
786                lead_id: null,
787                transaction_id: null
788              });
789            }, 100);
790            
791            return { fired: true, method: detectionMethod, params: params };
792          } else if (hasNoInventory) {
793            return { already_fired: true, method: detectionMethod };
794          } else {
795            return { no_inventory_detected: false, px_jsonQuery_exists: typeof window.px_jsonQuery !== 'undefined' };
796          }
797        } catch(e) {
798          console.error('[pxTrack] Error in manual scan:', e);
799          return { error: 'Scan failed', message: e.message };
800        }
801      }
802    };
803    
804    window.dataLayer = window.dataLayer || [];
805
806    // Helper that tracks to both GA4 and dataLayer
807    if (!window.pxTrack) {
808      window.pxTrack = function(eventName, params) {
809        params = params || {};
810        try { gtag('event', eventName, params); } catch(e) {}
811        try {
812          var dl = {};
813          for (var k in params) if (Object.prototype.hasOwnProperty.call(params, k)) dl[k] = params[k];
814          dl.event = eventName;
815          window.dataLayer.push(dl);
816        } catch(e) {}
817      };
818    }
819
820    // Privacy-safe booleans for PII presence
821    function bool(val) { return !!val; }
822
823    // Read URL param
824    function getUrlParam(name) {
825      try {
826        var params = new URLSearchParams(location.search);
827        return params.get(name) || '';
828      } catch (e) { return ''; }
829    }
830
831    // Normalize common date formats to YYYY-MM-DD (best-effort)
832    function normalizeDate(value) {
833      try {
834        if (!value) return '';
835        var v = String(value).trim();
836        // dd/mm/yyyy -> yyyy-mm-dd
837        if (/^\d{2}\/\d{2}\/\d{4}$/.test(v)) {
838          var p = v.split('/');
839          return [p[2], p[1].padStart(2, '0'), p[0].padStart(2, '0')].join('-');
840        }
841        // Already ISO
842        if (/^\d{4}-\d{2}-\d{2}$/.test(v)) return v;
843        return v;
844      } catch (e) {
845        return String(value || '');
846      }
847    }
848
849    // Session id generator
850    function getPxSessionId() {
851      try {
852        var key = 'px_session_id';
853        var match = document.cookie.match(new RegExp('(^| )' + key + '=([^;]+)'));
854        if (match) return match[2];
855        var id = (crypto && crypto.randomUUID) ? crypto.randomUUID() : String(Date.now()) + '_' + Math.floor(Math.random()*1e9);
856        document.cookie = key + '=' + id + ';path=/;max-age=' + (60*60*24*365).toString();
857        return id;
858      } catch(e) {
859        return 'sid_' + String(Date.now());
860      }
861    }
862
863    // Expose chat helpers (to be called from chat widget)
864    window.pxChatOpen = function(payload) { window.pxTrack('chat_open', payload || {}); };
865    window.pxChatMessage = function(payload) { window.pxTrack('chat_message', payload || {}); };
866    window.pxChatClose = function(payload) { window.pxTrack('chat_close', payload || {}); };
867    window.pxFormSuccess = function(payload) { window.pxTrack('form_success', payload || {}); };
868    window.pxNoInventory = function(payload) { window.pxTrack('no_inventory', payload || { no_inventory: true }); };
869
870    // Context payload from PHP (best-effort)
871    var pxContext = {
872      pos: 'SarmientoPalace',
873      product_id: '203',
874      product_name: 'Sarmiento Palace Hotel',
875      product_country: 'Argentina',
876      product_state: 'Buenos Aires',
877      product_plaza: 'Comuna 3',
878      search_id: '',
879      start_date: '',
880      end_date: '',
881      transaction_id: '',
882      value: null,
883      currency: '',
884      page_url: location.href,
885      session_id: getPxSessionId()
886    };
887
888    // --- External engine redirect auto event when engine is disabled ---
889    
890    
891    // Adults/children/rooms best-effort totals from PHP when available
892        pxContext.adults = 0;
893    pxContext.children = 0;
894    pxContext.rooms = 0;
895
896    // Push context for GTM usage
897    try { window.dataLayer.push(Object.assign({ event: 'px_context' }, pxContext)); } catch(e) {}
898
899    // Boot event para validar integración en DebugView/GTM
900    if (!window.__px_boot_pushed) {
901      window.__px_boot_pushed = true;
902      window.pxTrack('px_layer_ready', {
903        session_id: pxContext.session_id,
904        page_url: pxContext.page_url,
905        pos: pxContext.pos || '',
906        product_id: pxContext.product_id || '',
907        search_id: pxContext.search_id || '',
908        ts: Date.now()
909      });
910    }
911
912    // ----- Search events wiring (V3/V8) -----
913    function getSearchParamsFromDOM() {
914      var startRaw = (document.querySelector('.neo_marketplace_buscador_v3 #fechaingreso') ||
915                      document.querySelector('#fechaingreso') ||
916                      document.querySelector('[name="Start"]') ||
917                      document.querySelector('#Start') || { }).value || pxContext.start_date || '';
918      var endRaw   = (document.querySelector('.neo_marketplace_buscador_v3 #fechaegreso') ||
919                      document.querySelector('#fechaegreso') ||
920                      document.querySelector('[name="End"]') ||
921                      document.querySelector('#End') || { }).value || pxContext.end_date || '';
922      var sidRaw   = (document.querySelector('#SearchID') || { }).value || getUrlParam('SearchID') || pxContext.search_id || '';
923      var params = {
924        start_date: normalizeDate(startRaw) || '',
925        end_date: normalizeDate(endRaw) || '',
926        pos: pxContext.pos || '',
927        hotel_id: pxContext.product_id || '',
928        page_url: location.href,
929        session_id: pxContext.session_id
930      };
931      if (sidRaw) params.search_id = sidRaw;
932      // Adults/children from UI if present
933      try {
934        var adultsEl = document.querySelector('.neo_partyselector_quantity[party-type="adults"]');
935        var childrenEl = document.querySelector('.neo_partyselector_quantity[party-type="children"]');
936        if (adultsEl) params.adults = Number(adultsEl.getAttribute('val') || adultsEl.textContent) || pxContext.adults || 0;
937        if (childrenEl) params.children = Number(childrenEl.getAttribute('val') || childrenEl.textContent) || pxContext.children || 0;
938        // Fallback from hidden GroupsForm if exists
939        if ((!params.adults || !params.children) && document.querySelector('#GroupsForm')) {
940          var gf = document.querySelector('#GroupsForm').value || '';
941          var rooms = 0, adults = 0, children = 0;
942          if (gf) {
943            gf.split(';').forEach(function(groupStr){
944              if (!groupStr) return;
945              rooms += 1;
946              var parts = groupStr.split(':');
947              if (parts.length < 2) return;
948              var trio = parts[1].split(',');
949              var a = parseInt(trio[0] || '0', 10);
950              adults += isNaN(a) ? 0 : a;
951              var childrenAges = (trio[1] || '0');
952              if (childrenAges && childrenAges !== '0') {
953                children += childrenAges.split('.').filter(Boolean).length;
954              }
955            });
956            if (!params.adults) params.adults = adults;
957            if (!params.children) params.children = children;
958            if (!params.rooms) params.rooms = rooms;
959          }
960        }
961      } catch(e) {}
962      return params;
963    }
964
965    // -- Estado COMPARTIDO del throttle de `search_modify` --------------------------------
966    // Vive FUERA de las funciones de cableado a proposito: `wireSearchEventsWhenReady()` puede
967    // re-ejecutar `wireSearchEvents()` varias veces hasta enganchar el buscador que llega por
968    // AJAX, y con el throttle dentro del cierre cada invocacion tenia su propia ventana de 1 s
969    // => dos cableados equivalentes podian emitir el mismo cambio dos veces.
970    var pxLastModifyMs = 0;
971    var pxLastSnapshot = null;
972
973    function getModifySnapshot() {
974      var p = getSearchParamsFromDOM();
975      return {
976        start_date: p.start_date || '',
977        end_date: p.end_date || '',
978        rooms: (p.rooms*1) || 0,
979        adults: (p.adults*1) || 0,
980        children: (p.children*1) || 0
981      };
982    }
983    function pushModifyFlagsIfChanged(prevSnap, nextSnap) {
984      try {
985        if (!prevSnap) return true;
986        var changes = {};
987        if (nextSnap.start_date !== prevSnap.start_date) changes.start_date = true;
988        if (nextSnap.end_date !== prevSnap.end_date) changes.end_date = true;
989        if ((nextSnap.rooms*1) !== (prevSnap.rooms*1)) changes.rooms = true;
990        if ((nextSnap.adults*1) !== (prevSnap.adults*1)) changes.adults = true;
991        if ((nextSnap.children*1) !== (prevSnap.children*1)) changes.children = true;
992        if (Object.keys(changes).length) return true;
993      } catch (e) {}
994      return false;
995    }
996    function throttledModifyFire() {
997      var now = Date.now();
998      if (now - pxLastModifyMs < 1000) return; // throttle to 1s
999      pxLastModifyMs = now;
1000      var current = getModifySnapshot();
1001      // Push GA/DataLayer event with current values
1002      window.pxTrack('search_modify', getSearchParamsFromDOM());
1003      // Also push a probe event with the current values for GTM debug
1004      try {
1005        window.dataLayer.push({
1006          event: 'px_search_modify_probe',
1007          search_modify: current,
1008          ts: Date.now()
1009        });
1010      } catch(e) {}
1011      // Update snapshot only if something changed
1012      if (pushModifyFlagsIfChanged(pxLastSnapshot, current)) {
1013        pxLastSnapshot = current;
1014      }
1015    }
1016
1017    /**
1018     * Respaldos de `search_modify` que NO dependen de que el buscador exista en el DOM:
1019     * listeners DELEGADOS en `document` (captura) + un poller de 400 ms sobre
1020     * `#fechaingreso`/`#fechaegreso`/`#GroupsForm`.
1021     *
1022     * OJO: se instalan SIEMPRE en el init, sin pasar por `searchDomPresent()` ni por el tope de
1023     * 20 s del watcher -- que es exactamente como se instalaban antes, cuando `wireSearchEvents()`
1024     * se llamaba incondicionalmente. Justamente por ser delegados/poll son los que hacen que
1025     * `search_modify` funcione sobre un buscador inyectado por AJAX: meterlos detras del
1026     * reintento dejaba sin ningun listener a las sesiones donde el buscador tarda mas de 20 s
1027     * (telefono con red lenta), que ANTES si los tenian.
1028     */
1029    function wireSearchFallbacks() {
1030      if (window.__px_search_fallbacks_wired) return;
1031      window.__px_search_fallbacks_wired = true;
1032      pxLastSnapshot = getModifySnapshot();
1033      // Debug: signal that search watchers are alive
1034      try {
1035        window.dataLayer.push({
1036          event: 'px_search_watchers_ready',
1037          ts: Date.now()
1038        });
1039      } catch(e) {}
1040      // Listeners delegados (capturan aunque el DOM se re-renderice)
1041      try {
1042        if (!window.__px_global_search_listeners) {
1043          window.__px_global_search_listeners = true;
1044          var selectorList = ['#fechaingreso','#fechaegreso','.AdultsSelect','.ChildrensSelect','.neo_partyselector_quantity','.ChildrensAgeSelect'];
1045          function matchesTracked(el) {
1046            try { return selectorList.some(function(sel){ return el && el.matches && el.matches(sel); }); } catch(e) { return false; }
1047          }
1048          document.addEventListener('change', function(e){ if (matchesTracked(e.target)) throttledModifyFire(); }, true);
1049          document.addEventListener('input', function(e){ if (matchesTracked(e.target)) throttledModifyFire(); }, true);
1050          document.addEventListener('click', function(e){
1051            var t = e.target;
1052            if (t && t.classList && t.classList.contains('neo_button_partyselector')) throttledModifyFire();
1053          }, true);
1054        }
1055      } catch(e) {}
1056      // Robust watchers for datepicker-driven value changes and hidden GroupsForm updates
1057      try {
1058        if (!window.__px_modify_watchers_started) {
1059          window.__px_modify_watchers_started = true;
1060          var lastIn = (document.querySelector('#fechaingreso') || {}).value || '';
1061          var lastOut = (document.querySelector('#fechaegreso') || {}).value || '';
1062          var lastGF = (document.querySelector('#GroupsForm') || {}).value || '';
1063          setInterval(function(){
1064            try {
1065              var inEl = document.querySelector('#fechaingreso');
1066              var outEl = document.querySelector('#fechaegreso');
1067              var gfEl = document.querySelector('#GroupsForm');
1068              var curIn = inEl ? inEl.value : '';
1069              var curOut = outEl ? outEl.value : '';
1070              var curGF = gfEl ? gfEl.value : '';
1071              if (curIn !== lastIn || curOut !== lastOut || curGF !== lastGF) {
1072                lastIn = curIn; lastOut = curOut; lastGF = curGF;
1073                throttledModifyFire();
1074              }
1075            } catch(e) {}
1076          }, 400);
1077        }
1078      } catch(e) {}
1079    }
1080
1081    /**
1082     * SOLO los cableados que necesitan el nodo del buscador en el DOM: `search_open` (existe el
1083     * contenedor) y `search_submit` (existe el form). Los reintenta `wireSearchEventsWhenReady()`.
1084     *
1085     * OJO: ya NO cuelga listeners de `search_modify` del contenedor. Eran un duplicado EXACTO de
1086     * los delegados de `wireSearchFallbacks()` (la misma lista de 6 selectores y el mismo click
1087     * sobre `.neo_button_partyselector`). Mientras esta funcion corria una sola vez compartian el
1088     * cierre -- y con el el throttle -- asi que no se notaba; con el reintento podian quedar en
1089     * invocaciones distintas y contar el mismo cambio dos veces.
1090     */
1091    function wireSearchEvents() {
1092      var searchForm = document.querySelector('.neo_marketplace_buscador_v3 #pxmk_searchform') || document.querySelector('#search_form');
1093      var searchContainer = document.querySelector('.neo_marketplace_buscador_v3') || document.querySelector('.px-mk-buscador-container') || document.querySelector('#search_form') || document.querySelector('.PartyTypeSimulatorContainer');
1094
1095      if (searchContainer && !window.__px_search_container_bound) {
1096        window.__px_search_container_bound = true;
1097        // fire search_open once
1098        if (!window.__px_search_open_pushed) {
1099          window.__px_search_open_pushed = true;
1100          window.pxTrack('search_open', { page_url: location.href });
1101        }
1102      }
1103
1104      if (searchForm && !window.__px_search_form_bound) {
1105        window.__px_search_form_bound = true;
1106        searchForm.addEventListener('submit', function() {
1107          window.pxTrack('search_submit', getSearchParamsFromDOM());
1108        }, true);
1109        var searchBtn = document.querySelector('.neo_marketplace_buscador_v3 #PxMkAcion_Search') || document.querySelector('#Acion_Search');
1110        if (searchBtn) {
1111          searchBtn.addEventListener('click', function() {
1112            window.pxTrack('search_submit', getSearchParamsFromDOM());
1113          }, true);
1114        }
1115      }
1116    }
1117
1118    /**
1119     * El buscador NO existe al DOMContentLoaded en NINGUNA `lp.html`: lo inyecta por AJAX
1120     * `neo_modules/lp_cart.php` (CargarModulo) cientos de ms despues. `wireSearchEvents()` se
1121     * cableaba UNA sola vez, asi que sus dos gates de DOM evaluaban null y no se emitian nunca
1122     * `search_open` (gate `if (searchContainer)`) ni `search_submit` (gate `if (searchForm)`),
1123     * ni `start_search`/`egreso_search` (`wireDatePickers`). Sólo disparaban en las HOME
1124     * server-rendered, donde el buscador viene en el HTML inicial.
1125     *
1126     * Medido en vivo el 2026-08-21 sobre `fincaogawa.reservadirecto.com/lp.html`: los 6
1127     * selectores del buscador estan en 0 en DOMContentLoaded (1389 ms) y en load (2369 ms), y
1128     * recien aparecen a los ~3010 ms; un click en el submit real (`#Acion_Search`) generaba
1129     * SearchID y `has_inventory`, pero CERO `search_submit`.
1130     *
1131     * `has_inventory`/`no_inventory` nunca sufrieron esto porque cuelgan de una cascada de scans
1132     * + MutationObserver (`wireNoInventoryWatcher` / `observeAvailabilityContainers`), no de un
1133     * cableado one-shot. Esta funcion aplica esa MISMA tecnica a la fam
1133ilia de busqueda.
1134     *
1135     * Se apaga sola en cuanto engancha el contenedor y el form (los dos productores de
1136     * `search_open`/`search_submit`), con tope duro de 20 s. Cada bind es idempotente por su
1137     * propia guarda global, asi que re-correr no duplica ni un listener ni un evento.
1138     */
1139    function searchDomPresent() {
1140      try {
1141        return !!(document.querySelector('.neo_marketplace_buscador_v3')
1142          || document.querySelector('.px-mk-buscador-container')
1143          || document.querySelector('#search_form')
1144          || document.querySelector('.PartyTypeSimulatorContainer')
1145          || document.querySelector('#fechaingreso'));
1146      } catch (e) { return false; }
1147    }
1148    function wireSearchEventsWhenReady() {
1149      if (window.__px_search_ready_watcher) return;
1150      window.__px_search_ready_watcher = true;
1151      var mo = null;
1152      var stopped = false;
1153      function stop() {
1154        if (stopped) return;
1155        stopped = true;
1156        if (mo) { try { mo.disconnect(); } catch (e) {} mo = null; }
1157      }
1158      function attempt() {
1159        if (stopped) return;
1160        // Chequeo barato primero: sin buscador en el DOM no se toca nada. Evita correr
1161        // `wireSearchEvents()` (que lee bastante DOM) en cada mutacion de una pagina sin motor.
1162        if (!searchDomPresent()) return;
1163        if (!window.__px_search_container_bound || !window.__px_search_form_bound) {
1164          try { wireSearchEvents(); } catch (e) {}
1165        }
1166        if (!window.__px_date_pickers_bound) {
1167          try { wireDatePickers(); } catch (e) {}
1168        }
1169        if (window.__px_search_container_bound && window.__px_search_form_bound) stop();
1170      }
1171      attempt();
1172      if (stopped) return;
1173      [200, 500, 1000, 2000, 3000, 5000, 8000, 12000].forEach(function(ms){
1174        setTimeout(attempt, ms);
1175      });
1176      setTimeout(stop, 20000);
1177      if ('MutationObserver' in window && document.body) {
1178        try {
1179          mo = new MutationObserver(function(){
1180            if (stopped || mo.__px_scheduled) return;
1181            mo.__px_scheduled = true;
1182            setTimeout(function(){ if (mo) { mo.__px_scheduled = false; } attempt(); }, 100);
1183          });
1184          mo.observe(document.body, { childList: true, subtree: true });
1185        } catch (e) { mo = null; }
1186      }
1187    }
1188
1189    // ----- Form events wiring (generic) -----
1190    function wireFormEvents() {
1191      var forms = Array.prototype.slice.call(document.querySelectorAll('form:not([data-px-ignore="true"])'));
1192      var observed = new WeakSet();
1193
1194      // form_view when enters viewport first time
1195      if ('IntersectionObserver' in window) {
1196        var io = new IntersectionObserver(function(entries) {
1197          entries.forEach(function(entry) {
1198            if (entry.isIntersecting && !observed.has(entry.target)) {
1199              observed.add(entry.target);
1200              window.pxTrack('form_view', {
1201                form_id: entry.target.id || entry.target.getAttribute('name') || 'form',
1202                page_url: location.href
1203              });
1204            }
1205          });
1206        }, { threshold: 0.2 });
1207        forms.forEach(function(f){ io.observe(f); });
1208      } else {
1209        forms.forEach(function(f){
1210          window.pxTrack('form_view', { form_id: f.id || f.getAttribute('name') || 'form', page_url: location.href });
1211        });
1212      }
1213
1214      // form_interaction on field focus
1215      document.addEventListener('focusin', function(e) {
1216        var field = e.target;
1217        var form = field.form;
1218        if (!form) return;
1219        var fieldName = field.name || field.id || field.type || 'field';
1220        try {
1221          if (field.classList && field.classList.contains('neo_partyselector_quantity')) {
1222            var pt = field.getAttribute('party-type');
1223            if (pt) fieldName = 'party_' + pt;
1224          }
1225        } catch(e) {}
1226        window.pxTrack('form_interaction', {
1227          form_id: form.id || form.getAttribute('name') || 'form',
1228          field_name: fieldName
1229        });
1230      });
1231
1232      // form_submit with privacy-safe flags
1233      forms.forEach(function(form) {
1234        form.addEventListener('submit', function() {
1235          var email = form.querySelector('input[type="email"]');
1236          var phone = form.querySelector('input[type="tel"], input[name*="phone"], input[name*="telefono"]');
1237          var required = Array.prototype.slice.call(form.querySelectorAll('[required]'));
1238          var incomplete = required.some(function(el){ return !el.value; });
1239          window.pxTrack('form_submit', {
1240            form_id: form.id || form.getAttribute('name') || 'form',
1241            page_url: location.href,
1242            fields_status: incomplete ? 'incompletos' : 'completos',
1243            email_provided: bool(email && email.value),
1244            phone_provided: bool(phone && phone.value),
1245            session_id: pxContext.session_id
1246          });
1247        }, true);
1248      });
1249    }
1250    // Extra: map clicks/changes on party selector controls to meaningful field_name
1251    (function wirePartySelectorInteractions(){
1252      try {
1253        var lastMs = 0;
1254        function pushPartyInteraction(partyType) {
1255          var now = Date.now();
1256          if (now - lastMs < 400) return;
1257          lastMs = now;
1258          var form = document.querySelector('#search_form') || document.querySelector('.neo_marketplace_buscador_v3 #pxmk_searchform');
1259          window.pxTrack('form_interaction', {
1260            form_id: form ? (form.id || form.getAttribute('name') || 'form') : 'form',
1261            field_name: partyType ? ('party_' + partyType) : 'party_selector'
1262          });
1263        }
1264        document.addEventListener('click', function(e){
1265          var t = e.target;
1266          if (t && t.classList && t.classList.contains('neo_button_partyselector')) {
1267            pushPartyInteraction(t.getAttribute('party-type') || '');
1268          }
1269        }, true);
1270        document.addEventListener('change', function(e){
1271          var t = e.target;
1272          if (t && t.classList && t.classList.contains('neo_partyselector_quantity')) {
1273            pushPartyInteraction(t.getAttribute('party-type') || '');
1274          }
1275        }, true);
1276        document.addEventListener('input', function(e){
1277          var t = e.target;
1278          if (t && t.classList && t.classList.contains('neo_partyselector_quantity')) {
1279            pushPartyInteraction(t.getAttribute('party-type') || '');
1280          }
1281        }, true);
1282      } catch(e) {}
1283    })();
1284
1285    // Fire specific date interactions (optional)
1286    function wireDatePickers() {
1287      if (window.__px_date_pickers_bound) return;
1288      var inEl = document.querySelector('.neo_marketplace_buscador_v3 #fechaingreso');
1289      var outEl = document.querySelector('.neo_marketplace_buscador_v3 #fechaegreso');
1290      // Todavia no llego el buscador: NO se marca como cableado, lo reintenta
1291      // `wireSearchEventsWhenReady()`.
1292      if (!inEl && !outEl) return;
1293      window.__px_date_pickers_bound = true;
1294      if (inEl) inEl.addEventListener('change', function(){ window.pxTrack('start_search', { start_search: inEl.value || '', page_url: location.href }); });
1295      if (outEl) outEl.addEventListener('change', function(){ window.pxTrack('egreso_search', { egreso_search: outEl.value || '', page_url: location.href }); });
1296    }
1297
1298    // ----- WhatsApp click tracking (GA4/dataLayer + Meta Pixel "Contact") -----
1299    // El cliente pidió medir el clic en el botón de WhatsApp como una conversión más.
1300    // Se replica el patrón del resto de los eventos (window.pxTrack -> gtag + dataLayer) y,
1301    // si el POS tiene el pixel cargado (FacebookPixelID), se dispara el evento estándar "Contact".
1302    function wireWhatsappClick() {
1303      if (window.__px_whatsapp_wired) return;
1304      window.__px_whatsapp_wired = true;
1305
1306      var companyId = '';
1307      var lastWaMs = 0;
1308
1309      function extractPhone(href) {
1310        try {
1311          var m = href.match(/[?&]phone=(\+?\d+)/i);
1312          if (m) return m[1];
1313          m = href.match(/wa\.me\/(\+?\d+)/i);
1314          if (m) return m[1];
1315        } catch (e) {}
1316        return '';
1317      }
1318
1319      // Cualquier <a> hacia WhatsApp (api./web.whatsapp.com o wa.me), incluidos los botones
1320      // flotantes .wsp_floating (neo_social_links / standard_lp_motor) y #checkout_wsp_floating.
1321      function findWhatsappLink(el) {
1322        try {
1323          if (!el || !el.closest) return null;
1324          var a = el.closest('a');
1325          if (!a) return null;
1326          var href = (a.getAttribute('href') || '').toLowerCase();
1327          if (/(?:api\.|web\.)?whatsapp\.com|wa\.me/.test(href)) return a;
1328          if (a.closest('.wsp_floating') || a.closest('#checkout_wsp_floating')) return a;
1329        } catch (e) {}
1330        return null;
1331      }
1332
1333      // Delegado en captura: se dispara aunque el módulo re-renderice el botón (los .wsp_floating
1334      // se re-inyectan/mueven al body). target="_blank" mantiene la página viva para los beacons.
1335      document.addEventListener('click', function (e) {
1336        var link = findWhatsappLink(e.target);
1337        if (!link) return;
1338        var now = Date.now();
1339        if (now - lastWaMs < 800) return; // dedupe de doble-disparo
1340        lastWaMs = now;
1341
1342        var href = link.getAttribute('href') || '';
1343        var phone = extractPhone(href);
1344        var payload = {
1345          phone: phone,
1346          destination_url: href,
1347          pos: pxContext.pos || '',
1348          product_id: pxContext.product_id || '',
1349          product_name: pxContext.product_name || '',
1350          company_id: companyId || '',
1351          search_id: pxContext.search_id || '',
1352          currency: pxContext.currency || '',
1353          page_url: location.href,
1354          session_id: pxContext.session_id
1355        };
1356
1357        // GA4 + dataLayer (Google y GTM)
1358        window.pxTrack('whatsapp_click', payload);
1359
1360        // Meta Pixel: evento estándar "Contact". fbq solo existe si el POS tiene FacebookPixelID
1361        // (se inicializa en Conversion_SearchOK.php / PageView), así que este typeof es el guard.
1362        try {
1363          if (typeof window.fbq === 'function') {
1364            window.fbq('track', 'Contact', { content_name: 'whatsapp', content_category: 'whatsapp_click' });
1365          }
1366        } catch (e) {}
1367      }, true);
1368    }
1369
1370    // Enrich context from hidden inputs present in LP/consultas templates
1371    function enhanceContextFromHiddenInputs() {
1372      var startRaw = (document.querySelector('#Start') ||
1373                      document.querySelector('#fechaingreso') ||
1374                      document.querySelector('[name="Start"]') || { }).value || '';
1375      var endRaw   = (document.querySelector('#End') ||
1376                      document.querySelector('#fechaegreso') ||
1377                      document.querySelector('[name="End"]') || { }).value || '';
1378      var start = normalizeDate(startRaw);
1379      var end = normalizeDate(endRaw);
1380      var sid = (document.querySelector('#SearchID') || {}).value || '';
1381      var gf = (document.querySelector('#GroupsForm') || {}).value || '';
1382      var rooms = 0, adults = 0, children = 0;
1383      if (gf) {
1384        gf.split(';').forEach(function(groupStr){
1385          if (!groupStr) return;
1386          rooms += 1;
1387          var parts = groupStr.split(':');
1388          if (parts.length < 2) return;
1389          var trio = parts[1].split(',');
1390          var a = parseInt(trio[0] || '0', 10);
1391          adults += isNaN(a) ? 0 : a;
1392          var childrenAges = (trio[1] || '0');
1393          if (childrenAges && childrenAges !== '0') {
1394            children += childrenAges.split('.').filter(Boolean).length;
1395          }
1396        });
1397      }
1398      var updated = {};
1399      if (start && start !== pxContext.start_date) { pxContext.start_date = start; updated.start_date = start; }
1400      if (end && end !== pxContext.end_date) { pxContext.end_date = end; updated.end_date = end; }
1401      if (sid && sid !== pxContext.search_id) { pxContext.search_id = sid; updated.search_id = sid; }
1402      if (adults && adults !== pxContext.adults) { pxContext.adults = adults; updated.adults = adults; }
1403      if (children && children !== pxContext.children) { pxContext.children = children; updated.children = children; }
1404      if (rooms && rooms !== pxContext.rooms) { pxContext.rooms = rooms; updated.rooms = rooms; }
1405      if (Object.keys(updated).length) {
1406        try { window.dataLayer.push(Object.assign({ event: 'px_context_update' }, updated)); } catch(e) {}
1407      }
1408    }
1409
1410    // Parse GroupsForm like "1:2,0,0;1:1,5.7,0" into {rooms, adults, children}
1411    function parseGroupsForm(gf) {
1412      var out = { rooms: 0, adults: 0, children: 0 };
1413      try {
1414        if (!gf) return out;
1415        String(gf).split(';').forEach(function(groupStr){
1416          if (!groupStr) return;
1417          out.rooms += 1;
1418          var parts = groupStr.split(':');
1419          if (parts.length < 2) return;
1420          var trio = parts[1].split(',');
1421          var a = parseInt(trio[0] || '0', 10);
1422          out.adults += isNaN(a) ? 0 : a;
1423          var childrenAges = (trio[1] || '0');
1424          if (childrenAges && childrenAges !== '0') {
1425            out.children += childrenAges.split('.').filter(Boolean).length;
1426          }
1427          // Babies are not counted in children
1428        });
1429      } catch (e) {}
1430      return out;
1431    }
1432
1433    // Enrich context from px_jsonQuery (server-rendered Json_Query) when available
1434    function enhanceContextFromPxJson() {
1435      try {
1436        var q = (typeof window !== 'undefined' && window.px_jsonQuery) ? window.px_jsonQuery : (typeof px_jsonQuery !== 'undefined' ? px_jsonQuery : null);
1437        if (!q) return;
1438        var updated = {};
1439        // SearchID
1440        if (q.SearchID && String(q.SearchID) !== String(pxContext.search_id || '')) {
1441          pxContext.search_id = String(q.SearchID);
1442          updated.search_id = pxContext.search_id;
1443        }
1444        // Dates
1445        var start = normalizeDate(q.Start || '');
1446        var end = normalizeDate(q.End || '');
1447        if (start && start !== pxContext.start_date) { pxContext.start_date = start; updated.start_date = start; }
1448        if (end && end !== pxContext.end_date) { pxContext.end_date = end; updated.end_date = end; }
1449        // Pax/rooms from GroupsForm or Group array
1450        var paxParsed = null;
1451        if (q.GroupsForm) {
1452          paxParsed = parseGroupsForm(q.GroupsForm);
1453        } else if (q.Group && Array.isArray(q.Group)) {
1454          paxParsed = { rooms: 0, adults: 0, children: 0 };
1455          q.Group.forEach(function(g){
1456            paxParsed.rooms += 1;
1457            paxParsed.adults += (g.Adults*1) || 0;
1458            paxParsed.children += (g.Childs*1) || 0;
1459          });
1460        }
1461        if (paxParsed) {
1462          if (paxParsed.adults && paxParsed.adults !== pxContext.adults) { pxContext.adults = paxParsed.adults; updated.adults = paxParsed.adults; }
1463          if (paxParsed.children && paxParsed.children !== pxContext.children) { pxContext.children = paxParsed.children; updated.children = paxParsed.children; }
1464          if (paxParsed.rooms && paxParsed.rooms !== pxContext.rooms) { pxContext.rooms = paxParsed.rooms; updated.rooms = paxParsed.rooms; }
1465        }
1466        if (Object.keys(updated).length) {
1467          try { window.dataLayer.push(Object.assign({ event: 'px_context_update' }, updated)); } catch(e) {}
1468        }
1469      } catch (e) {}
1470    }
1471
1472    // Process API payloads to enrich context
1473    function processApiData(url, data) {
1474      try {
1475        if (!data) return;
1476        // avoid reprocessing same SearchID repeatedly
1477        window.__px_processed_sids = window.__px_processed_sids || {};
1478        var updated = {};
1479        var payload = data && data.Json_Query ? data.Json_Query : data;
1480        // SearchID present?
1481        if (typeof payload.SearchID !== 'undefined' && String(payload.SearchID)) {
1482          var sid = String(payload.SearchID);
1483          if (window.__px_processed_sids[sid]) return;
1484          if (sid && sid !== String(pxContext.search_id || '')) { pxContext.search_id = sid; updated.search_id = sid; }
1485          window.__px_processed_sids[sid] = true;
1486        }
1487        // Start / End can exist either top-level or nested
1488        var start = payload.Start || (data && data.Start) || '';
1489        var end = payload.End || (data && data.End) || '';
1490        start = normalizeDate(start);
1491        end = normalizeDate(end);
1492        if (start && start !== pxContext.start_date) { pxContext.start_date = start; updated.start_date = start; }
1493        if (end && end !== pxContext.end_date) { pxContext.end_date = end; updated.end_date = end; }
1494        // GroupsForm could be present
1495        var gf = payload.GroupsForm || (data && data.GroupsForm) || '';
1496        if (gf) {
1497          var parsed = parseGroupsForm(gf);
1498          if (parsed.adults && parsed.adults !== pxContext.adults) { pxContext.adults = parsed.adults; updated.adults = parsed.adults; }
1499          if (parsed.children && parsed.children !== pxContext.children) { pxContext.children = parsed.children; updated.children = parsed.children; }
1500          if (parsed.rooms && parsed.rooms !== pxContext.rooms) { pxContext.rooms = parsed.rooms; updated.rooms = parsed.rooms; }
1501        }
1502        // Some APIs include Group arrays; attempt totals
1503        if (payload.Group && Array.isArray(payload.Group)) {
1504          var aT = 0, cT = 0, rT = 0;
1505          payload.Group.forEach(function(g){
1506            if (!g) return;
1507            rT += 1;
1508            aT += (g.Adults*1) || 0;
1509            cT += (g.Childs*1) || 0;
1510          });
1511          if (aT && aT !== pxContext.adults) { pxContext.adults = aT; updated.adults = aT; }
1512          if (cT && cT !== pxContext.children) { pxContext.children = cT; updated.children = cT; }
1513          if (rT && rT !== pxContext.rooms) { pxContext.rooms = rT; updated.rooms = rT; }
1514        }
1515        if (Object.keys(updated).length) {
1516          try { window.dataLayer.push(Object.assign({ event: 'px_context_update' }, updated)); } catch(e) {}
1517        }
1518      } catch(e) {}
1519    }
1520
1521    // Intercept fetch/XHR to learn from API responses
1522    (function installNetworkTaps(){
1523      try {
1524        var origFetch = window.fetch;
1525        if (origFetch && !window.__px_fetch_hooked) {
1526          window.__px_fetch_hooked = true;
1527          window.fetch = function(input, init) {
1528            var p = origFetch(input, init);
1529            try {
1530              var url = typeof input === 'string' ? input : (input && input.url) || '';
1531              p.then(function(res){
1532                try {
1533                  var ct = (res.headers && res.headers.get && res.headers.get('content-type')) || '';
1534                  if (ct && ct.indexOf('application/json') !== -1 && (/\/query\/list/i.test(url) || /\/search\/info/i.test(url))) {
1535                    res.clone().json().then(function(json){ processApiData(url, json); }).catch(function(){});
1536                  }
1537                } catch(e) {}
1538              }).catch(function(){});
1539            } catch(e) {}
1540            return p;
1541          };
1542        }
1543      } catch(e) {}
1544      try {
1545        if (!window.__px_xhr_hooked && window.XMLHttpRequest) {
1546          window.__px_xhr_hooked = true;
1547          var XHR = window.XMLHttpRequest;
1548          var open = XHR.prototype.open;
1549          var send = XHR.prototype.send;
1550          XHR.prototype.open = function(method, url) {
1551            this.__px_url = url;
1552            return open.apply(this, arguments);
1553          };
1554          XHR.prototype.send = function(body) {
1555            try {
1556              this.addEventListener('load', function() {
1557                try {
1558                  var url = this.__px_url || '';
1559                  var ct = this.getResponseHeader && this.getResponseHeader('content-type') || '';
1560                  if (ct && ct.indexOf('application/json') !== -1 && (/\/query\/list/i.test(url) || /\/search\/info/i.test(url))) {
1561                    var txt = this.responseText;
1562                    try { processApiData(url, JSON.parse(txt)); } catch(e) {}
1563                  }
1564                } catch(e) {}
1565              });
1566            } catch(e) {}
1567            return send.apply(this, arguments);
1568          };
1569        }
1570      } catch(e) {}
1571    })();
1572
1573    // If we have SearchID but missing details, fetch /search/info
1574    function fetchSearchInfoIfNeeded() {
1575      try {
1576        var sid = pxContext.search_id || getUrlParam('SearchID') || (document.querySelector('#SearchID')||{}).value || '';
1577        var needsDates = !(pxContext.start_date && pxContext.end_date);
1578        var needsPaxs = !((pxContext.adults*1) > 0 || (pxContext.children*1) > 0);
1579        if (sid && (needsDates || needsPaxs)) {
1580          fetchSearchInfoForSid(sid);
1581        }
1582      } catch(e) {}
1583    }
1584
1585    // Cached fetch per SearchID
1586    function fetchSearchInfoForSid(sid) {
1587      try {
1588        window.__px_sid_promises = window.__px_sid_promises || {};
1589        if (window.__px_sid_promises[sid]) return window.__px_sid_promises[sid];
1590        var endpoint = 'https://api-1-eb-web.pxsol.io/search/info?SearchID=' + encodeURIComponent(sid);
1591        var pr = fetch(endpoint, { credentials: 'omit' }).then(function(res){
1592          if (!res.ok) return;
1593          var ct = (res.headers && res.headers.get && res.headers.get('content-type')) || '';
1594          if (ct.indexOf('application/json') === -1) return;
1595          return res.json();
1596        }).then(function(json){
1597          if (json) processApiData(endpoint, json);
1598          return true;
1599        }).catch(function(){ return false; });
1600        window.__px_sid_promises[sid] = pr;
1601        return pr;
1602      } catch(e) { return Promise.resolve(false); }
1603    }
1604
1605    // Ensure dates/paxs are ready before firing a callback
1606    function ensureContextReady(cb) {
1607      try {
1608        // Try quick enrichments first
1609        enhanceContextFromHiddenInputs();
1610        enhanceContextFromPxJson();
1611        var sid = pxContext.search_id || getUrlParam('SearchID') || (document.querySelector('#SearchID')||{}).value || '';
1612        var hasDates = !!(pxContext.start_date && pxContext.end_date);
1613        var hasPaxs = ((pxContext.adults*1) > 0) || ((pxContext.children*1) > 0);
1614        if (hasDates && hasPaxs) { cb(); return; }
1615        if (sid) {
1616          fetchSearchInfoForSid(sid).finally(function(){ cb(); });
1617          return;
1618        }
1619        // Last resort: try to enrich from DOM then run
1620        enhanceContextFromHiddenInputs();
1621        cb();
1622      } catch(e) { cb(); }
1623    }
1624
1625    // Detect "No hay resultados" to push no_inventory automatically
1626    function wireNoInventoryWatcher() {
1627      console.log('%c[pxTrack] 🔍 Initializing no_inventory watcher...', 'color: #2196F3; font-weight: bold; font-size: 14px;');
1628      console.log('[pxTrack] wireNoInventoryWatcher() called at:', new Date().toISOString());
1629      var scanCount = 0;
1630      var lastScanResult = null;
1631      var lastSearchID = null; // Track SearchID to detect new searches
1632      var lastScanTime = 0; // For throttling scans
1633      var SCAN_THROTTLE_MS = 1000; // Maximum 1 scan per second
1634      var EVENT_COOLDOWN_MS = 5000; // Minimum 5 seconds between events of the same type
1635      var lastEventTime = {}; // Track last time each event type was fired
1636      var MAX_SCANS_PER_SEARCH = 30; // Maximum scans per search to prevent excessive polling
1637      var __px_has_inventory_pushed = false; // Flag para has_inventory (opuesto de no_inventory)
1638      
1639      // Log immediately to confirm function is executing
1640      console.log('[pxTrack] ✅ wireNoInventoryWatcher() is executing - scan function will be defined');
1641      
1642      // Expose scan function to global manual trigger
1643      window.__px_no_inventory_scan_func = function() {
1644        console.log('[pxTrack] Manual scan triggered via global function');
1645        scan();
1646        return lastScanResult;
1647      };
1648      
1649      function checkJsonQueryAvailability() {
1650        try {
1651          // Check if px_jsonQuery is available
1652          if (typeof window.px_jsonQuery === 'undefined' || !window.px_jsonQuery) {
1653            return false;
1654          }
1655          
1656          var jsonQuery = window.px_jsonQuery;
1657          
1658          // Log full structure on first check (for debugging)
1659          if (!window.__px_jsonQuery_logged) {
1660            window.__px_jsonQuery_logged = true;
1661            try {
1662              console.log('[pxTrack] 📦 px_jsonQuery structure detected:', {
1663                hasProductList: !!(jsonQuery.ProductList),
1664                productListIsArray: Array.isArray(jsonQuery.ProductList),
1665                productListLength: jsonQuery.ProductList ? jsonQuery.ProductList.length : 0,
1666                sampleProduct: jsonQuery.ProductList && jsonQuery.ProductList.length > 0 ? {
1667                  hasAvailability: typeof jsonQuery.ProductList[0].Availability !== 'undefined',
1668                  availability: jsonQuery.ProductList[0].Availability,
1669                  hasSkuList: !!(jsonQuery.ProductList[0].SkuList),
1670                  skuListLength: jsonQuery.ProductList[0].SkuList ? jsonQuery.ProductList[0].SkuList.length : 0
1671                } : null
1672              });
1673              // Log first product details if available
1674              if (jsonQuery.ProductList && jsonQuery.ProductList.length > 0) {
1675                var firstProduct = jsonQuery.ProductList[0];
1676                console.log('[pxTrack] First product sample:', {
1677                  Availability: firstProduct.Availability,
1678                  hasSkuList: !!(firstProduct.SkuList),
1679                  SkuList: firstProduct.SkuList ? firstProduct.SkuList.map(function(sku) {
1680                    return { Availability: sku.Availability };
1681                  }).slice(0, 3) : null
1682                });
1683              }
1684            } catch(e) {
1685              console.error('[pxTrack] Error logging Json_Query structure:', e);
1686            }
1687          }
1688          
1689          // Check if ProductList exists and is an array
1690          if (!jsonQuery.ProductList) {
1691            // ProductList might not be loaded yet, but object exists
1692            return false;
1693          }
1694          
1695          if (!Array.isArray(jsonQuery.ProductList)) {
1696            console.warn('[pxTrack] px_jsonQuery.ProductList exists but is not an array:', typeof jsonQuery.ProductList);
1697            return false;
1698          }
1699          
1700          if (jsonQuery.ProductList.length === 0) {
1701            // Empty ProductList might indicate no inventory, but we need at least one product to check
1702            return false;
1703          }
1704          
1705          // Check if ALL products have Availability === 0
1706          var allZeroAvailability = true;
1707          var availabilityDetails = [];
1708          
1709          for (var i = 0; i < jsonQuery.ProductList.length; i++) {
1710            var product = jsonQuery.ProductList[i];
1711            // Check Availability property (could be at product level or in SkuList)
1712            var productAvailability = product.Availability || 0;
1713            var productHasAvailability = typeof product.Availability !== 'undefined';
1714            
1715            // If product has SkuList, check all SKUs
1716            if (product.SkuList && Array.isArray(product.SkuList) && product.SkuList.length > 0) {
1717              var allSkusZero = true;
1718              var skuAvailabilities = [];
1719              for (var j = 0; j < product.SkuList.length; j++) {
1720                var sku = product.SkuList[j];
1721                var skuAvail = sku.Availability || 0;
1722                skuAvailabilities.push(skuAvail);
1723                if (sku.Availability && sku.Availability > 0) {
1724                  allSkusZero = false;
1725                  break;
1726                }
1727              }
1728              availabilityDetails.push({
1729                productIndex: i,
1730                hasProductAvailability: productHasAvailability,
1731                productAvailability: productAvailability,
1732                hasSkuList: true,
1733                skuAvailabilities: skuAvailabilities,
1734                allSkusZero: allSkusZero
1735              });
1736              if (!allSkusZero) {
1737                allZeroAvailability = false;
1738                break;
1739              }
1740            } else {
1741              // Product-level availability check
1742              availabilityDetails.push({
1743                productIndex: i,
1744                hasProductAvailability: productHasAvailability,
1745                productAvailability: productAvailability,
1746                hasSkuList: false
1747              });
1748              if (productAvailability > 0) {
1749                allZeroAvailability = false;
1750                break;
1751              }
1752            }
1753          }
1754          
1755          // Log availability details when checking (first time or when all zero)
1756          if (allZeroAvailability || !window.__px_availability_details_logged) {
1757            window.__px_availability_details_logged = true;
1758            console.log('[pxTrack] Availability check result:', {
1759              allZeroAvailability: allZeroAvailability,
1760              totalProducts: jsonQuery.ProductList.length,
1761              details: availabilityDetails.slice(0, 3) // Show first 3 products
1762            });
1763          }
1764          
1765          return allZeroAvailability;
1766        } catch(e) {
1767          console.error('[pxTrack] Error checking Json_Query availability:', e);
1768          return false;
1769        }
1770      }
1771      
1772      function checkJsonQueryHasAvailability() {
1773        try {
1774          // Check if px_jsonQuery is available
1775          if (typeof window.px_jsonQuery === 'undefined' || !window.px_jsonQuery) {
1776            return { hasAvailability: false, totalAvailability: 0, availabilityDetails: null };
1777          }
1778          
1779          var jsonQuery = window.px_jsonQuery;
1780          
1781          // Check if ProductList exists and is an array
1782          if (!jsonQuery.ProductList || !Array.isArray(jsonQuery.ProductList) || jsonQuery.ProductList.length === 0) {
1783            return { hasAvailability: false, totalAvailability: 0, availabilityDetails: null };
1784          }
1785          
1786          var totalAvailability = 0;
1787          var hasAnyAvailability = false;
1788          var availabilityDetails = [];
1789          
1790          for (var i = 0; i < jsonQuery.ProductList.length; i++) {
1791            var product = jsonQuery.ProductList[i];
1792            var productAvailability = product.Availability || 0;
1793            var productTotal = 0;
1794            
1795            // If product has SkuList, sum all SKU availabilities
1796            if (product.SkuList && Array.isArray(product.SkuList) && product.SkuList.length > 0) {
1797              for (var j = 0; j < product.SkuList.length; j++) {
1798                var sku = product.SkuList[j];
1799                var skuAvail = sku.Availability || 0;
1800                productTotal += skuAvail;
1801                if (skuAvail > 0) {
1802                  hasAnyAvailability = true;
1803                }
1804              }
1805            } else {
1806              // Product-level availability
1807              productTotal = productAvailability;
1808              if (productAvailability > 0) {
1809                hasAnyAvailability = true;
1810              }
1811            }
1812            
1813            totalAvailability += productTotal;
1814            availabilityDetails.push({
1815              productIndex: i,
1816              productAvailability: productAvailability,
1817              productTotal: productTotal,
1818              hasSkuList: !!(product.SkuList && Array.isArray(product.SkuList) && product.SkuList.length > 0)
1819            });
1820          }
1821          
1822          return {
1823            hasAvailability: hasAnyAvailability,
1824            totalAvailability: totalAvailability,
1825            availabilityDetails: availabilityDetails,
1826            productCount: jsonQuery.ProductList.length
1827          };
1828        } catch(e) {
1829          console.error('[pxTrack] Error checking Json_Query for availability:', e);
1830          return { hasAvailability: false, totalAvailability: 0, availabilityDetails: null };
1831        }
1832      }
1833      
1834      function scan() {
1835        // THROTTLING: Evitar escaneos muy frecuentes
1836        var now = Date.now();
1837        if (now - lastScanTime < SCAN_THROTTLE_MS) {
1838          console.debug('[pxTrack] scan() throttled (too soon after last scan)');
1839          return;
1840        }
1841        lastScanTime = now;
1842        
1843        // Check if SearchID changed (new search) - if so, reset the flag
1844        try {
1845          var currentSearchID = null;
1846          if (typeof window.px_jsonQuery !== 'undefined' && window.px_jsonQuery && window.px_jsonQuery.SearchID) {
1847            currentSearchID = String(window.px_jsonQuery.SearchID);
1848          } else {
1849            var searchIDEl = document.querySelector('#SearchID');
1850            if (searchIDEl && searchIDEl.value) {
1851              currentSearchID = String(searchIDEl.value);
1852            } else {
1853              try {
1854                var urlParams = new URLSearchParams(location.search);
1855                currentSearchID = urlParams.get('SearchID') || null;
1856              } catch(e) {}
1857            }
1858          }
1859          
1860          // If SearchID changed, reset the flags for new search
1861          if (currentSearchID && currentSearchID !== lastSearchID && lastSearchID !== null) {
1862            console.log('[pxTrack] 🔄 New search detected (SearchID: ' + lastSearchID + ' → ' + currentSearchID + '), resetting flags');
1863            window.__px_no_inventory_pushed = false;
1864            __px_has_inventory_pushed = false;
1865            scanCount = 0; // Reset scan count
1866            lastScanTime = 0; // Reset throttling for new search
1867          }
1868          
1869          // Update lastSearchID
1870          if (currentSearchID) {
1871            lastSearchID = currentSearchID;
1872          }
1873        } catch(e) {
1874          console.error('[pxTrack] Error checking SearchID:', e);
1875        }
1876        
1877        // Don't scan if event already fired (unless we just reset it)
1878        if (window.__px_no_inventory_pushed) {
1879          console.debug('[pxTrack] scan() called but event already fired, skipping');
1880          return;
1881        }
1882        
1883        // Límite máximo de escaneos por búsqueda
1884        if (scanCount >= MAX_SCANS_PER_SEARCH) {
1885          console.debug('[pxTrack] scan() skipped - maximum scans per search reached (' + MAX_SCANS_PER_SEARCH + ')');
1886          return;
1887        }
1888        
1889        scanCount++;
1890        // Log first few scans to confirm function is working
1891        if (scanCount <= 5) {
1892          console.log('[pxTrack] scan() executing - Scan #' + scanCount);
1893        }
1894        var shouldFire = false;
1895        var detectionMethod = '';
1896        var debugInfo = {
1897          scanNumber: scanCount,
1898          px_jsonQuery_exists: typeof window.px_jsonQuery !== 'undefined' && !!window.px_jsonQuery,
1899          productList_length: 0,
1900          productList_details: []
1901        };
1902        
1903        // Method 1: Check px_jsonQuery.ProductList for all Availability === 0
1904        try {
1905          if (typeof window.px_jsonQuery !== 'undefined' && window.px_jsonQuery) {
1906            debugInfo.productList_length = (window.px_jsonQuery.ProductList && Array.isArray(window.px_jsonQuery.ProductList)) ? window.px_jsonQuery.ProductList.length : 0;
1907            
1908            if (checkJsonQueryAvailability()) {
1909              shouldFire = true;
1910              detectionMethod = 'Json_Query';
1911              try { 
1912                console.log('%c[pxTrack] ✅ no_inventory DETECTED via Json_Query (all Availability === 0) - Scan #' + scanCount, 'color: #FF5722; font-weight: bold;');
1913              } catch(_e){}
1914            } else {
1915              // Log details about why it didn't fire
1916              try {
1917                if (window.px_jsonQuery.ProductList && Array.isArray(window.px_jsonQuery.ProductList)) {
1918                  var productDetails = [];
1919                  for (var idx = 0; idx < Math.min(window.px_jsonQuery.ProductList.length, 3); idx++) {
1920                    var p = window.px_jsonQuery.ProductList[idx];
1921                    var prodAvail = p.Availability || 0;
1922                    var skuAvail = 'N/A';
1923                    if (p.SkuList && Array.isArray(p.SkuList) && p.SkuList.length > 0) {
1924                      var skuAvails = [];
1925                      for (var skuIdx = 0; skuIdx < p.SkuList.length; skuIdx++) {
1926                        skuAvails.push(p.SkuList[skuIdx].Availability || 0);
1927                      }
1928                      skuAvail = skuAvails.join(',');
1929                    }
1930                    productDetails.push({productAvail: prodAvail, skuAvail: skuAvail});
1931                  }
1932                  debugInfo.productList_details = productDetails;
1933                }
1934              } catch(e) {}
1935            }
1936          }
1937        } catch(e) {
1938          console.error('[pxTrack] Error in Json_Query availability check:', e);
1939        }
1940        
1941        // Method 2: Check for specific DOM elements (most reliable)
1942        if (!shouldFire) {
1943          try {
1944            // Check for #no-inventory-container or #no-inventory (from sindispo.php)
1945            var noInventoryContainer = document.querySelector('#no-inventory-container');
1946            var noInventoryElement = document.querySelector('#no-inventory');
1947            if (noInventoryContainer || noInventoryElement) {
1948              shouldFire = true;
1949              detectionMethod = 'DOM element (ID)';
1950              try { 
1951                console.log('%c[pxTrack] ✅ no_inventory DETECTED via DOM element (#no-inventory-container or #no-inventory) - Scan #' + scanCount, 'color: #FF5722; font-weight: bold;');
1952                console.log('[pxTrack] DOM elements found:', {
1953                  hasContainer: !!noInventoryContainer,
1954                  hasElement: !!noInventoryElement,
1955                  containerVisible: noInventoryContainer ? (noInventoryContainer.offsetParent !== null) : false,
1956                  elementText: noInventoryElement ? (noInventoryElement.textContent || noInventoryElement.innerText || '').substring(0, 50) : ''
1957                });
1958              } catch(_e){}
1959            } else if (scanCount <= 3 || scanCount % 10 === 0) {
1960              // Log when elements are not found (for debugging)
1961              try {
1962                console.debug('[pxTrack] DOM check: #no-inventory-container and #no-inventory not found (scan #' + scanCount + ')');
1963              } catch(_e){}
1964            }
1965          } catch(e) {
1966            console.error('[pxTrack] Error in DOM element check:', e);
1967          }
1968        }
1969        
1970        // Method 3: Fallback - Check DOM text for "No hay resultados" or "No results"
1971        if (!shouldFire) {
1972          try {
1973            var candidates = Array.prototype.slice.call(document.querySelectorAll('body *'));
1974            for (var i=0; i<candidates.length; i++) {
1975              var t = (candidates[i].innerText || '').trim();
1976              if (!t) continue;
1977              if (t.indexOf('No hay resultados') !== -1 || t.indexOf('No results') !== -1) { 
1978                shouldFire = true;
1979                detectionMethod = 'DOM text';
1980                try { 
1981                  console.log('%c[pxTrack] ✅ no_inventory DETECTED via DOM text - Scan #' + scanCount, 'color: #FF5722; font-weight: bold;');
1982                } catch(_e){}
1983                break; 
1984              }
1985            }
1986          } catch(e) {
1987            console.error('[pxTrack] Error in DOM text check:', e);
1988          }
1989        }
1990        
1991        // Store last scan result for debugging
1992        lastScanResult = {
1993          shouldFire: shouldFire,
1994          method: detectionMethod,
1995          scanCount: scanCount,
1996          px_jsonQuery_exists: debugInfo.px_jsonQuery_exists,
1997          productList_length: debugInfo.productList_length,
1998          productList_details: debugInfo.productList_details
1999        };
2000        
2001        // Log scan details every 5th scan or when px_jsonQuery becomes available
2002        if (scanCount % 5 === 0 || (debugInfo.px_jsonQuery_exists && scanCount <= 3)) {
2003          try {
2004            console.log('[pxTrack] no_inventory scan #' + scanCount + ':', {
2005              px_jsonQuery_exists: debugInfo.px_jsonQuery_exists,
2006              productList_length: debugInfo.productList_length,
2007              shouldFire: shouldFire,
2008              method: detectionMethod
2009            });
2010            if (debugInfo.productList_details.length > 0) {
2011              console.log('[pxTrack] Sample product availability:', debugInfo.productList_details);
2012            }
2013          } catch(_e){}
2014        }
2015        
2016        if (shouldFire && !window.__px_no_inventory_pushed) {
2017          // COOLDOWN: Verificar que no se haya disparado recientemente
2018          var eventType = 'no_inventory';
2019          var now = Date.now();
2020          if (lastEventTime[eventType] && (now - lastEventTime[eventType] < EVENT_COOLDOWN_MS)) {
2021            console.log('[pxTrack] ⏸️ Event cooldown active, skipping no_inventory event (last fired ' + Math.round((now - lastEventTime[eventType]) / 1000) + 's ago)');
2022            return;
2023          }
2024          
2025          window.__px_no_inventory_pushed = true;
2026          lastEventTime[eventType] = now; // Registrar tiempo del evento
2027          
2028          // Ensure dates/paxs are enriched before sending
2029          ensureContextReady(function(){
2030            var params = getSearchParamsFromDOM();
2031            params.no_inventory = true;
2032            try { 
2033              console.log('%c[pxTrack] 🚀 FIRING no_inventory event - Detection method: ' + detectionMethod + ' - Scan #' + scanCount, 'color: #4CAF50; font-weight: bold; font-size: 14px;');
2034              console.log('[pxTrack] no_inventory payload:', params);
2035              console.log('[pxTrack] Last scan result:', lastScanResult);
2036            } catch(_e){}
2037            window.pxTrack('no_inventory', params);
2038            
2039            // Fire form_success for search form after no_inventory
2040            setTimeout(function() {
2041              console.log('%c[pxTrack] 🚀 FIRING form_success for search form (after no_inventory)', 'color: #4CAF50; font-weight: bold;');
2042              window.pxTrack('form_success', {
2043                form_id: 'pxmk_searchform',
2044                lead_id: null,
2045                transaction_id: null
2046              });
2047            }, 100);
2048          });
2049        }
2050        
2051        // OPPOSITE: Check if there IS availability (has_inventory)
2052        // Only check if no_inventory was NOT detected and has_inventory hasn't been fired yet
2053        if (!shouldFire && !__px_has_inventory_pushed && !window.__px_no_inventory_pushed) {
2054          try {
2055            // Also verify that no "no inventory" DOM elements are present
2056            var noInventoryContainer = document.querySelector('#no-inventory-container');
2057            var noInventoryElement = document.querySelector('#no-inventory');
2058            var hasNoInventoryDOM = !!(noInventoryContainer || noInventoryElement);
2059            
2060            if (hasNoInventoryDOM) {
2061              console.debug('[pxTrack] has_inventory blocked - no inventory DOM elements present');
2062            } else {
2063              var availabilityInfo = checkJsonQueryHasAvailability();
2064              
2065              if (availabilityInfo.hasAvailability) {
2066                // COOLDOWN: Verificar que no se haya disparado recientemente
2067                var eventType = 'has_inventory';
2068                var now = Date.now();
2069                if (lastEventTime[eventType] && (now - lastEventTime[eventType] < EVENT_COOLDOWN_MS)) {
2070                  console.log('[pxTrack] ⏸️ Event cooldown active, skipping has_inventory event (last fired ' + Math.round((now - lastEventTime[eventType]) / 1000) + 's ago)');
2071                } else {
2072              
2073              __px_has_inventory_pushed = true;
2074              lastEventTime[eventType] = now;
2075              
2076              // Ensure dates/paxs are enriched before sending
2077              ensureContextReady(function(){
2078                var params = getSearchParamsFromDOM();
2079                params.has_availability = true;
2080                params.availability = availabilityInfo.totalAvailability;
2081                params.product_count = availabilityInfo.productC
2081ount || 0;
2082                
2083                // Add SearchID if available
2084                try {
2085                  if (typeof window.px_jsonQuery !== 'undefined' && window.px_jsonQuery && window.px_jsonQuery.SearchID) {
2086                    params.search_id = String(window.px_jsonQuery.SearchID);
2087                  }
2088                } catch(e) {}
2089                
2090                // Add availability details (first 3 products for debugging)
2091                if (availabilityInfo.availabilityDetails && availabilityInfo.availabilityDetails.length > 0) {
2092                  params.availability_details = availabilityInfo.availabilityDetails.slice(0, 3).map(function(detail) {
2093                    return {
2094                      product_index: detail.productIndex,
2095                      availability: detail.productTotal,
2096                      has_skus: detail.hasSkuList
2097                    };
2098                  });
2099                }
2100                
2101                try { 
2102                  console.log('%c[pxTrack] 🚀 FIRING has_inventory event (availability detected) - Scan #' + scanCount, 'color: #4CAF50; font-weight: bold; font-size: 14px;');
2103                  console.log('[pxTrack] has_inventory payload:', params);
2104                  console.log('[pxTrack] Availability info:', {
2105                    totalAvailability: availabilityInfo.totalAvailability,
2106                    productCount: availabilityInfo.productCount,
2107                    hasAvailability: availabilityInfo.hasAvailability
2108                  });
2109                } catch(_e){}
2110                window.pxTrack('has_inventory', params);
2111                
2112                // Fire form_success for search form after has_inventory
2113                setTimeout(function() {
2114                  console.log('%c[pxTrack] 🚀 FIRING form_success for search form (after has_inventory)', 'color: #4CAF50; font-weight: bold;');
2115                  window.pxTrack('form_success', {
2116                    form_id: 'pxmk_searchform',
2117                    lead_id: null,
2118                    transaction_id: null
2119                  });
2120                }, 100);
2121              });
2122                }
2123              }
2124            }
2125          } catch(e) {
2126            console.error('[pxTrack] Error checking for availability (has_inventory):', e);
2127          }
2128        }
2129      }
2130      
2131      // Try to intercept px_jsonQuery assignment (works if px_jsonQuery is undefined)
2132      try {
2133        if (typeof window.px_jsonQuery === 'undefined') {
2134          try {
2135            var _px_jsonQuery_value = undefined;
2136            var _px_jsonQuery_lastTrigger = 0;
2137            Object.defineProperty(window, 'px_jsonQuery', {
2138              get: function() { return _px_jsonQuery_value; },
2139              set: function(newValue) {
2140                _px_jsonQuery_value = newValue;
2141                if (newValue) {
2142                  try {
2143                    // Throttle interceptor triggers (máximo 1 cada 1 segundo)
2144                    var now = Date.now();
2145                    if (now - _px_jsonQuery_lastTrigger < 1000) {
2146                      console.debug('[pxTrack] px_jsonQuery interceptor throttled');
2147                      return;
2148                    }
2149                    _px_jsonQuery_lastTrigger = now;
2150                    console.log('[pxTrack] px_jsonQuery was set via Object.defineProperty, triggering scan');
2151                    setTimeout(function() { scan(); }, 150);
2152                  } catch(e) {
2153                    console.error('[pxTrack] Error in triggerScan:', e);
2154                  }
2155                }
2156              },
2157              configurable: true,
2158              enumerable: true
2159            });
2160          } catch(e) {
2161            console.error('[pxTrack] Object.defineProperty failed for px_jsonQuery:', e);
2162          }
2163        }
2164      } catch(e) {
2165        console.error('[pxTrack] Error setting up px_jsonQuery interception:', e);
2166      }
2167      
2168      // Multiple initial scans with increasing delays (for Chrome compatibility)
2169      function runInitialScans() {
2170        console.log('%c[pxTrack] Starting initial scans for no_inventory detection...', 'color: #FF9800; font-weight: bold;');
2171        console.log('[pxTrack] runInitialScans() called - will execute multiple scans');
2172        // Immediate scan
2173        console.log('[pxTrack] Executing immediate scan...');
2174        scan();
2175        // Delayed scans to catch px_jsonQuery if it loads later AND DOM elements that load dynamically
2176        setTimeout(function() { scan(); }, 200);
2177        setTimeout(function() { scan(); }, 500);
2178        setTimeout(function() { scan(); }, 1000);
2179        setTimeout(function() { scan(); }, 2000);
2180        setTimeout(function() { scan(); }, 3000);
2181        setTimeout(function() { scan(); }, 5000);
2182      }
2183      
2184      // Run initial scans after DOM is ready
2185      if (document.readyState === 'loading') {
2186        console.log('[pxTrack] DOM is loading, will wait for DOMContentLoaded');
2187        document.addEventListener('DOMContentLoaded', function() {
2188          console.log('[pxTrack] DOMContentLoaded fired, scheduling runInitialScans() in 100ms');
2189          setTimeout(function() {
2190            console.log('[pxTrack] Executing runInitialScans() now...');
2191            runInitialScans();
2192          }, 100);
2193        });
2194      } else {
2195        console.log('[pxTrack] DOM already ready, scheduling runInitialScans() in 100ms');
2196        setTimeout(function() {
2197          console.log('[pxTrack] Executing runInitialScans() now...');
2198          runInitialScans();
2199        }, 100);
2200      }
2201      
2202      // Also use requestAnimationFrame for Chrome (ensures DOM is painted)
2203      if (window.requestAnimationFrame) {
2204        requestAnimationFrame(function() {
2205          setTimeout(function() { scan(); }, 500);
2206        });
2207      }
2208      
2209      // Watch for px_jsonQuery availability (reduced polling frequency to prevent rate limiting)
2210      var jsonQueryCheckStart = Date.now();
2211      var jsonQueryCheckTimeout = 20000; // 20 seconds
2212      var jsonQueryCheckInterval = setInterval(function() {
2213        // Stop if timeout reached
2214        if (Date.now() - jsonQueryCheckStart > jsonQueryCheckTimeout) {
2215          clearInterval(jsonQueryCheckInterval);
2216          try { 
2217            console.log('[pxTrack] no_inventory px_jsonQuery polling timed out after', scanCount, 'scans');
2218            console.log('[pxTrack] Last scan result:', lastScanResult);
2219          } catch(_e){}
2220          return;
2221        }
2222        
2223        // Stop if event already fired
2224        if (window.__px_no_inventory_pushed) {
2225          clearInterval(jsonQueryCheckInterval);
2226          return;
2227        }
2228        
2229        // Check if px_jsonQuery is now available and scan
2230        if (typeof window.px_jsonQuery !== 'undefined' && window.px_jsonQuery) {
2231          scan();
2232        }
2233      }, 1000); // Reduced to 1 second to prevent rate limiting
2234      
2235      // Watch DOM changes and specifically look for #no-inventory-container or #no-inventory
2236      try {
2237        var mo = new MutationObserver(function(mutations) { 
2238          if (window.__px_no_inventory_pushed) return;
2239          
2240          // Throttling más agresivo para MutationObserver (2 segundos mínimo)
2241          var now = Date.now();
2242          if (mo.__px_lastScan && (now - mo.__px_lastScan < 2000)) {
2243            return;
2244          }
2245          
2246          // Check if any of the mutations added our target elements
2247          var foundTarget = false;
2248          for (var i = 0; i < mutations.length; i++) {
2249            var mutation = mutations[i];
2250            if (mutation.addedNodes && mutation.addedNodes.length > 0) {
2251              for (var j = 0; j < mutation.addedNodes.length; j++) {
2252                var node = mutation.addedNodes[j];
2253                if (node.nodeType === 1) { // Element node
2254                  // Check if the added node is our target or contains it
2255                  if (node.id === 'no-inventory-container' || node.id === 'no-inventory' ||
2256                      node.querySelector && (node.querySelector('#no-inventory-container') || node.querySelector('#no-inventory'))) {
2257                    foundTarget = true;
2258                    break;
2259                  }
2260                }
2261              }
2262            }
2263            if (foundTarget) break;
2264          }
2265          
2266          // If target found or if enough time passed, scan
2267          if (foundTarget || !mo.__px_lastScan || Date.now() - mo.__px_lastScan > 2000) {
2268            mo.__px_lastScan = Date.now();
2269            if (foundTarget) {
2270              console.log('[pxTrack] MutationObserver detected #no-inventory-container or #no-inventory added to DOM');
2271            }
2272            scan(); 
2273          }
2274        });
2275        mo.observe(document.body, { childList: true, subtree: true });
2276      } catch(e) {
2277        console.error('[pxTrack] MutationObserver failed for no_inventory:', e);
2278      }
2279      
2280      // Additional polling specifically for DOM elements (reduced frequency to prevent rate limiting)
2281      var domPollingStart = Date.now();
2282      var domPollingTimeout = 15000; // 15 seconds
2283      var domPollingInterval = setInterval(function() {
2284        if (Date.now() - domPollingStart > domPollingTimeout) {
2285          clearInterval(domPollingInterval);
2286          return;
2287        }
2288        
2289        if (window.__px_no_inventory_pushed) {
2290          clearInterval(domPollingInterval);
2291          return;
2292        }
2293        
2294        // Quick check for target elements
2295        var noInventoryContainer = document.querySelector('#no-inventory-container');
2296        var noInventoryElement = document.querySelector('#no-inventory');
2297        if (noInventoryContainer || noInventoryElement) {
2298          console.log('[pxTrack] DOM polling detected #no-inventory-container or #no-inventory');
2299          scan();
2300          clearInterval(domPollingInterval);
2301        }
2302      }, 1000); // Reduced to 1 second to prevent rate limiting
2303      
2304      // Confirm watcher is fully initialized
2305      console.log('%c[pxTrack] ✅ no_inventory watcher fully initialized and ready', 'color: #4CAF50; font-weight: bold; font-size: 14px;');
2306      console.log('[pxTrack] wireNoInventoryWatcher() completed at:', new Date().toISOString());
2307      console.log('[pxTrack] All watchers, observers, and polling intervals are now active');
2308    }
2309
2310    // Observe availability containers to re-enrich context after dynamic updates
2311    function observeAvailabilityContainers() {
2312      try {
2313        var targets = [];
2314        var el1 = document.querySelector('#neo_cart_results_list');
2315        var el2 = document.querySelector('#neo_cart_pedido_container');
2316        if (el1) targets.push(el1);
2317        if (el2) targets.push(el2);
2318        if (!targets.length || !('MutationObserver' in window)) return;
2319        var refresh = function() {
2320          enhanceContextFromHiddenInputs();
2321          enhanceContextFromPxJson();
2322        };
2323        var mo = new MutationObserver(function(muts) {
2324          // throttle bursts
2325          if (mo.__px_scheduled) return;
2326          mo.__px_scheduled = true;
2327          setTimeout(function(){ mo.__px_scheduled = false; refresh(); }, 100);
2328        });
2329        targets.forEach(function(t){ mo.observe(t, { childList: true, subtree: true }); });
2330        // initial pass
2331        refresh();
2332      } catch (e) {}
2333    }
2334
2335    // Init after DOM ready - LOG EARLY AND OFTEN
2336    console.log('%c[pxTrack] STEP 1: Checking DOM readyState...', 'color: #9C27B0; font-weight: bold; font-size: 14px;');
2337    console.log('[pxTrack] document.readyState:', document.readyState);
2338    console.log('[pxTrack] wireNoInventoryWatcher function exists:', typeof wireNoInventoryWatcher);
2339    
2340    if (document.readyState === 'loading') {
2341      console.log('%c[pxTrack] STEP 2: DOM is loading, setting up DOMContentLoaded listener', 'color: #9C27B0; font-weight: bold;');
2342      document.addEventListener('DOMContentLoaded', function() {
2343        console.log('%c[pxTrack] STEP 3: DOMContentLoaded fired!', 'color: #9C27B0; font-weight: bold; font-size: 16px;');
2344        console.log('[pxTrack] DOMContentLoaded fired, initializing watchers...');
2345        try {
2346          wireSearchFallbacks();
2347          wireSearchEventsWhenReady();
2348          wireFormEvents();
2349          wireWhatsappClick();
2350          if (typeof wireCheckoutForm === 'function') {
2351            wireCheckoutForm();
2352          } else {
2353            console.log('[pxTrack] wireCheckoutForm() not available (may be conditional)');
2354          }
2355          wireDatePickers();
2356          enhanceContextFromHiddenInputs();
2357          enhanceContextFromPxJson();
2358          fetchSearchInfoIfNeeded();
2359          console.log('%c[pxTrack] STEP 4: About to call wireNoInventoryWatcher()...', 'color: #FF5722; font-weight: bold; font-size: 16px;');
2360          try {
2361            wireNoInventoryWatcher();
2362            console.log('%c[pxTrack] STEP 5: wireNoInventoryWatcher() completed successfully!', 'color: #4CAF50; font-weight: bold; font-size: 16px;');
2363          } catch(e) {
2364            console.error('[pxTrack] ERROR calling wireNoInventoryWatcher():', e);
2365            console.error('[pxTrack] Error stack:', e.stack);
2366          }
2367          observeAvailabilityContainers();
2368          // delayed retries in case modules/scripts load late
2369          setTimeout(function(){ enhanceContextFromHiddenInputs(); enhanceContextFromPxJson(); }, 500);
2370          setTimeout(function(){ enhanceContextFromHiddenInputs(); enhanceContextFromPxJson(); }, 1500);
2371          // checkout success detector (thank-you page) - multiple attempts with delays
2372          if (typeof maybePushFormSuccess === 'function') {
2373            maybePushFormSuccess(); // Immediate
2374            setTimeout(function(){ maybePushFormSuccess(); }, 500); // After 500ms
2375            setTimeout(function(){ maybePushFormSuccess(); }, 1500); // After 1.5s
2376            setTimeout(function(){ maybePushFormSuccess(); }, 3000); // After 3s (for slow loading pages)
2377          }
2378        } catch(e) {
2379          console.error('[pxTrack] Error during initialization:', e);
2380        }
2381      });
2382    } else {
2383      console.log('%c[pxTrack] STEP 2: DOM already ready, initializing immediately', 'color: #9C27B0; font-weight: bold;');
2384      console.log('[pxTrack] DOM already ready, initializing watchers immediately...');
2385      try {
2386        wireSearchFallbacks();
2387        wireSearchEventsWhenReady();
2388        wireFormEvents();
2389        wireWhatsappClick();
2390        if (typeof wireCheckoutForm === 'function') {
2391          wireCheckoutForm();
2392        } else {
2393          console.log('[pxTrack] wireCheckoutForm() not available (may be conditional)');
2394        }
2395        wireDatePickers();
2396        enhanceContextFromHiddenInputs();
2397        enhanceContextFromPxJson();
2398        fetchSearchInfoIfNeeded();
2399        console.log('%c[pxTrack] STEP 4: About to call wireNoInventoryWatcher()...', 'color: #FF5722; font-weight: bold; font-size: 16px;');
2400        try {
2401          wireNoInventoryWatcher();
2402          console.log('%c[pxTrack] STEP 5: wireNoInventoryWatcher() completed successfully!', 'color: #4CAF50; font-weight: bold; font-size: 16px;');
2403        } catch(e) {
2404          console.error('[pxTrack] ERROR calling wireNoInventoryWatcher():', e);
2405          console.error('[pxTrack] Error stack:', e.stack);
2406        }
2407        observeAvailabilityContainers();
2408        setTimeout(function(){ enhanceContextFromHiddenInputs(); enhanceContextFromPxJson(); }, 500);
2409        setTimeout(function(){ enhanceContextFromHiddenInputs(); enhanceContextFromPxJson(); }, 1500);
2410        // checkout success detector (thank-you page) - multiple attempts with delays
2411        if (typeof maybePushFormSuccess === 'function') {
2412          maybePushFormSuccess(); // Immediate
2413          setTimeout(function(){ maybePushFormSuccess(); }, 500); // After 500ms
2414          setTimeout(function(){ maybePushFormSuccess(); }, 1500); // After 1.5s
2415          setTimeout(function(){ maybePushFormSuccess(); }, 3000); // After 3s (for slow loading pages)
2416        }
2417      } catch(e) {
2418        console.error('[pxTrack] Error during initialization:', e);
2419        console.error('[pxTrack] Error stack:', e.stack);
2420      }
2421    }
2422  })();
2423</script>
2423
2424
2425
2426<!-- Google Tag Manager -->
2427<script>
vendor: 436 bytes, lines 2427-2441
2427
2428  (function(w, d, s, l, i) {
2429    w[l] = w[l] || [];
2430    w[l].push({
2431      'gtm.start': new Date().getTime(),
2432      event: 'gtm.js'
2433    });
2434    var f = d.getElementsByTagName(s)[0],
2435      j = d.createElement(s),
2436      dl = l != 'dataLayer' ? '&l=' + l : '';
2437    j.async = true;
2438    j.src =
2439      'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
2440    f.parentNode.insertBefore(j, f);
2441  })(window, document, 'script', 'dataLayer', '
2441GTM-TPTNCNX
vendor: 4 bytes, line 2441
2441');
2442</script>
2442
2443<!-- End Google Tag Manager -->
2444
2445
2446
2447
2448  
2448<script src='https://www.thehotelsnetwork.com/js/loader.js?property_id=1038040&account_key=98150CE80D67D53EB87BC01C7D75453C' async></script>
2448
2449</head>
2450
2451<body>
2452	<!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 2452-2453
2452
2453	<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
2453GTM-TPTNCNX
vendor: 84 bytes, lines 2453-2454
2453" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
2454	
2454<!-- End Google Tag Manager (noscript) -->
2455
2456	
2457	
2458
2459	<div class="neo_loader">
2460		<style>
2461			.linear-activity {
2462				overflow: hidden;
2463				width: 100%;
2464				height: 4px;
2465				background-color: #B3E5FC;
2466				margin: 0
2467			}
2468
2469			.determinate {
2470				position: relative;
2471				max-width: 100%;
2472				height: 100%;
2473				-webkit-transition: width .5s ease-out 1s;
2474				-moz-transition: width .5s ease-out 1s;
2475				-o-transition: width .5s ease-out 1s;
2476				transition: width .5s ease-out 1s;
2477				background-color: #03A9F4
2478			}
2479
2480			.indeterminate {
2481				position: relative;
2482				width: 100%;
2483				height: 100%
2484			}
2485
2486			.indeterminate:after,
2487			.indeterminate:before {
2488				content: '';
2489				position: absolute;
2490				height: 100%
2491			}
2492
2493			.indeterminate:before {
2494				background-color: #03A9F4;
2495				animation: indeterminate_first 1.5s infinite ease-out
2496			}
2497
2498			.indeterminate:after {
2499				background-color: #4FC3F7;
2500				animation: indeterminate_second 1.5s infinite ease-in
2501			}
2502
2503			@keyframes indeterminate_first {
2504				0% {
2505					left: -100%;
2506					width: 100%
2507				}
2508
2509				100% {
2510					left: 100%;
2511					width: 10%
2512				}
2513			}
2514
2515			@keyframes indeterminate_second {
2516				0% {
2517					left: -150%;
2518					width: 100%
2519				}
2520
2521				100% {
2522					left: 100%;
2523					width: 10%
2524				}
2525			}
2526
2527			.neo_loader {
2528				position: fixed;
2529				top: 0;
2530				left: 0;
2531				right: 0;
2532				bottom: 0;
2533				z-index: 9999999999999999999999;
2534				background: #fff;
2535				height: 100vh;
2536				width: 100vw;
2537				display: flex;
2538				flex-direction: column;
2539				justify-content: center;
2540				align-items: center;
2541				padding: 40px;
2542				box-sizing: border-box;
2543				text-align: center;
2544			}
2545
2546			.neo_loader .loaderline {
2547				width: 400px;
2548				margin: 40px;
2549				max-width: 90vw
2550			}
2551
2552			.loadername {
2553				color: #bbb;
2554				font-family: Helvetica, Arial, sans-serif;
2555				margin: 10px auto 15px
2556			}
2557
2558			.linear-activity.gray {
2559				background-color: #eaeaea
2560			}
2561
2562			.gray .indeterminate:after,
2563			.gray .indeterminate:before {
2564				background-color: #bbb
2565			}
2566
2567			.neo_megacontainer {
2568				display: none
2569			}
2570		</style>
2571
2572						<img loading="lazy" style=" max-height: 200px; max-width: 200px; object-fit: contain; margin-bottom: 20px;" src="https://files-p.pxsol.com/68/company/library/user/181438789186709c06ec3b520fccf0dc4d0a0285e1e.png" alt="Sarmiento Palace Hotel">
2573				<div class="loadername">
2574			Sarmiento Palace Hotel		</div>
2575		<div class="loaderline">
2576			<div class="linear-activity gray">
2577				<div class="indeterminate"></div>
2578			</div>
2579		</div>
2580	</div>
2581
2582	<div class="neo_megacontainer index">
2583
2584
2585
2586		
2587
2588<div class="main_wraper_top" id="main_wraper_top">
2589    
2590
2591<div class="neo_template_container neo_template_ computer">
2592
2593
2594<div id='normalheader'  class="navbar-fullwidth normalheader"  ><div  class="fullwidth flex flex-m-sb flex-s-center padding-xs-5"  ><div  class='xs-50' ><div class='pxModule_include  ModuloWrap_idiomas  '><div id="top_menu">
2595
2596		<div id="contenedor_top">
2597		<div id="menu_div_top">
2598			<div class="nav_top flex flex-s-center">
2599
2600														<a href="/pt/app/" ignorar-vista="true" target="_blank" class="btn_sesion cta_webcheckin_px">
2601						<i class="mdi mdi-login" aria-hidden="true"></i>
2602						<span>
2603							Check-in online						</span>
2604					</a>
2605				
2606				<div class="selectidiomaymoneda">
2607					<div class="currency_module_container" >
2608						<input type="hidden" id='ModuloIdioma_DefaultCurrency' value="ARS">
2609						<input type="hidden" id="ModuloIdioma_BookingEngineVersion" value="8">
2610						<div class="texto_idiomaymoneda">
2611							moeda - </div>
2612						<div id="deploymoneda"  class="pointer deploymoneda" >
2613															<div class="monedaactual hidden" cur="ARS">
2614									ARS $								</div>
2615															<div class="monedaactual hidden" cur="USD">
2616									USD $								</div>
2617													</div>
2618													<div id="monedasshow" class="monedasshow">
2619								<div class="titlemenujs">
2620									Escolha a moeda de sua preferência								</div>
2621																	<div class="monedaitem changeCurrency  hidden" cur="ARS">
2622										<strong>ARS $</strong>
2623										<div class="monedasname">
2624											Peso argentino										</div>
2625									</div>
2626																	<div class="monedaitem changeCurrency  hidden" cur="USD">
2627										<strong>USD $</strong>
2628										<div class="monedasname">
2629											Dólar americano										</div>
2630									</div>
2631															</div>
2632
2633											</div>
2634					<div class="texto_idiomaymoneda">
2635						Língua - </div>
2636
2637					
2638						<div id="deployidioma" class="deployidioma">
2639															<img alt="Bandeira" style="object-fit: contain;" class="bandera" src="/css/images/bnd_pt.png" height="24px" width="24px" />
2640													</div>
2641
2642					
2643					<div id="idiomasshow" class="idiomasshow">
2644						<div class="titlemenujs">
2645							Elija el idioma de su preferencia						</div>
2646															<div class="idiomaitem">
2647																				<a class="idiomalink" lng="es" href="/?lng=es" ignorar-vista="true" style="width: 100%;">
2648																							<img class="bandera" style="object-fit: contain;" src="/css/images/bnd_es.png" height="20" width="20" alt="es" />
2649																						<span class="nameidioma">
2650												Español											</span>
2651										</a>
2652									</div>
2653															<div class="idiomaitem">
2654																				<a class="idiomalink" lng="en" href="/en/?lng=en" ignorar-vista="true" style="width: 100%;">
2655																							<img class="bandera" style="object-fit: contain;" src="/css/images/bnd_en.png" height="20" width="20" alt="en" />
2656																						<span class="nameidioma">
2657												English											</span>
2658										</a>
2659									</div>
2660															<div class="idiomaitem">
2661																				<a class="idiomalink" lng="fr" href="/fr/?lng=fr" ignorar-vista="true" style="width: 100%;">
2662																							<img class="bandera" style="object-fit: contain;" src="/css/images/bnd_fr.png" height="20" width="20" alt="fr" />
2663																						<span class="nameidioma">
2664												Français											</span>
2665										</a>
2666									</div>
2667															<div class="idiomaitem">
2668																				<a class="idiomalink" lng="de" href="/de/?lng=de" ignorar-vista="true" style="width: 100%;">
2669																							<img class="bandera" style="object-fit: contain;" src="/css/images/bnd_de.png" height="20" width="20" alt="de" />
2670																						<span class="nameidioma">
2671												Deutsch											</span>
2672										</a>
2673									</div>
2674											</div>
2675				</div>
2676
2677				
2678    <a href="https://app.reservadirecto.com/auth_web?return_url=https%3A%2F%2Fwww.hotelsarmiento.com.ar%2Fauthorize.php%3Fredirect_url%3Dhttps%253A%252F%252Fwww.hotelsarmiento.com.ar%252Fpt%252F%253Flng%253Dpt&origin_pos=SarmientoPalace" ignorar-vista="true" class="btn_sesion cta_webcheckin_px margin-sm-right-10" style="text-decoration: none">
2679        <i class="mdi mdi-account" aria-hidden="true"></i>
2680        <span>
2681            Iniciar Sesión        </span>
2682    </a>
2683
2684    
2684<script src="https://accounts.google.com/gsi/intermediate"></script>
2684
2685    
2685<script src="https://accounts.google.com/gsi/intermediatesupport"></script>
2685
2686
2687            <div id="g_id_intermediate_iframe" data-src="https://eva.reservadirecto.com/core/includes/google_one_tap_intermediate_iframe.php?origin=https%3A%2F%2Fwww.hotelsarmiento.com.ar&amp;redirect_url=https%3A%2F%2Fwww.hotelsarmiento.com.ar%2Fpt%2F%3Flng%3Dpt&amp;pos=SarmientoPalace">
2688    </div>
2689
2690    <style>
2691        .neo_login_incentive {
2692            position: fixed;
2693            top: 10rem;
2694            right: calc(1rem + 10px);
2695            width: 375px;
2696            text-align: left;
2697            z-index: 1;
2698        }
2699
2700        .neo_login_incentive>div {
2701            margin: 0;
2702            border-radius: 10px;
2703        }
2704
2705        iframe#onetap_google_intermediate_iframe,
2706        #credential_picker_container,
2707        #credential_picker_container iframe,
2708        iframe[src*="google_one_tap_intermediate_iframe"] {
2709            top: 18.5rem !important;
2710            right: 1rem !important;
2711        }
2712
2713        @media only screen and (max-width: 468px) {
2714            .neo_login_incentive {
2715                display: none !important;
2716                bottom: 0rem;
2717                top: initial;
2718                left: 0;
2719                right: 0;
2720                position: fixed;
2721                width: 100%;
2722                text-transform: initial;
2723                letter-spacing: normal;
2724                font-weight: initial;
2725            }
2726
2727            iframe#onetap_google_intermediate_iframe,
2728            #credential_picker_container,
2729            #credential_picker_container iframe,
2730            iframe[src*="google_one_tap_intermediate_iframe"] {
2731                top: initial !important;
2732                bottom: 5rem !important;
2733                right: initial !important;
2734                z-index: 1;
2735            }
2736        }
2737    </style>
2738    
2738<script>
2739        (function() {
2740            var repositioned = false;
2741            var attempts = 0;
2742            var timer = setInterval(function() {
2743                if (repositioned || ++attempts > 60) { clearInterval(timer); return; }
2744                var el = document.getElementById('credential_picker_container')
2745                      || document.querySelector('iframe[src*="google_one_tap_intermediate_iframe"]')
2746                      || document.getElementById('onetap_google_intermediate_iframe');
2747                if (el) {
2748                    var target = (el.tagName === 'IFRAME' && el.parentElement && el.parentElement.style.position === 'fixed') ? el.parentElement : el;
2749                    var isMobile = window.innerWidth <= 468;
2750                    if (isMobile) {
2751                        target.style.setProperty('top', 'initial', 'important');
2752                        target.style.setProperty('bottom', '5rem', 'important');
2753                        target.style.setProperty('right', 'initial', 'important');
2754                    } else {
2755                        target.style.setProperty('top', '18.5rem', 'important');
2756                        target.style.setProperty('right', '1rem', 'important');
2757                    }
2758                    repositioned = true;
2759                    clearInterval(timer);
2760                }
2761            }, 100);
2762        })();
2763    </script>
2763
2764
2765			</div>
2766		</div>
2767	</div>
2768
2769</div>
2770</div></div></div><div  class="navbar-fullwidth navbar-top"  ><ul  class='nav-list' ><li  class='' ><a  class="item-list"   href="/pt/index.html" target="">Home</a></li><li  class='' ><a  class="item-list"   href="/pt/habitaciones.html" target="">Quartos</a></li><li  class='' ><a  class="item-list"   href="/pt/servicios.html" target="">Serviços</a></li><li  class='' ><a  class="item-list"   target='_blank' href="https://carta.hotelsarmiento.com.ar/" target="">Carta Bar</a></li></ul><div  class="loguito"  > <img loading="lazy"  class="transparente"   lazy-src="https://files-p.pxsol.com/68/company/library/user/215897845808ca7d36eed3f9c129d26e5a0fa645a33.svg" alt="SarmientoPalace" > </image> <img loading="lazy"  class="fijo"   lazy-src="https://files-p.pxsol.com/68/company/library/user/18268279260d4ed95888b1839b193da8057cb3f54b8.svg" alt="SarmientoPalace" > </image></div><ul  class='nav-list' ><li  class='' ><a  class="item-list"   href="/pt/promos.html" target="">Promoções</a></li><li  class='' ><a  class="item-list"   href="/pt/galeria.html" target="">galeria</a></li><li  class='' ><a  class="item-list"   href="/pt/contacto.html" target="">Localização e contato</a></li></ul></div></div> 
2771
2772
2773<div  class="container-search"  ><div id='normalsearch'  class="normalsearch"  ><div  class=''  ListSelector='false' ProductSelector='false' LocationSearch='false' BuscadorVertical='false' OwnLP='false'>
2774			  <div class="neo_template_block neo_marketplace_buscador_v3 pxModule_include ModuloWrap_marketplace_buscador_v3" id="marketplace_buscador_v3" >
2775			  
2776		
2777		<div class="px-mk-buscador-container  buscar_lp ">
2778
2779			
2780
2781			<form px-endpoint="https://api-1-eb-web.pxsol.io" action="https://api-1-eb-web.pxsol.io/search/insert" ajax-action="search/insert" method="post" name="pxmk_searchform" id="pxmk_searchform" class="px-mk-searchform marketplace_searchform_computer" target="_self">
2782				<label class="error px-mk-generalerror nodisplay">Ocorreu um erro, por favor, tente novamente</label>
2783												
2784
2785				
2786				
2787
2788				<div class="fechas_ancho_entrada px-sm-inputcontainer w-padding px-mk-fixedwidth-inputcontainer">
2789					<label class="px-mk-inputicon" for="fechaingreso">
2790						<?xml version="1.0" encoding="iso-8859-1"?>
2791<svg version="1.1" id="Capa_1" 
2792    xmlns="http://www.w3.org/2000/svg" 
2793    xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 426.667 426.667" style="enable-background:new 0 0 426.667 426.667;" xml:space="preserve">
2794    <g>
2795        <g>
2796            <g>
2797                <rect x="213.333" y="234.667" width="106.667" height="106.667"/>
2798                <path d="M362.667,42.667h-21.333V0h-42.667v42.667H128V0H85.333v42.667H64c-23.573,0-42.453,19.093-42.453,42.667L21.333,384				c0,23.573,19.093,42.667,42.667,42.667h298.667c23.573,0,42.667-19.093,42.667-42.667V85.333				C405.333,61.76,386.24,42.667,362.667,42.667z M362.667,384H64V149.333h298.667V384z"/>
2799            </g>
2800        </g>
2801    </g>
2802</svg>					</label>
2803					<label class="px-mk-labelinput" for="fechaingreso">
2804						Data de chegada					</label>
2805					<input name="Start" type="text" style="font-size: 16px !important;" onfocus="return false;" readonly id="fechaingreso" class="" value="26/09/2026" placeholder="chegada" data-testid="date-start" />
2806				</div>
2807
2808				<div class=" fechas_ancho_salida px-sm-inputcontainer w-padding px-mk-fixedwidth-inputcontainer">
2809					<label class="px-mk-inputicon" for="fechaegreso">
2810						<?xml version="1.0" encoding="iso-8859-1"?>
2811<svg version="1.1" id="Capa_1" 
2812    xmlns="http://www.w3.org/2000/svg" 
2813    xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 426.667 426.667" style="enable-background:new 0 0 426.667 426.667;" xml:space="preserve">
2814    <g>
2815        <g>
2816            <g>
2817                <rect x="213.333" y="234.667" width="106.667" height="106.667"/>
2818                <path d="M362.667,42.667h-21.333V0h-42.667v42.667H128V0H85.333v42.667H64c-23.573,0-42.453,19.093-42.453,42.667L21.333,384				c0,23.573,19.093,42.667,42.667,42.667h298.667c23.573,0,42.667-19.093,42.667-42.667V85.333				C405.333,61.76,386.24,42.667,362.667,42.667z M362.667,384H64V149.333h298.667V384z"/>
2819            </g>
2820        </g>
2821    </g>
2822</svg>					</label>
2823					<label class="px-mk-labelinput" for="fechaegreso">
2824						Data de saída					</label>
2825					<input name="End" type="text" style="font-size: 16px !important;" onfocus="return false;" readonly id="fechaegreso" size="10" value="27/09/2026" class="relative maxzindex pointer" placeholder="saída" data-testid="date-end" />
2826				</div>
2827
2828
2829				<div id="NochesError" class="error" style="display:none"></div>
2830
2831				
2832					<div class="codigopromocional px-sm-inputcontainer w-padding px-mk-fixedwidth-inputcontainer">
2833						<label class="px-mk-inputicon" for="fechaegreso">
2834							<?xml version="1.0" encoding="iso-8859-1"?>
2835<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
2836<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
2837	 viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
2838<g>
2839	<g>
2840		<path d="M32,271.692v192c0,17.664,14.368,32,32,32h160v-224H32z"/>
2841	</g>
2842</g>
2843<g>
2844	<g>
2845		<path d="M480,143.692H378.752c7.264-4.96,13.504-9.888,17.856-14.304c25.824-25.952,25.824-68.192,0-94.144
2846			c-25.088-25.28-68.8-25.216-93.856,0c-13.888,13.92-50.688,70.592-45.6,108.448h-2.304c5.056-37.856-31.744-94.528-45.6-108.448
2847			c-25.088-25.216-68.8-25.216-93.856,0C89.6,61.196,89.6,103.436,115.36,129.388c4.384,4.416,10.624,9.344,17.888,14.304H32
2848			c-17.632,0-32,14.368-32,32v48c0,8.832,7.168,16,16,16h208v-64h64v64h208c8.832,0,16-7.168,16-16v-48
2849			C512,158.06,497.664,143.692,480,143.692z M222.112,142.636c0,0-1.344,1.056-5.92,1.056c-22.112,0-64.32-22.976-78.112-36.864
2850			c-13.408-13.504-13.408-35.52,0-49.024c6.496-6.528,15.104-10.112,24.256-10.112c9.12,0,17.728,3.584,24.224,10.112
2851			C208.128,79.5,229.568,134.924,222.112,142.636z M295.776,143.692c-4.544,0-5.888-1.024-5.888-1.056
2852			c-7.456-7.712,13.984-63.136,35.552-84.832c12.896-13.024,35.456-13.088,48.48,0c13.44,13.504,13.44,35.52,0,49.024
2853			C360.128,120.716,317.92,143.692,295.776,143.692z"/>
2854	</g>
2855</g>
2856<g>
2857	<g>
2858		<path d="M288,271.692v224h160c17.664,0,32-14.336,32-32v-192H288z"/>
2859	</g>
2860</g>
2861<g>
2862</g>
2863<g>
2864</g>
2865<g>
2866</g>
2867<g>
2868</g>
2869<g>
2870</g>
2871<g>
2872</g>
2873<g>
2874</g>
2875<g>
2876</g>
2877<g>
2878</g>
2879<g>
2880</g>
2881<g>
2882</g>
2883<g>
2884</g>
2885<g>
2886</g>
2887<g>
2888</g>
2889<g>
2890</g>
2891</svg>
2892						</label>
2893						<label class="px-mk-labelinput" for="PromoCode">
2894							Código Promocional						</label>
2895						<input name="Code" type="text" id="PromoCode" size="6" class="relative maxzindex pointer" data-testid="promo-code" />
2896					</div>
2897
2898				
2899
2900									<div class="nodisplay" id="Combinations">[{"Adults":1,"Childs":0,"Babies":0},{"Adults":2,"Childs":0,"Babies":0},{"Adults":3,"Childs":0,"Babies":0},{"Adults":4,"Childs":0,"Babies":0},{"Adults":5,"Childs":0,"Babies":0}]</div>
2901								
2902<style>
2903	/* Quitar flechitas de inputs number en Chrome, Safari, Edge, Opera */
2904	.neo_partyselector_quantity::-webkit-outer-spin-button,
2905	.neo_partyselector_quantity::-webkit-inner-spin-button {
2906		-webkit-appearance: none;
2907		margin: 0;
2908	}
2909
2910	/* Desktop - mantener original, todo en una línea */
2911	.txtPartyGroup .guests-row,
2912	.txtPartyGroup .rooms-row {
2913		display: inline;
2914	}
2915
2916	/* Nacionalidad label - desktop #000, mobile #333 */
2917	.nacionalidad-label {
2918		color: #000 !important;
2919	}
2920
2921	@media only screen and (max-width: 650px) {
2922		.nacionalidad-label {
2923			color: #333 !important;
2924		}
2925	}
2926
2927	.txtPartyGroup .party-number {
2928		margin-right: 4px;
2929	}
2930
2931	.txtPartyGroup .party-separator {
2932		color: #999;
2933		margin: 0 4px;
2934	}
2935
2936	/* Mobile - formato de dos líneas mejorado */
2937	@media only screen and (max-width: 650px) {
2938
2939		/* Ocultar separador entre huéspedes y habitaciones en mobile */
2940		.txtPartyGroup .rooms-separator {
2941			display: none;
2942		}
2943
2944		.txtPartyGroup {
2945			display: flex;
2946			flex-direction: column;
2947			align-items: flex-start;
2948			gap: 2px;
2949			font-size: 15px;
2950			line-height: 1.4;
2951			color: #555;
2952		}
2953
2954		.txtPartyGroup .guests-row {
2955			display: flex;
2956			align-items: center;
2957			flex-wrap: wrap;
2958		}
2959
2960		.txtPartyGroup .party-item {
2961			display: inline-flex;
2962			align-items: baseline;
2963			white-space: nowrap;
2964		}
2965
2966		.txtPartyGroup .party-number {
2967			font-weight: 700;
2968			color: #333;
2969			margin-right: 4px;
2970		}
2971
2972		.txtPartyGroup .party-label {
2973			color: #666;
2974		}
2975
2976		.txtPartyGroup .party-separator {
2977			color: #ccc;
2978			margin: 0 8px;
2979		}
2980
2981		.txtPartyGroup .rooms-row {
2982			display: block;
2983			color: #666;
2984			margin: 0;
2985			padding: 0;
2986			text-align: left;
2987		}
2988
2989		.SelectorInitial {
2990			min-height: 65px;
2991			padding: 12px 45px 12px 14px;
2992			display: flex;
2993			align-items: center;
2994		}
2995
2996		.PartyTypeSimulatorContainer {
2997			overflow: visible;
2998		}
2999
3000		/* Ajuste para los labels del selector */
3001		.neo_party_selector>div:first-child {
3002			display: flex;
3003			flex-direction: column;
3004			min-width: 0;
3005		}
3006
3007		.neo_party_selector>div:first-child>div {
3008			white-space: nowrap;
3009			overflow: visible;
3010			font-size: 14px;
3011			font-weight: 500;
3012		}
3013
3014		.neo_party_selector>div:first-child>div:last-child {
3015			font-size: 12px;
3016			color: #888;
3017			margin-top: 3px;
3018			white-space: nowrap;
3019			font-weight: 400;
3020		}
3021
3022		/* Asegurar que en mobile los controles sigan alineados a la derecha */
3023		.neo_party_selector {
3024			display: flex;
3025			justify-content: space-between;
3026			align-items: center;
3027			width: 100%;
3028			margin-bottom: 14px;
3029			padding-bottom: 14px;
3030			border-bottom: 1px solid #f0f0f0;
3031		}
3032
3033		.neo_party_selector:last-of-type {
3034			border-bottom: none;
3035			margin-bottom: 0;
3036			padding-bottom: 0;
3037		}
3038
3039		.neo_party_selector>div:last-child {
3040			display: flex;
3041			align-items: center;
3042			justify-content: flex-end;
3043			flex-shrink: 0;
3044			margin-left: 15px;
3045		}
3046
3047		.neo_party_selector .flex.flex-s-center {
3048			display: flex;
3049			align-items: center;
3050			gap: 4px;
3051		}
3052	}
3053
3054	/* Estilos para alinear correctamente los controles numéricos */
3055	.neo_party_selector {
3056		display: flex !important;
3057		justify-content: space-between !important;
3058		align-items: center !important;
3059		width: 100% !important;
3060		margin-bottom: 15px !important;
3061	}
3062
3063	.neo_party_selector>div:first-child {
3064		flex: 1 !important;
3065		min-width: 0 !important;
3066	}
3067
3068	.neo_party_selector>div:last-child {
3069		display: flex !important;
3070		align-items: center !important;
3071		justify-content: flex-end !important;
3072		flex-shrink: 0 !important;
3073		margin-left: 15px !important;
3074	}
3075
3076	/* Asegurar que los botones y input estén alineados correctamente */
3077	.neo_party_selector .flex.flex-s-center {
3078		display: flex !important;
3079		align-items: center !important;
3080		gap: 3px !important;
3081	}
3082</style>
3083
3084<div class="relative PartyTypeSimulatorContainer">
3085	<div class="PartyTypeSimulator px-sm-inputcontainer w-padding" style="border-right: none" maxadult="6" maxchild="0" maxrooms="4">
3086		<div class="SelectorInitial" data-testid="guest-selector-trigger">
3087									<span class="txtPartyGroup" style="align-items: flex-start !important;">
3088				<span class="guests-row">
3089					<span class="party-item txtAdults">
3090						<span class="party-number numberAdults">2</span>
3091						<span class="party-label txtAdultsTxt" plural="adultos" singular="adulto">
3092							adultos						</span>
3093					</span>
3094					<span class="party-item txtChildren"  style="display:none;">
3095						<span class="party-separator">•</span>
3096						<span class="party-number numberChildren">0</span>
3097						<span class="party-label txtChildrenTxt" plural="niños" singular="niño">
3098							niño						</span>
3099					</span>
3100					<span class="party-item txtBabies"  style="display:none;">
3101						<span class="party-separator">•</span>
3102						<span class="party-number numberBabies">0</span>
3103						<span class="party-label txtBabiesTxt" plural="bebés" singular="bebé">
3104							bebé						</span>
3105					</span>
3106				</span>
3107				<span class="rooms-separator party-separator">•</span>
3108				<span class="rooms-row txtRooms">
3109					<span class="party-number numberRooms">1</span>
3110					<span
3111						class="party-label txtRoomsTxt"
3112						plural="habitacion/es"
3113						singular="quarto">
3114						quarto					</span>
3115				</span>
3116			</span>
3117			<label class='ignoreclick px-mk-inputicon'>
3118				<?xml version="1.0" encoding="iso-8859-1"?>
3119<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
3120<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
3121	 viewBox="0 0 426.667 426.667" style="enable-background:new 0 0 426.667 426.667;" xml:space="preserve">
3122<g>
3123	<g>
3124		<g>
3125			<path d="M309.333,213.333c29.44,0,53.12-23.893,53.12-53.333s-23.68
3125-53.333-53.12-53.333S256,130.56,256,160
3126				S279.893,213.333,309.333,213.333z"/>
3127			<path d="M149.333,192c35.307,0,63.787-28.693,63.787-64c0-35.307-28.48-64-63.787-64s-64,28.693-64,64
3128				C85.333,163.307,114.027,192,149.333,192z"/>
3129			<path d="M149.333,234.667C99.52,234.667,0,259.627,0,309.333v53.333h149.333v-48c0-18.133,7.147-49.813,50.56-74.027
3130				C181.333,236.693,163.307,234.667,149.333,234.667z"/>
3131			<path d="M309.333,256C270.187,256,192,275.627,192,314.667v48h234.667v-48C426.667,275.627,348.48,256,309.333,256z"/>
3132		</g>
3133	</g>
3134</g>
3135<g>
3136</g>
3137<g>
3138</g>
3139<g>
3140</g>
3141<g>
3142</g>
3143<g>
3144</g>
3145<g>
3146</g>
3147<g>
3148</g>
3149<g>
3150</g>
3151<g>
3152</g>
3153<g>
3154</g>
3155<g>
3156</g>
3157<g>
3158</g>
3159<g>
3160</g>
3161<g>
3162</g>
3163<g>
3164</g>
3165</svg>
3166			</label>
3167		</div>
3168	</div>
3169	<div class="PartyTypeSimulatorSelect nodisplay padding-xs-20">
3170		<div class="flex-column full">
3171			<div class="neo_party_selector neo_adults_selector flex flex-m-sb flex-s-center">
3172				<div>
3173					<div>Board / es</div>
3174					<div style="font-size: 11px; color: #888; margin-top: 2px;">
3175						16 años o más					</div>
3176				</div>
3177				<div class="flex flex-s-center">
3178										<button onclick="alterPartyGroup(this);" class="neo_button_partyselector neo_minus_button" type='button' party-type="adults" action-type='minus' data-testid="adults-minus">-</button>
3179					<input type="number" inputmode="numeric" query-default="2" class="neo_partyselector_quantity" party-type="adults" val="2" value="2" onchange="handlePartyInputChange(this);" min="1" max="6" style="background-color: #f8f8f8 !important; border-radius: 10px !important; width: 50px !important; height: 42px !important; margin: 0 3px !important; padding: 0 !important; border: none; text-align: center !important; -moz-appearance: textfield !important;" data-testid="adults-input" />
3180					<button onclick="alterPartyGroup(this);" class="neo_button_partyselector neo_plus_button" type='button' party-type="adults" action-type='plus' data-testid="adults-plus">+</button>
3181				</div>
3182			</div>
3183						<div class="neo_party_selector neo_adults_selector flex flex-m-sb flex-s-center">
3184				<div>Habitacion/es</div>
3185				<div class="flex flex-s-center">
3186										<button onclick="alterPartyGroup(this);" class="neo_button_partyselector neo_minus_button" type='button' party-type="rooms" action-type='minus' data-testid="rooms-minus">-</button>
3187					<input type="number" inputmode="numeric" class="neo_partyselector_quantity" party-type="rooms" val="1" value="1" onchange="handlePartyInputChange(this);" min="1" max="4" style="background-color: #f8f8f8 !important; border-radius: 10px !important; width: 50px !important; height: 42px !important; margin: 0 3px !important; padding: 0 !important; border: none; text-align: center !important; -moz-appearance: textfield !important;" data-testid="rooms-input" />
3188					<button onclick="alterPartyGroup(this);" class="neo_button_partyselector neo_plus_button" type='button' party-type="rooms" action-type='plus' data-testid="rooms-plus">+</button>
3189				</div>
3190			</div>
3191		</div>
3192		<div class="ChildrenAgesContainer nodisplay">
3193			<div class="flex-column">
3194				<div class="texto padding-xs-bottom-20" style="font-size: 12px !important;">¿Qué edades tienen los  con los que viajas?</div>
3195				<div class="ChildrensAges" child-id="0" style="max-height: 200px !important; overflow-y: auto !important; padding-right: 5px !important;">
3196					<div class="ChildrensAgesSelectContainer" child-id="0" style="margin-bottom: 10px !important;">
3197						<select class="ChildrensAgeSelect" child-id="0" onchange="alterPartyGroup()" style="color: #444 !important; background-color: transparent !important; padding: 10px 8px !important; border: 1px solid #ddd !important; border-radius: 8px !important; width: 100% !important;" data-testid="child-age-select">
3198							<option value="" disabled selected>Edad el día del check-out</option>
3199															<option value="3">3 años</option>
3200															<option value="4">4 años</option>
3201															<option value="5">5 años</option>
3202															<option value="6">6 años</option>
3203															<option value="7">7 años</option>
3204															<option value="8">8 años</option>
3205															<option value="9">9 años</option>
3206															<option value="10">10 años</option>
3207															<option value="11">11 años</option>
3208															<option value="12">12 años</option>
3209															<option value="13">13 años</option>
3210															<option value="14">14 años</option>
3211															<option value="15">15 años</option>
3212													</select>
3213					</div>
3214				</div>
3215				<div class="NotValidChildrens nodisplay animated shake"><i class="fa fa-exclamation" aria-hidden="true"></i> Seleccione edad de los  por favor</div>
3216			</div>
3217		</div>
3218
3219
3220		    <!-- Flag Icons CSS Library -->
3221    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/lipis/[email protected]/css/flag-icons.min.css">
3222
3223    <style>
3224        /* Country Selector Component Styles */
3225        .country-selector-container {
3226            position: relative;
3227            width: 100%;
3228            z-index: 1;
3229        }
3230
3231        .country-selector-container:focus-within {
3232            z-index: 9999;
3233        }
3234
3235        .country-selector-wrapper {
3236            position: relative;
3237            width: 100%;
3238        }
3239
3240        /* Asegurar que el dropdown se muestre sobre contenedores con overflow */
3241        .country-selector-wrapper:has(.country-selector-dropdown.open) {
3242            overflow: visible !important;
3243        }
3244
3245        .country-selector-trigger {
3246            display: flex;
3247            align-items: center;
3248            justify-content: space-between;
3249            width: 100%;
3250            padding: 10px 12px;
3251            background-color: #fff;
3252            border: 1px solid #ddd;
3253            border-radius: 8px;
3254            cursor: pointer;
3255            transition: all 0.2s ease;
3256            font-size: 14px;
3257            color: #333;
3258            text-align: left;
3259            min-height: 44px;
3260            box-sizing: border-box;
3261        }
3262
3263        .country-selector-trigger:hover {
3264            border-color: #999;
3265        }
3266
3267        .country-selector-trigger:focus {
3268            outline: none;
3269            border-color: #0066cc;
3270            box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.15);
3271        }
3272
3273        .country-selector-trigger[aria-expanded="true"] {
3274            border-color: #0066cc;
3275            border-bottom-left-radius: 0;
3276            border-bottom-right-radius: 0;
3277        }
3278
3279        .country-selector-selected {
3280            display: flex;
3281            align-items: center;
3282            gap: 10px;
3283            flex: 1;
3284            overflow: hidden;
3285        }
3286
3287        .country-selector-selected .country-flag {
3288            flex-shrink: 0;
3289            width: 24px;
3290            height: 18px;
3291            border-radius: 2px;
3292            box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
3293        }
3294
3295        .country-selector-selected .country-name {
3296            white-space: nowrap;
3297            overflow: hidden;
3298            text-overflow: ellipsis;
3299        }
3300
3301        .country-selector-selected .country-placeholder {
3302            color: #999;
3303        }
3304
3305        .country-selector-arrow {
3306            flex-shrink: 0;
3307            color: #666;
3308            transition: transform 0.2s ease;
3309            display: flex;
3310            align-items: center;
3311        }
3312
3313        .country-selector-trigger[aria-expanded="true"] .country-selector-arrow {
3314            transform: rotate(180deg);
3315        }
3316
3317        /* Dropdown */
3318        .country-selector-dropdown {
3319            position: absolute;
3320            top: 100%;
3321            left: 0;
3322            right: 0;
3323            background: #fff;
3324            border: 1px solid #0066cc;
3325            border-top: none;
3326            border-radius: 0 0 8px 8px;
3327            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
3328            z-index: 9999;
3329            display: none;
3330            max-height: 320px;
3331            overflow: hidden;
3332            flex-direction: column;
3333        }
3334
3335        /* Asegurar que el contenedor tenga contexto de apilamiento cuando está abierto */
3336        .country-selector-container:has(.country-selector-dropdown.open) {
3337            z-index: 9999;
3338        }
3339
3340        .country-selector-dropdown.open {
3341            display: flex;
3342        }
3343
3344        /* Search */
3345        .country-selector-search {
3346            padding: 10px 12px;
3347            border-bottom: 1px solid #eee;
3348            position: relative;
3349            flex-shrink: 0;
3350        }
3351
3352        .country-search-input {
3353            width: 100%;
3354            padding: 8px 12px;
3355            border: 1px solid #ddd;
3356            border-radius: 6px;
3357            font-size: 14px;
3358            outline: none;
3359            transition: border-color 0.2s ease;
3360            box-sizing: border-box;
3361        }
3362
3363        .country-search-input:focus {
3364            border-color: #0066cc;
3365        }
3366
3367        .country-search-input::placeholder {
3368            color: #999;
3369        }
3370
3371        /* Options List */
3372        .country-selector-list {
3373            overflow-y: auto;
3374            flex: 1;
3375            overscroll-behavior: contain;
3376            padding: 4px 0;
3377        }
3378
3379        .country-option {
3380            display: flex;
3381            align-items: center;
3382            padding: 10px 12px;
3383            cursor: pointer;
3384            transition: background-color 0.15s ease;
3385            gap: 10px;
3386        }
3387
3388        .country-option:hover {
3389            background-color: #f5f5f5;
3390        }
3391
3392        .country-option.selected {
3393            background-color: #e8f4fc;
3394        }
3395
3396        .country-option.highlighted {
3397            background-color: #f0f0f0;
3398        }
3399
3400        .country-option .country-flag {
3401            width: 24px;
3402            height: 18px;
3403            border-radius: 2px;
3404            flex-shrink: 0;
3405            box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
3406            background-color: #e0e0e0;
3407        }
3408
3409        .country-option .country-flag-empty {
3410            width: 24px;
3411            height: 18px;
3412            flex-shrink: 0;
3413        }
3414
3415        .country-option .country-name {
3416            flex: 1;
3417            font-size: 14px;
3418            color: #333;
3419        }
3420
3421        .country-option .country-check {
3422            color: #0066cc;
3423            flex-shrink: 0;
3424        }
3425
3426        .country-option-placeholder {
3427            color: #999;
3428            cursor: default;
3429            pointer-events: none;
3430        }
3431
3432        .country-no-results {
3433            padding: 20px 12px;
3434            text-align: center;
3435            color: #999;
3436            font-size: 14px;
3437        }
3438
3439        /* Ocultar opciones filtradas */
3440        .country-option.hidden {
3441            display: none;
3442        }
3443
3444
3445        /* Mobile Optimizations */
3446        @media (max-width: 650px) {
3447            .country-selector-dropdown {
3448                max-height: 50vh;
3449            }
3450
3451            .country-selector-trigger {
3452                min-height: 48px;
3453                font-size: 16px;
3454                /* Previene zoom en iOS */
3455            }
3456
3457            .country-search-input {
3458                font-size: 16px;
3459                /* Previene zoom en iOS */
3460                padding: 10px 12px;
3461            }
3462
3463            .country-option {
3464                padding: 12px;
3465            }
3466        }
3467    </style>
3468    
3468<script>
3469        (function() {
3470            // Evitar inicialización múltiple
3471            if (window.CountrySelectorInitialized) return;
3472            window.CountrySelectorInitialized = true;
3473
3474            function initCountrySelector(container) {
3475                const selectorId = container.dataset.selectorId;
3476                const trigger = container.querySelector('.country-selector-trigger');
3477                const dropdown = container.querySelector('.country-selector-dropdown');
3478                const hiddenInput = container.querySelector('input[type="hidden"]');
3479                const searchInput = container.querySelector('.country-search-input');
3480                const optionsList = container.querySelector('.country-selector-list');
3481                const options = container.querySelectorAll('.country-option:not(.country-option-placeholder)');
3482                const placeholder = container.querySelector('.country-option-placeholder');
3483                const noResults = container.querySelector('.country-no-results');
3484
3485                let highlightedIndex = -1;
3486                let visibleOptions = [];
3487
3488                function updateVisibleOptions() {
3489                    visibleOptions = Array.from(options).filter(opt => !opt.classList.contains('hidden'));
3490                }
3491
3492                let isUsingFixedPosition = false;
3493                let scrollHandler = null;
3494
3495                function updateDropdownPosition() {
3496                    if (!isUsingFixedPosition) return;
3497                    const triggerRect = trigger.getBoundingClientRect();
3498                    dropdown.style.top = triggerRect.bottom + 'px';
3499                    dropdown.style.left = triggerRect.left + 'px';
3500                    dropdown.style.width = triggerRect.width + 'px';
3501                }
3502
3503                function openDropdown() {
3504                    trigger.setAttribute('aria-expanded', 'true');
3505
3506                    // Usar position fixed para checkout para evitar problemas de overflow
3507                    const isCheckout = container.closest('.checkout_formfield, .checkout_country, .Formulario_txt');
3508                    if (isCheckout) {
3509                        isUsingFixedPosition = true;
3510                        const triggerRect = trigger.getBoundingClientRect();
3511                        dropdown.style.position = 'fixed';
3512                        dropdown.style.top = triggerRect.bottom + 'px';
3513                        dropdown.style.left = triggerRect.left + 'px';
3514                        dropdown.style.width = triggerRect.width + 'px';
3515                        dropdown.style.zIndex = '99999';
3516
3517                        // Listener para actualizar posición en scroll/resize
3518                        scrollHandler = function() {
3519                            updateDropdownPosition();
3520                        };
3521                        window.addEventListener('scroll', scrollHandler, true);
3522                        window.addEventListener('resize', scrollHandler);
3523                    }
3524
3525                    dropdown.classList.add('open');
3526
3527                    if (searchInput) {
3528                        searchInput.value = '';
3529                        filterOptions('');
3530                        setTimeout(() => searchInput.focus(), 50);
3531                    }
3532                    highlightedIndex = -1;
3533                    updateVisibleOptions();
3534                }
3535
3536                function closeDropdown() {
3537                    trigger.setAttribute('aria-expanded', 'false');
3538                    dropdown.classList.remove('open');
3539
3540                    // Remover listeners de scroll/resize
3541                    if (scrollHandler) {
3542                        window.removeEventListener('scroll', scrollHandler, true);
3543                        window.removeEventListener('resize', scrollHandler);
3544                        scrollHandler = null;
3545                    }
3546
3547                    // Resetear estilos de position fixed
3548                    if (isUsingFixedPosition) {
3549                        dropdown.style.position = '';
3550                        dropdown.style.top = '';
3551                        dropdown.style.left = '';
3552                        dropdown.style.width = '';
3553                        dropdown.style.zIndex = '';
3554                        isUsingFixedPosition = false;
3555                    }
3556
3557                    highlightedIndex = -1;
3558                    // Remover highlight de todas las opciones
3559                    options.forEach(opt => opt.classList.remove('highlighted'));
3560                }
3561
3562                function selectOption(option) {
3563                    const value = option.dataset.value;
3564                    const code = option.dataset.code;
3565                    const name = option.querySelector('.country-name')?.textContent || '';
3566                    const flagCode = option.dataset.flag || code;
3567                    const flagClass = flagCode ? 'fi fi-' + flagCode : '';
3568
3569                    // Actualizar input oculto
3570                    hiddenInput.value = value;
3571                    hiddenInput.setAttribute('data-code', code || '');
3572
3573                    // Disparar evento change
3574                    const event = new Event('change', {
3575                        bubbles: true
3576                    });
3577                    hiddenInput.dispatchEvent(event);
3578
3579                    // Actualizar visualización del trigger
3580                    const selectedDisplay = trigger.querySelector('.country-selector-selected');
3581                    if (value && code) {
3582                        selectedDisplay.innerHTML = `
3583                        <span class="country-flag ${flagClass}"></span>
3584                        <span class="country-name">${name}</span>
3585                    `;
3586                    } else {
3587                        const placeholderText = placeholder?.querySelector('.country-name')?.textContent || 'Seleccione un país';
3588                        selectedDisplay.innerHTML = `<span class="country-placeholder">${placeholderText}</span>`;
3589                    }
3590
3591                    // Actualizar estado selected de opciones
3592                    options.forEach(opt => {
3593                        opt.classList.remove('selected');
3594                        opt.setAttribute('aria-selected', 'false');
3595                        // Remover check anterior
3596                        const existingCheck = opt.querySelector('.country-check');
3597                        if (existingCheck) existingCheck.remove();
3598                    });
3599
3600                    if (value) {
3601                        option.classList.add('selected');
3602                        option.setAttribute('aria-selected', 'true');
3603                        // Agregar check
3604                        const check = document.createElement('span');
3605                        check.className = 'country-check';
3606                        check.innerHTML = '<svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M11.6667 3.5L5.25 9.91667L2.33333 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>';
3607                        option.appendChild(check);
3608                    }
3609
3610                    closeDropdown();
3611                }
3612
3613                function filterOptions(query) {
3614                    const normalizedQuery = query.toLowerCase().trim();
3615                    let hasResults = false;
3616
3617                    options.forEach(option => {
3618                        const searchText = option.dataset.search || '';
3619                        const matches = normalizedQuery === '' || searchText.includes(normalizedQuery);
3620                        option.classList.toggle('hidden', !matches);
3621                        if (matches) hasResults = true;
3622                    });
3623
3624                    // Mostrar mensaje de sin resultados
3625                    if (noResults) {
3626                        noResults.style.display = hasResults ? 'none' : 'block';
3627                    }
3628
3629                    updateVisibleOptions();
3630                    highlightedIndex = -1;
3631                }
3632
3633                function highlightOption(index) {
3634                    options.forEach(opt => opt.classList.remove('highlighted'));
3635                    if (index >= 0 && index < visibleOptions.length) {
3636                        highlightedIndex = index;
3637                        visibleOptions[index].classList.add('highlighted');
3638                        visibleOptions[index].scrollIntoView({
3639                            block: 'nearest'
3640                        });
3641                    }
3642                }
3643
3644                // Event Listeners
3645                trigger.addEventListener('click', function(e) {
3646                    e.preventDefault();
3647                    e.stopPropagation();
3648                    const isOpen = trigger.getAttribute('aria-expanded') === 'true';
3649                    if (isOpen) {
3650                        closeDropdown();
3651                    } else {
3652                        openDropdown();
3653                    }
3654                });
3655
3656                // Selección de opción
3657                optionsList.addEventListener('click', function(e) {
3658                    e.stopPropagation();
3659                    const option = e.target.closest('.country-option');
3660                    if (option && option.dataset.disabled !== 'true') {
3661                        selectOption(option);
3662                    }
3663                });
3664
3665                // Búsqueda
3666                if (searchInput) {
3667                    searchInput.addEventListener('input', function(e) {
3668                        filterOptions(e.target.value);
3669                    });
3670
3671                    searchInput.addEventListener('keydown', function(e) {
3672                        if (e.key === 'ArrowDown') {
3673                            e.preventDefault();
3674                            highlightOption(Math.min(highlightedIndex + 1, visibleOptions.length - 1));
3675                        } else if (e.key === 'ArrowUp') {
3676                            e.preventDefault();
3677                            highlightOption(Math.max(highlightedIndex - 1, 0));
3678                        } else if (e.key === 'Enter') {
3679                            e.preventDefault();
3680                            if (highlightedIndex >= 0 && visibleOptions[highlightedIndex]) {
3681                                selectOption(visibleOptions[highlightedIndex]);
3682                            }
3683                        } else if (e.key === 'Escape') {
3684                            closeDropdown();
3685                            trigger.focus();
3686                        }
3687                    });
3688                }
3689
3690                // Cerrar al hacer clic fuera
3691                document.addEventListener('click', function(e) {
3692                    if (!container.contains(e.target)) {
3693                        closeDropdown();
3694                    }
3695                });
3696
3697                // Navegación con teclado en el trigger
3698                trigger.addEventListener('keydown', function(e) {
3699                    if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
3700                        e.preventDefault();
3701                        openDropdown();
3702                    }
3703                });
3704            }
3705
3706            // Inicializar todos los selectores
3707            function initAllSelectors() {
3708                document.querySelectorAll('.country-selector-container:not([data-initialized]
3708)').forEach(container => {
3709                    container.setAttribute('data-initialized', 'true');
3710                    initCountrySelector(container);
3711                });
3712            }
3713
3714            // Inicializar cuando el DOM esté listo
3715            if (document.readyState === 'loading') {
3716                document.addEventListener('DOMContentLoaded', initAllSelectors);
3717            } else {
3718                initAllSelectors();
3719            }
3720
3721            // MutationObserver para detectar selectores agregados dinámicamente
3722            const observer = new MutationObserver(function(mutations) {
3723                let shouldInit = false;
3724                mutations.forEach(function(mutation) {
3725                    mutation.addedNodes.forEach(function(node) {
3726                        if (node.nodeType === 1) {
3727                            if (node.classList && node.classList.contains('country-selector-container') && !node.hasAttribute('data-initialized')) {
3728                                shouldInit = true;
3729                            } else if (node.querySelector && node.querySelector('.country-selector-container:not([data-initialized])')) {
3730                                shouldInit = true;
3731                            }
3732                        }
3733                    });
3734                });
3735                if (shouldInit) {
3736                    initAllSelectors();
3737                }
3738            });
3739
3740            observer.observe(document.body, {
3741                childList: true,
3742                subtree: true
3743            });
3744
3745            // Exponer función para inicialización manual (útil para contenido cargado dinámicamente)
3746            window.initCountrySelectors = initAllSelectors;
3747        })();
3748    </script>
3748
3749			<div class="neo_party_selector neo_adults_selector flex flex-m-sb flex-s-center">
3750				<div>Nacionalidad</div>
3751				<div class="flex flex-s-center">
3752					    <div class="country-selector-container party-selector-country" data-selector-id="country_iso_6ab7f1cda26ae">
3753        <!-- Campo oculto que almacena el valor real -->
3754        <input type="hidden"
3755            name="country_iso"
3756            id="country_iso"
3757            value="US"
3758            data-code="us"
3759                        autocomplete="country">
3760
3761        <!-- Selector visual personalizado -->
3762        <div class="country-selector-wrapper">
3763            <button type="button"
3764                class="country-selector-trigger neo_partyselector_quantity"
3765                aria-haspopup="listbox"
3766                aria-expanded="false"
3767                data-trigger-for="country_iso_6ab7f1cda26ae"
3768                >
3769                <span class="country-selector-selected">
3770                                            <span class="country-flag fi fi-us"></span>
3771                        <span class="country-name">Estados Unidos</span>
3772                                    </span>
3773                <span class="country-selector-arrow">
3774                    <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
3775                        <path d="M2.5 4.5L6 8L9.5 4.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
3776                    </svg>
3777                </span>
3778            </button>
3779
3780            <!-- Dropdown con buscador y opciones -->
3781            <div class="country-selector-dropdown" data-dropdown-for="country_iso_6ab7f1cda26ae" role="listbox">
3782                                    <div class="country-selector-search">
3783                        <input type="text"
3784                            class="country-search-input"
3785                            placeholder="Buscar país..."
3786                            autocomplete="off">
3787                    </div>
3788                
3789                <div class="country-selector-list">
3790                    <!-- Opción vacía/placeholder (no seleccionable) -->
3791                    <div class="country-option country-option-placeholder"
3792                        data-value=""
3793                        data-code=""
3794                        data-search=""
3795                        data-disabled="true"
3796                        role="option"
3797                        aria-disabled="true">
3798                        <span class="country-flag-empty"></span>
3799                        <span class="country-name">Seleccione un país</span>
3800                    </div>
3801
3802                    <!-- Países prioritarios primero -->
3803                                            <div class="country-option "
3804                            data-value="AR"
3805                            data-code="ar"
3806                            data-search="argentina argentina ar"
3807                            role="option"
3808                            aria-selected="false">
3809                            <span class="country-flag fi fi-ar"></span>
3810                            <span class="country-name">Argentina</span>
3811                                                    </div>
3812                                            <div class="country-option "
3813                            data-value="BR"
3814                            data-code="br"
3815                            data-search="brasil brazil br"
3816                            role="option"
3817                            aria-selected="false">
3818                            <span class="country-flag fi fi-br"></span>
3819                            <span class="country-name">Brasil</span>
3820                                                    </div>
3821                                            <div class="country-option "
3822                            data-value="CL"
3823                            data-code="cl"
3824                            data-search="chile chile cl"
3825                            role="option"
3826                            aria-selected="false">
3827                            <span class="country-flag fi fi-cl"></span>
3828                            <span class="country-name">Chile</span>
3829                                                    </div>
3830                                            <div class="country-option "
3831                            data-value="MX"
3832                            data-code="mx"
3833                            data-search="méxico mexico mx"
3834                            role="option"
3835                            aria-selected="false">
3836                            <span class="country-flag fi fi-mx"></span>
3837                            <span class="country-name">México</span>
3838                                                    </div>
3839                                            <div class="country-option "
3840                            data-value="UY"
3841                            data-code="uy"
3842                            data-search="uruguay uruguay uy"
3843                            role="option"
3844                            aria-selected="false">
3845                            <span class="country-flag fi fi-uy"></span>
3846                            <span class="country-name">Uruguay</span>
3847                                                    </div>
3848                                            <div class="country-option "
3849                            data-value="PY"
3850                            data-code="py"
3851                            data-search="paraguay paraguay py"
3852                            role="option"
3853                            aria-selected="false">
3854                            <span class="country-flag fi fi-py"></span>
3855                            <span class="country-name">Paraguay</span>
3856                                                    </div>
3857                                            <div class="country-option "
3858                            data-value="BO"
3859                            data-code="bo"
3860                            data-search="bolivia bolivia bo"
3861                            role="option"
3862                            aria-selected="false">
3863                            <span class="country-flag fi fi-bo"></span>
3864                            <span class="country-name">Bolivia</span>
3865                                                    </div>
3866                                            <div class="country-option "
3867                            data-value="PE"
3868                            data-code="pe"
3869                            data-search="perú peru pe"
3870                            role="option"
3871                            aria-selected="false">
3872                            <span class="country-flag fi fi-pe"></span>
3873                            <span class="country-name">Perú</span>
3874                                                    </div>
3875                                            <div class="country-option "
3876                            data-value="EC"
3877                            data-code="ec"
3878                            data-search="ecuador ecuador ec"
3879                            role="option"
3880                            aria-selected="false">
3881                            <span class="country-flag fi fi-ec"></span>
3882                            <span class="country-name">Ecuador</span>
3883                                                    </div>
3884                                            <div class="country-option "
3885                            data-value="CO"
3886                            data-code="co"
3887                            data-search="colombia colombia co"
3888                            role="option"
3889                            aria-selected="false">
3890                            <span class="country-flag fi fi-co"></span>
3891                            <span class="country-name">Colombia</span>
3892                                                    </div>
3893                    
3894                    <!-- Resto de países -->
3895                                                    <div class="country-option "
3896                                    data-value="AF"
3897                                    data-code="af"
3898                                    data-flag="af"
3899                                    data-search="afganistan afghanistan af"
3900                                    role="option"
3901                                    aria-selected="false">
3902                                    <span class="country-flag fi fi-af"></span>
3903                                    <span class="country-name">Afganistan</span>
3904                                                                    </div>
3905                                                    <div class="country-option "
3906                                    data-value="AL"
3907                                    data-code="al"
3908                                    data-flag="al"
3909                                    data-search="albania albania al"
3910                                    role="option"
3911                                    aria-selected="false">
3912                                    <span class="country-flag fi fi-al"></span>
3913                                    <span class="country-name">Albania</span>
3914                                                                    </div>
3915                                                    <div class="country-option "
3916                                    data-value="DE"
3917                                    data-code="de"
3918                                    data-flag="de"
3919                                    data-search="alemania germany de"
3920                                    role="option"
3921                                    aria-selected="false">
3922                                    <span class="country-flag fi fi-de"></span>
3923                                    <span class="country-name">Alemania</span>
3924                                                                    </div>
3925                                                    <div class="country-option "
3926                                    data-value="AD"
3927                                    data-code="ad"
3928                                    data-flag="ad"
3929                                    data-search="andorra andorra ad"
3930                                    role="option"
3931                                    aria-selected="false">
3932                                    <span class="country-flag fi fi-ad"></span>
3933                                    <span class="country-name">Andorra</span>
3934                                                                    </div>
3935                                                    <div class="country-option "
3936                                    data-value="AO"
3937                                    data-code="ao"
3938                                    data-flag="ao"
3939                                    data-search="angola angola ao"
3940                                    role="option"
3941                                    aria-selected="false">
3942                                    <span class="country-flag fi fi-ao"></span>
3943                                    <span class="country-name">Angola</span>
3944                                                                    </div>
3945                                                    <div class="country-option "
3946                                    data-value="AI"
3947                                    data-code="ai"
3948                                    data-flag="ai"
3949                                    data-search="anguila anguilla ai"
3950                                    role="option"
3951                                    aria-selected="false">
3952                                    <span class="country-flag fi fi-ai"></span>
3953                                    <span class="country-name">Anguila</span>
3954                                                                    </div>
3955                                                    <div class="country-option "
3956                                    data-value="AQ"
3957                                    data-code="aq"
3958                                    data-flag="aq"
3959                                    data-search="antartida antarctica aq"
3960                                    role="option"
3961                                    aria-selected="false">
3962                                    <span class="country-flag fi fi-aq"></span>
3963                                    <span class="country-name">Antartida</span>
3964                                                                    </div>
3965                                                    <div class="country-option "
3966                                    data-value="AG"
3967                                    data-code="ag"
3968                                    data-flag="ag"
3969                                    data-search="antigua y barbuda antigua and barbuda ag"
3970                                    role="option"
3971                                    aria-selected="false">
3972                                    <span class="country-flag fi fi-ag"></span>
3973                                    <span class="country-name">Antigua y Barbuda</span>
3974                                                                    </div>
3975                                                    <div class="country-option "
3976                                    data-value="SA"
3977                                    data-code="sa"
3978                                    data-flag="sa"
3979                                    data-search="arabia saudita saudi arabia sa"
3980                                    role="option"
3981                                    aria-selected="false">
3982                                    <span class="country-flag fi fi-sa"></span>
3983                                    <span class="country-name">Arabia Saudita</span>
3984                                                                    </div>
3985                                                    <div class="country-option "
3986                                    data-value="DZ"
3987                                    data-code="dz"
3988                                    data-flag="dz"
3989                                    data-search="argelia algeria dz"
3990                                    role="option"
3991                                    aria-selected="false">
3992                                    <span class="country-flag fi fi-dz"></span>
3993                                    <span class="country-name">Argelia</span>
3994                                                                    </div>
3995                                                    <div class="country-option "
3996                                    data-value="AM"
3997                                    data-code="am"
3998                                    data-flag="am"
3999                                    data-search="armenia armenia am"
4000                                    role="option"
4001                                    aria-selected="false">
4002                                    <span class="country-flag fi fi-am"></span>
4003                                    <span class="country-name">Armenia</span>
4004                                                                    </div>
4005                                                    <div class="country-option "
4006                                    data-value="AW"
4007                                    data-code="aw"
4008                                    data-flag="aw"
4009                                    data-search="aruba aruba aw"
4010                                    role="option"
4011                                    aria-selected="false">
4012                                    <span class="country-flag fi fi-aw"></span>
4013                                    <span class="country-name">Aruba</span>
4014                                                                    </div>
4015                                                    <div class="country-option "
4016                                    data-value="AU"
4017                                    data-code="au"
4018                                    data-flag="au"
4019                                    data-search="australia australia au"
4020                                    role="option"
4021                                    aria-selected="false">
4022                                    <span class="country-flag fi fi-au"></span>
4023                                    <span class="country-name">Australia</span>
4024                                                                    </div>
4025                                                    <div class="country-option "
4026                                    data-value="AT"
4027                                    data-code="at"
4028                                    data-flag="at"
4029                                    data-search="austria austria at"
4030                                    role="option"
4031                                    aria-selected="false">
4032                                    <span class="country-flag fi fi-at"></span>
4033                                    <span class="country-name">Austria</span>
4034                                                                    </div>
4035                                                    <div class="country-option "
4036                                    data-value="AZ"
4037                                    data-code="az"
4038                                    data-flag="az"
4039                                    data-search="azerbaiyan azerbaijan az"
4040                                    role="option"
4041                                    aria-selected="false">
4042                                    <span class="country-flag fi fi-az"></span>
4043                                    <span class="country-name">Azerbaiyan</span>
4044                                                                    </div>
4045                                                    <div class="country-option "
4046                                    data-value="BS"
4047                                    data-code="bs"
4048                                    data-flag="bs"
4049                                    data-search="bahamas bahamas bs"
4050                                    role="option"
4051                                    aria-selected="false">
4052                                    <span class="country-flag fi fi-bs"></span>
4053                                    <span class="country-name">Bahamas</span>
4054                                                                    </div>
4055                                                    <div class="country-option "
4056                                    data-value="BH"
4057                                    data-code="bh"
4058                                    data-flag="bh"
4059                                    data-search="bahrain bahrain bh"
4060                                    role="option"
4061                                    aria-selected="false">
4062                                    <span class="country-flag fi fi-bh"></span>
4063                                    <span class="country-name">Bahrain</span>
4064                                                                    </div>
4065                                                    <div class="country-option "
4066                                    data-value="BD"
4067                                    data-code="bd"
4068                                    data-flag="bd"
4069                                    data-search="bangladesh bangladesh bd"
4070                                    role="option"
4071                                    aria-selected="false">
4072                                    <span class="country-flag fi fi-bd"></span>
4073                                    <span class="country-name">Bangladesh</span>
4074                                                                    </div>
4075                                                    <div class="country-option "
4076                                    data-value="BB"
4077                                    data-code="bb"
4078                                    data-flag="bb"
4079                                    data-search="barbados barbados bb"
4080                                    role="option"
4081                                    aria-selected="false">
4082                                    <span class="country-flag fi fi-bb"></span>
4083                                    <span class="country-name">Barbados</span>
4084                                                                    </div>
4085                                                    <div class="country-option "
4086                                    data-value="BE"
4087                                    data-code="be"
4088                                    data-flag="be"
4089                                    data-search="belgica belgium be"
4090                                    role="option"
4091                                    aria-selected="false">
4092                                    <span class="country-flag fi fi-be"></span>
4093                                    <span class="country-name">Belgica</span>
4094                                                                    </div>
4095                                                    <div class="country-option "
4096                                    data-value="BZ"
4097                                    data-code="bz"
4098                                    data-flag="bz"
4099                                    data-search="belice belize bz"
4100                                    role="option"
4101                                    aria-selected="false">
4102                                    <span class="country-flag fi fi-bz"></span>
4103                                    <span class="country-name">Belice</span>
4104                                                                    </div>
4105                                                    <div class="country-option "
4106                                    data-value="BJ"
4107                                    data-code="bj"
4108                                    data-flag="bj"
4109                                    data-search="benin benin bj"
4110                                    role="option"
4111                                    aria-selected="false">
4112                                    <span class="country-flag fi fi-bj"></span>
4113                                    <span class="country-name">Benin</span>
4114                                                                    </div>
4115                                                    <div class="country-option "
4116                                    data-value="BM"
4117                                    data-code="bm"
4118                                    data-flag="bm"
4119                                    data-search="bermudas bermuda bm"
4120                                    role="option"
4121                                    aria-selected="false">
4122                                    <span class="country-flag fi fi-bm"></span>
4123                                    <span class="country-name">Bermudas</span>
4124                                                                    </div>
4125                                                    <div class="country-option "
4126                                    data-value="BY"
4127                                    data-code="by"
4128                                    data-flag="by"
4129                                    data-search="bielorrusia belarus by"
4130                                    role="option"
4131                                    aria-selected="false">
4132                                    <span class="country-flag fi fi-by"></span>
4133                                    <span class="country-name">Bielorrusia</span>
4134                                                                    </div>
4135                                                    <div class="country-option "
4136                                    data-value="BA"
4137                                    data-code="ba"
4138                                    data-flag="ba"
4139                                    data-search="bosnia y herzegovina bosnia and herzegovina ba"
4140                                    role="option"
4141                                    aria-selected="false">
4142                                    <span class="country-flag fi fi-ba"></span>
4143                                    <span class="country-name">Bosnia y Herzegovina</span>
4144                                                                    </div>
4145                                                    <div class="country-option "
4146                                    data-value="BW"
4147                                    data-code="bw"
4148                                    data-flag="bw"
4149                                    data-search="botswana botswana bw"
4150                                    role="option"
4151                                    aria-selected="false">
4152                                    <span class="country-flag fi fi-bw"></span>
4153                                    <span class="country-name">Botswana</span>
4154                                                                    </div>
4155                                                    <div class="country-option "
4156                                    data-value="BN"
4157                                    data-code="bn"
4158                                    data-flag="bn"
4159                                    data-search="brunei darussalam brunei darussalam bn"
4160                                    role="option"
4161                                    aria-selected="false">
4162                                    <span class="country-flag fi fi-bn"></span>
4163                                    <span class="country-name">Brunei Darussalam</span>
4164                                                                    </div>
4165                                                    <div class="country-option "
4166                                    data-value="BG"
4167                                    data-code="bg"
4168                                    data-flag="bg"
4169                                    data-search="bulgaria bulgaria bg"
4170                                    role="option"
4171                                    aria-selected="false">
4172                                    <span class="country-flag fi fi-bg"></span>
4173                                    <span class="country-name">Bulgaria</span>
4174                                                                    </div>
4175                                                    <div class="country-option "
4176                                    data-value="BF"
4177                                    data-code="bf"
4178                                    data-flag="bf"
4179                                    data-search="burkina faso burkina faso bf"
4180                                    role="option"
4181                                    aria-selected="false">
4182                                    <span class="country-flag fi fi-bf"></span>
4183                                    <span class="country-name">Burkina Faso</span>
4184                                                                    </div>
4185                                                    <div class="country-option "
4186                                    data-value="BI"
4187                                    data-code="bi"
4188                                    data-flag="bi"
4189                                    data-search="burundi burundi bi"
4190                                    role="option"
4191                                    aria-selected="false">
4192                                    <span class="country-flag fi fi-bi"></span>
4193                                    <span class="country-name">Burundi</span>
4194                                                                    </div>
4195                                                    <div class="country-option "
4196                                    data-value="BT"
4197                                    data-code="bt"
4198                                    data-flag="bt"
4199                                    data-search="butan bhutan bt"
4200                                    role="option"
4201                                    aria-selected="false">
4202                                    <span class="country-flag fi fi-bt"></span>
4203                                    <span class="country-name">Butan</span>
4204                                                                    </div>
4205                                                    <div class="country-option "
4206                                    data-value="CV"
4207                                    data-code="cv"
4208                                    data-flag="cv"
4209                                    data-search="cabo verde cape verde cv"
4210                                    role="option"
4211                                    aria-selected="false">
4212                                    <span class="country-flag fi fi-cv"></span>
4213                                    <span class="country-name">Cabo Verde</span>
4214                                                                    </div>
4215                                                    <div class="country-option "
4216                                    data-value="KH"
4217                                    data-code="kh"
4218                                    data-flag="kh"
4219                                    data-search="camboya cambodia kh"
4220                                    role="option"
4221                                    aria-selected="false">
4222                                    <span class="country-flag fi fi-kh"></span>
4223                                    <span class="country-name">Camboya</span>
4224                                                                    </div>
4225                                                    <div class="country-option "
4226                                    data-value="CM"
4227                                    data-code="cm"
4228                                    data-flag="cm"
4229                                    data-search="camerun cameroon cm"
4230                                    role="option"
4231                                    aria-selected="false">
4232                                    <span class="country-flag fi fi-cm"></span>
4233                                    <span class="country-name">Camerun</span>
4234                                                                    </div>
4235                                                    <div class="country-option "
4236                                    data-value="CA"
4237                                    data-code="ca"
4238                                    data-flag="ca"
4239                                    data-search="canada canada ca"
4240                                    role="option"
4241                                    aria-selected="false">
4242                                    <span class="country-flag fi fi-ca"></span>
4243                                    <span class="country-name">Canada</span>
4244                                                                    </div>
4245                                                    <div class="country-option "
4246                                    data-value="BQ"
4247                                    data-code="bq"
4248                                    data-flag="bq"
4249                                    data-search="caribe neerlandés caribbean netherlands bq"
4250                                    role="option"
4251                                    aria-selected="false">
4252                                    <span class="country-flag fi fi-bq"></span>
4253                                    <span class="country-name">Caribe Neerlandés</span>
4254                                                                    </div>
4255                                                    <div class="country-option "
4256                                    data-value="TD"
4257                                    data-code="td"
4258                                    data-flag="td"
4259                                    data-search="chad chad td"
4260                                    role="option"
4261                                    aria-selected="false">
4262                                    <span class="country-flag fi fi-td"></span>
4263                                    <span class="country-name">Chad</span>
4264                                                                    </div>
4265                                                    <div class="country-option "
4266                                    data-value="CN"
4267                                    data-code="cn"
4268                                    data-flag="cn"
4269                                    data-search="china china cn"
4270                                    role="option"
4271                                    aria-selected="false">
4272                                    <span class="country-flag fi fi-cn"></span>
4273                                    <span class="country-name">China</span>
4274                                                                    </div>
4275                                                    <div class="country-option "
4276                                    data-value="CY"
4277                                    data-code="cy"
4278                                    data-flag="cy"
4279                                    data-search="chipre cyprus cy"
4280                                    role="option"
4281                                    aria-selected="false">
4282                                    <span class="country-flag fi fi-cy"></span>
4283                                    <span class="country-name">Chipre</span>
4284                                                                    </div>
4285                                                    <div class="country-option "
4286                                    data-value="KM"
4287                                    data-code="km"
4288                                    data-flag="km"
4289                                    data-search="comoras comoros km"
4290                                    role="option"
4291                                    aria-selected="false">
4292                                    <span class="country-flag fi fi-km"></span>
4293                                    <span class="country-name">Comoras</span>
4294                                                                    </div>
4295                                                    <div class="country-option "
4296                                    data-value="CG"
4297                                    data-code="cg"
4298                                    data-flag="cg"
4299                                    data-search="congo republic of the congo cg"
4300                                    role="option"
4301                                    aria-selected="false">
4302                                    <span class="country-flag fi fi-cg"></span>
4303                                    <span class="country-name">Congo</span>
4304                                                                    </div>
4305                                                    <div class="country-option "
4306                                    data-value="KR"
4307                                    data-code="kr"
4308                                    data-flag="kr"
4309                                    data-search="corea republic of korea kr"
4310                                    role="option"
4311                                    aria-selected="false">
4312                                    <span class="country-flag fi fi-kr"></span>
4313                                    <span class="country-name">Corea</span>
4314                                                                    </div>
4315                                                    <div class="country-option "
4316                                    data-value="KP"
4317                                    data-code="kp"
4318                                    data-flag="kp"
4319                                    data-search="corea democrática democratic people's republic of korea kp"
4320                                    role="option"
4321                                    aria-selected="false">
4322                                    <span class="country-flag fi fi-kp"></span>
4323                                    <span class="country-name">Corea Democrática</span>
4324                                                                    </div>
4325                                                    <div class="country-option "
4326                                    data-value="CI"
4327                                    data-code="ci"
4328                                    data-flag="ci"
4329                                    data-search="costa de marfil côte d'ivoire ci"
4330                                    role="option"
4331                                    aria-selected="false">
4332                                    <span class="country-flag fi fi-ci"></span>
4333                                    <span class="country-name">Costa de Marfil</span>
4334                                                                    </div>
4335                                                    <div class="country-option "
4336                                    data-value="CR"
4337                                    data-code="cr"
4338                                    data-flag="cr"
4339                                    data-search="costa rica costa rica cr"
4340                                    role="option"
4341                                    aria-selected="false">
4342                                    <span class="country-flag fi fi-cr"></span>
4343                                    <span class="country-name">Costa Rica</span>
4344                                                                    </div>
4345                                                    <div class="country-option "
4346                                    data-value="HR"
4347                                    data-code="hr"
4348                                    data-flag="hr"
4349                                    data-search="croacia croatia hr"
4350                                    role="option"
4351                                    aria-selected="false">
4352                                    <span class="country-flag fi fi-hr"></span>
4353                                    <span class="country-name">Croacia</span>
4354                                                                    </div>
4355                                                    <div class="country-option "
4356                                    data-value="CU"
4357                                    data-code="cu"
4358                                    data-flag="cu"
4359                                    data-search="cuba cuba cu"
4360                                    role="option"
4361                                    aria-selected="false">
4362                                    <span class="country-flag fi fi-cu"></span>
4363                                    <span class="country-name">Cuba</span>
4364                                                                    </div>
4365                                                    <div class="country-option "
4366                                    data-value="CW"
4367                                    data-code="cw"
4368                                    data-flag="cw"
4369                                    data-search="curazao curaçao cw"
4370                                    role="option"
4371                                    aria-selected="false">
4372                                    <span class="country-flag fi fi-cw"></span>
4373                                    <span class="country-name">Curazao</span>
4374                                                                    </div>
4375                                                    <div class="country-option "
4376                                    data-value="DK"
4377                                    data-code="dk"
4378                                    data-flag="dk"
4379                                    data-search="dinamarca denmark dk"
4380                                    role="option"
4381                                    aria-selected="false">
4382                                    <span class="country-flag fi fi-dk"></span>
4383                                    <span class="country-name">Dinamarca</span>
4384                                                                    </div>
4385                                                    <div class="country-option "
4386                                    data-value="DJ"
4387                                    data-code="dj"
4388                                    data-flag="dj"
4389                                    data-search="djibouti djibouti dj"
4390                                    role="option"
4391                                    aria-selected="false">
4392                                    <span class="country-flag fi fi-dj"></span>
4393                                    <span class="country-name">Djibouti</span>
4394                                                                    </div>
4395                                                    <div class="country-option "
4396                                    data-value="DM"
4397                                    data-code="dm"
4398                                    data-flag="dm"
4399                                    data-search="dominica dominica dm"
4400                                    role="option"
4401                                    aria-selected="false">
4402                                    <span class="country-flag fi fi-dm"></span>
4403                                    <span class="country-name">Dominica</span>
4404                                                                    </div>
4405                                                    <div class="country-option "
4406                                    data-value="EG"
4407                                    data-code="eg"
4408                                    data-flag="eg"
4409                                    data-search="egipto egypt eg"
4410                                    role="option"
4411                                    aria-selected="false">
4412                                    <span class="country-flag fi fi-eg"></span>
4413                                    <span class="country-name">Egipto</span>
4414                                                                    </div>
4415                                                    <div class="country-option "
4416                                    data-value="SV"
4417                                    data-code="sv"
4418                                    data-flag="sv"
4419                                    data-search="el salvador el salvador sv"
4420                                    role="option"
4421                                    aria-selected="false">
4422                                    <span class="country-flag fi fi-sv"></span>
4423                                    <span class="country-name">El Salvador</span>
4424                                                                    </div>
4425                                                    <div class="country-option "
4426                                    data-value="AE"
4427                                    data-code="ae"
4428                                    data-flag="ae"
4429                                    data-search="emiratos arabes unidos united arab emirates ae"
4430                                    role="option"
4431                                    aria-selected="false">
4432                                    <span class="country-flag fi fi-ae"></span>
4433                                    <span class="country-name">Emiratos Arabes Unidos</span>
4434                                                                    </div>
4435                                                    <div class="country-option "
4436                                    data-value="ER"
4437                                    data-code="er"
4438                                    data-flag="er"
4439                                    data-search="eritrea eritrea er"
4440                                    role="option"
4441                                    aria-selected="false">
4442                                    <span class="country-flag fi fi-er"></span>
4443                                    <span class="country-name">Eritrea</span>
4444                                                                    </div>
4445                                                    <div class="country-option "
4446                                    data-value="XS"
4447                                    data-code="xs"
4448                                    data-flag="xs"
4449                                    data-search="escocia scotland xs"
4450                                    role="option"
4451                                    aria-selected="false">
4452                                    <span class="country-flag fi fi-xs"></span>
4453                                    <span class="country-name">Escocia</span>
4454                                                                    </div>
4455                                                    <div class="country-option "
4456                                    data-value="SK"
4457                                    data-code="sk"
4458                                    data-flag="sk"
4459                                    data-search="eslovaquia slovak republic sk"
4460                                    role="option"
4461                                    aria-selected="false">
4462                                    <span class="country-flag fi fi-sk"></span>
4463                                    <span class="country-name">Eslovaquia</span>
4464                                                                    </div>
4465                                                    <div class="country-option "
4466                                    data-value="SI"
4467                                    data-code="si"
4468                                    data-flag="si"
4469                                    data-search="eslovenia slovenia si"
4470                                    role="option"
4471                                    aria-selected="false">
4472                                    <span class="country-flag fi fi-si"></span>
4473                                    <span class="country-name">Eslovenia</span>
4474                                                                    </div>
4475                                                    <div class="country-option "
4476                                    data-value="ES"
4477                                    data-code="es"
4478                                    data-flag="es"
4479                                    data-search="españa spain es"
4480                                    role="option"
4481                                    aria-selected="false">
4482                                    <span class="country-flag fi fi-es"></span>
4483                                    <span class="country-name">España</span>
4484                                                                    </div>
4485                                                    <div class="country-option "
4486                                    data-value="VA"
4487                                    data-code="va"
4488                                    data-flag="va"
4489                                    data-search="estado vaticano vatican city state va"
4490                                    role="option"
4491                                    aria-selected="false">
4492                                    <span class="country-flag fi fi-va"></span>
4493                                    <span class="country-name">Estado Vaticano</span>
4494                                                                    </div>
4495                                                    <div class="country-option selected"
4496                                    data-value="US"
4497                                    data-code="us"
4498                                    data-flag="us"
4499                                    data-search="estados unidos united states us"
4500                                    role="option"
4501                                    aria-selected="true">
4502                                    <span class="country-flag fi fi-us"></span>
4503                                    <span class="country-name">Estados Unidos</span>
4504                                                                            <span class="country-check">
4505                                            <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
4506                                                <path d="M11.6667 3.5L5.25 9.91667L2.33333 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
4507                                            </svg>
4508                                        </span>
4509                                                                    </div>
4510                                                    <div class="country-option "
4511                                    data-value="EE"
4512                                    data-code="ee"
4513                                    data-flag="ee"
4514                                    data-search="estonia estonia ee"
4515                                    role="option"
4516                                    aria-selected="false">
4517                                    <span class="country-flag fi fi-ee"></span>
4518                                    <span class="country-name">Estonia</span>
4519                                                                    </div>
4520                                                    <div class="country-option "
4521                                    data-value="SJ"
4522                                    data-code="sj"
4523                                    data-flag="sj"
4524                                    data-search="esvalbard y jan mayen svalbard and jan mayen sj"
4525                                    role="option"
4526                                    aria-selected="false">
4527                                    <span class="country-flag fi fi-sj"></span>
4528                                    <span class="country-name">Esvalbard y Jan Mayen</span>
4529                                                                    </div>
4530                                                    <div class="country-option "
4531                                    data-value="ET"
4532                                    data-code="et"
4533                                    data-flag="et"
4534                                    data-search="etiopia ethiopia et"
4535                                    role="option"
4536                                    aria-selected="false">
4537                                    <span class="country-flag fi fi-et"></span>
4538                                    <span class="country-name">Etiopia</span>
4539                                                                    </div>
4540                                                    <div class="country-option "
4541                                    data-value="FJ"
4542                                    data-code="fj"
4543                                    data-flag="fj"
4544                                    data-search="fiji fiji fj"
4545                                    role="option"
4546                                    aria-selected="false">
4547                                    <span class="country-flag fi fi-fj"></span>
4548                                    <span class="country-name">Fiji</span>
4549                                                                    </div>
4550                                                    <div class="country-option "
4551                                    data-value="PH"
4552                                    data-code="ph"
4553                                    data-flag="ph"
4554                                    data-search="filipinas philippines ph"
4555                                    role="option"
4556                                    aria-selected="false">
4557                                    <span class="country-flag fi fi-ph"></span>
4558                                    <span class="country-name">Filipinas</span>
4559                                                                    </div>
4560                                                    <div class="country-option "
4561                                    data-value="FI"
4562                                    data-code="fi"
4563                                    data-flag="fi"
4564                                    data-search="finlandia finland fi"
4565                                    role="option"
4566                                    aria-selected="false">
4567                                    <span class="country-flag fi fi-fi"></span>
4568                                    <span class="country-name">Finlandia</span>
4569                                                                    </div>
4570                                                    <div class="country-option "
4571                                    data-value="FR"
4572                                    data-code="fr"
4573                                    data-flag="fr"
4574                                    data-search="francia france fr"
4575                                    role="option"
4576                                    aria-selected="false">
4577                                    <span class="country-flag fi fi-fr"></span>
4578                                    <span class="country-name">Francia</span>
4579                                                                    </div>
4580                                                    <div class="country-option "
4581                                    data-value="GA"
4582                                    data-code="ga"
4583                                    data-flag="ga"
4584                                    data-search="gabon gabon ga"
4585                                    role="option"
4586                                    aria-selected="false">
4587                                    <span class="country-flag fi fi-ga"></span>
4588                                    <span class="country-name">Gabon</span>
4589                                                                    </div>
4590                                                    <div class="country-option "
4591                                    data-value="XW"
4592                                    data-code="xw"
4593                                    data-flag="xw"
4594                                    data-search="gales wales xw"
4595                                    role="option"
4596                                    aria-selected="false">
4597                                    <span class="country-flag fi fi-xw"></span>
4598                                    <span class="country-name">Gales</span>
4599                                                                    </div>
4600                                                    <div class="country-option "
4601                                    data-value="GM"
4602                                    data-code="gm"
4603                                    data-flag="gm"
4604                                    data-search="gambia gambia gm"
4605                                    role="option"
4606                                    aria-selected="false">
4607                                    <span class="country-flag fi fi-gm"></span>
4608                                    <span class="country-name">Gambia</span>
4609                                                                    </div>
4610                                                    <div class="country-option "
4611                                    data-value="GE"
4612                                    data-code="ge"
4613                                    data-flag="ge"
4614                                    data-search="georgia georgia ge"
4615                                    role="option"
4616                                    aria-selected="false">
4617                                    <span class="country-flag fi fi-ge"></span>
4618                                    <span class="country-name">Georgia</span>
4619                                                                    </div>
4620                                                    <div class="country-option "
4621                                    data-value="GS"
4622                                    data-code="gs"
4623                                    data-flag="gs"
4624                                    data-search="georgia del sur e islas sandwich del sur south georgia and the south sandwich islands gs"
4625                                    role="option"
4626                                    aria-selected="false">
4627                                    <span class="country-flag fi fi-gs"></span>
4628                                    <span class="country-name">Georgia del Sur e Islas Sandwich del Sur</span>
4629                                                                    </div>
4630                                                    <div class="country-option "
4631                                    data-value="GH"
4632                                    data-code="gh"
4633                                    data-flag="gh"
4634                                    data-search="ghana ghana gh"
4635                                    role="option"
4636                                    aria-selected="false">
4637                                    <span class="country-flag fi fi-gh"></span>
4638                                    <span class="country-name">Ghana</span>
4639                                                                    </div>
4640                                                    <div class="country-option "
4641                                    data-value="GI"
4642                                    data-code="gi"
4643                                    data-flag="gi"
4644                                    data-search="gibraltar gibraltar gi"
4645                                    role="option"
4646                                    aria-selected="false">
4647                                    <span class="country-flag fi fi-gi"></span>
4648                                    <span class="country-name">Gibraltar</span>
4649                                                                    </div>
4650                                                    <div class="country-option "
4651                                    data-value="GD"
4652                                    data-code="gd"
4653                                    data-flag="gd"
4654                                    data-search="granada grenada gd"
4655                                    role="option"
4656                                    aria-selected="false">
4657                                    <span class="country-flag fi fi-gd"></span>
4658                                    <span class="country-name">Granada</span>
4659                                                                    </div>
4660                                                    <div class="country-option "
4661                                    data-value="GR"
4662                                    data-code="gr"
4663                                    data-flag="gr"
4664                                    data-search="grecia greece gr"
4665                                    role="option"
4666                                    aria-selected="false">
4667                                    <span class="country-flag fi fi-gr"></span>
4668                                    <span class="country-name">Grecia</span>
4669                                                                    </div>
4670                                                    <div class="country-option "
4671                                    data-value="GL"
4672                                    data-code="gl"
4673                                    data-flag="gl"
4674                                    data-search="groenlandia greenland gl"
4675                                    role="option"
4676                                    aria-selected="false">
4677                                    <span class="country-flag fi fi-gl"></span>
4678                                    <span class="country-name">Groenlandia</span>
4679                                                                    </div>
4680                                                    <div class="country-option "
4681                                    data-value="GP"
4682                                    data-code="gp"
4683                                    data-flag="gp"
4684                                    data-search="guadalupe guadeloupe gp"
4685                                    role="option"
4686                                    aria-selected="false">
4687                                    <span class="country-flag fi fi-gp"></span>
4688                                    <span class="country-name">Guadalupe</span>
4689                                                                    </div>
4690                                                    <div class="country-option "
4691                                    data-value="GU"
4692                                    data-code="gu"
4693                                    data-flag="gu"
4694                                    data-search="guam guam gu"
4695                                    role="option"
4696                                    aria-selected="false">
4697                                    <span class="country-flag fi fi-gu"></span>
4698                                    <span class="country-name">Guam</span>
4699                                                                    </div>
4700                                                    <div class="country-option "
4701                                    data-value="GT"
4702                                    data-code="gt"
4703                                    data-flag="gt"
4704                                    data-search="guatemala guatemala gt"
4705                                    role="option"
4706                                    aria-selected="false">
4707                                    <span class="country-flag fi fi-gt"></span>
4708                                    <span class="country-name">Guatemala</span>
4709                                                                    </div>
4710                                                    <div class="country-option "
4711                                    data-value="GY"
4712                                    data-code="gy"
4713                                    data-flag="gy"
4714                                    data-search="guayana guyana gy"
4715                                    role="option"
4716                                    aria-selected="false">
4717                                    <span class="country-flag fi fi-gy"></span>
4718                                    <span class="country-name">Guayana</span>
4719                                                                    </div>
4720                                                    <div class="country-option "
4721                                    data-value="GG"
4722                                    data-code="gg"
4723                                    data-flag="gg"
4724                                    data-search="guernesey guernsey gg"
4725                                    role="option"
4726                                    aria-selected="false">
4727                                    <span class="country-flag fi fi-gg"></span>
4728                                    <span class="country-name">Guernesey</span>
4729                                                                    </div>
4730                                                    <div class="country-option "
4731                                    data-value="GN"
4732                                    data-code="gn"
4733                                    data-flag="gn"
4734                                    data-search="guinea guinea gn"
4735                                    role="option"
4736                                    aria-selected="false">
4737                                    <span class="country-flag fi fi-gn"></span>
4738                                    <span class="country-name">Guinea</span>
4739                                                                    </div>
4740                                                    <div class="country-option "
4741                                    data-value="GQ"
4742                                    data-code="gq"
4743                                    data-flag="gq"
4744                                    data-search="guinea ecuatorial equatorial guinea gq"
4745                                    role="option"
4746                                    aria-selected="false">
4747                                    <span class="country-flag fi fi-gq"></span>
4748                                    <span class="country-name">Guinea Ecuatorial</span>
4749                                                                    </div>
4750                                                    <div class="country-option "
4751                                    data-value="GF"
4752                                    data-code="gf"
4753                                    data-flag="gf"
4754                                    data-search="guinea francesa french guiana gf"
4755                                    role="option"
4756                                    aria-selected="false">
4757                                    <span class="country-flag fi fi-gf"></span>
4758                                    <span class="country-name">Guinea Francesa</span>
4759                                                                    </div>
4760                                                    <div class="country-option "
4761                                    data-value="GW"
4762                                    data-code="gw"
4763                                    data-flag="gw"
4764                                    data-search="guinea-bissau guinea-bissau gw"
4765                                    role="option"
4766                                    aria-selected="false">
4767                                    <span class="country-flag fi fi-gw"></span>
4768                                    <span class="country-name">Guinea-Bissau</span>
4769                                                                    </div>
4770                                                    <div class="country-option "
4771                                    data-value="HT"
4772                                    data-code="ht"
4773                                    data-flag="ht"
4774                                    data-search="haiti haiti ht"
4775                                    role="option"
4776                                    aria-selected="false">
4777                                    <span class="country-flag fi fi-ht"></span>
4778                                    <span class="country-name">Haiti</span>
4779                                                                    </div>
4780                                                    <div class="country-option "
4781                                    data-value="HN"
4782                                    data-code="hn"
4783                                    data-flag="hn"
4784                                    data-search="honduras honduras hn"
4785                                    role="option"
4786                                    aria-selected="false">
4787                                    <span class="country-flag fi fi-hn"></span>
4788                                    <span class="country-name">Honduras</span>
4789                                                                    </div>
4790                                                    <div class="country-option "
4791                                    data-value="HK"
4792                                    data-code="hk"
4793                                    data-flag="hk"
4794                                    data-search="hong kong hong kong hk"
4795                                    role="option"
4796                                    aria-selected="false">
4797                                    <span class="country-flag fi fi-hk"></span>
4798                                    <span class="country-name">Hong Kong</span>
4799                                                                    </div>
4800                                                    <div class="country-option "
4801                                    data-value="HU"
4802                                    data-code="hu"
4803                                    data-flag="hu"
4804                                    data-search="hungria hungary hu"
4805                                    role="option"
4806                                    aria-selected="false">
4807                                    <span class="country-flag fi fi-hu"></span>
4808                                    <span class="country-name">Hungria</span>
4809                                                                    </div>
4810                                                    <div class="country-option "
4811                                    data-value="IN"
4812                                    data-code="in"
4813                                    data-flag="in"
4814                                    data-search="india india in"
4815                                    role="option"
4816                                    aria-selected="false">
4817                                    <span class="country-flag fi fi-in"></span>
4818                                    <span class="country-name">India</span>
4819                                                                    </div>
4820                                                    <div class="country-option "
4821                                    data-value="ID"
4822                                    data-code="id"
4823                                    data-flag="id"
4824                                    data-search="indonesia indonesia id"
4825                                    role="option"
4826                                    aria-selected="false">
4827                                    <span class="country-flag fi fi-id"></span>
4828                                    <span class="country-name">Indonesia</span>
4829                                                                    </div>
4830                                                    <div class="country-option "
4831                                    data-value="XE"
4832                                    data-code="xe"
4833                                    data-flag="xe"
4834                                    data-search="inglaterra england xe"
4835                                    role="option"
4836                                    aria-selected="false">
4837                                    <span class="country-flag fi fi-xe"></span>
4838                                    <span class="country-name">Inglaterra</span>
4839                                                                    </div>
4840                                                    <div class="country-option "
4841                                    data-value="IQ"
4842                                    data-code="iq"
4843                                    data-flag="iq"
4844                                    data-search="irak iraq iq"
4845                                    role="option"
4846                                    aria-selected="false">
4847                                    <span class="country-flag fi fi-iq"></span>
4848                                    <span class="country-name">Irak</span>
4849                                                                    </div>
4850                                                    <div class="country-option "
4851                                    data-value="IR"
4852                                    data-code="ir"
4853                                    data-flag="ir"
4854                                    data-search="iran islamic republic of iran ir"
4855                                    role="option"
4856                                    aria-selected="false">
4857                                    <span class="country-flag fi fi-ir"></span>
4858                                    <span class="country-name">Iran</span>
4859                                                                    </div>
4860                                                    <div class="country-option "
4861                                    data-value="IE"
4862                                    data-code="ie"
4863                                    data-flag="ie"
4864                                    data-search="irlanda ireland ie"
4865                                    role="option"
4866                                    aria-selected="false">
4867                                    <span class="country-flag fi fi-ie"></span>
4868                                    <span class="country-name">Irlanda</span>
4869                                                                    </div>
4870                                                    <div class="country-option "
4871                                    data-value="XI"
4872                                    data-code="xi"
4873                                    data-flag="xi"
4874                                    data-search="irlanda del norte northern ireland xi"
4875                                    role="option"
4876                                    aria-selected="false">
4877                                    <span class="country-flag fi fi-xi"></span>
4878                                    <span class="country-name">Irlanda del Norte</span>
4879                                                                    </div>
4880                                                    <div class="country-option "
4881                                    data-value="BV"
4882                                    data-code="bv"
4883                                    data-flag="bv"
4884                                    data-search="isla bouvet bouvet island bv"
4885                                    role="option"
4886                                    aria-selected="false">
4887                                    <span class="country-flag fi fi-bv"></span>
4888                                    <span class="country-name">Isla Bouvet</span>
4889                                                                    </div>
4890                                                    <div class="country-option "
4891                                    data-value="IM"
4892                                    data-code="im"
4893                                    data-flag="im"
4894                                    data-search="isla de man isle of man im"
4895                                    role="option"
4896                                    aria-selected="false">
4897                                    <span class="country-flag fi fi-im"></span>
4898                                    <span class="country-name">Isla de Man</span>
4899                                                                    </div>
4900                                                    <div class="country-option "
4901                                    data-value="CX"
4902                                    data-code="cx"
4903                                    data-flag="cx"
4904                                    data-search="isla navidad christmas island cx"
4905                                    role="option"
4906                                    aria-selected="false">
4907                                    <span class="country-flag fi fi-cx"></span>
4908                                    <span class="country-name">Isla Navidad</span>
4909                                                                    </div>
4910                                                    <div class="country-option "
4911                                    data-value="IS"
4912                                    data-code="is"
4913                                    data-flag="is"
4914                                    data-search="islandia iceland is"
4915                                    role="option"
4916                                    aria-selected="false">
4917                                    <span class="country-flag fi fi-is"></span>
4918                                    <span class="country-name">Islandia</span>
4919                                                                    </div>
4920                                                    <div class="country-option "
4921                                    data-value="AX"
4922                                    data-code="ax"
4923                                    data-flag="ax"
4924                                    data-search="islas aland Åland islands ax"
4925                                    role="option"
4926                                    aria-selected="false">
4927                                    <span class="country-flag fi fi-ax"></span>
4928                                    <span class="country-name">Islas Aland</span>
4929                                                                    </div>
4930                                                    <div class="country-option "
4931                                    data-value="KY"
4932                                    data-code="ky"
4933                                    data-flag="ky"
4934                                    data-search="islas caiman cayman islands ky"
4935                                    role="option"
4936                                    aria-selected="false">
4937                                    <span class="country-flag fi fi-ky"></span>
4938                                    <span class="country-name">Islas Caiman</span>
4939                                                                    </div>
4940                                                    <div class="country-option "
4941                                    data-value="CC"
4942                                    data-code="cc"
4943                                    data-flag="cc"
4944                                    data-search="islas cocos (keeling) cocos (keeling) islands cc"
4945                                    role="option"
4946                                    aria-selected="false">
4947                                    <span class="country-flag fi fi-cc"></span>
4948                                    <span class="country-name">Islas Cocos (Keeling)</span>
4949                                                                    </div>
4950                                                    <div class="country-option "
4951                                    data-value="CK"
4952                                    data-code="ck"
4953                                    data-flag="ck"
4954                                    data-search="islas cook cook islands ck"
4955                                    role="option"
4956                                    aria-selected="false">
4957                                    <span class="country-flag fi fi-ck"></span>
4958                                    <span class="country-name">Islas Cook</span>
4959                                                                    </div>
4960                                                    <div class="country-option "
4961                                    data-value="MP"
4962                                    data-code="mp"
4963                                    data-flag="mp"
4964                                    data-search="islas de norte-mariana northern mariana islands mp"
4965                                    role="option"
4966                                    aria-selected="false">
4967                                    <span class="country-flag fi fi-mp"></span>
4968                                    <span class="country-name">Islas de Norte-Mariana</span>
4969                                                                    </div>
4970                                                    <div class="country-option "
4971                                    data-value="FO"
4972                                    data-code="fo"
4973                                    data-flag="fo"
4974                                    data-search="islas faroe faroe islands fo"
4975                                    role="option"
4976                                    aria-selected="false">
4977                                    <span class="country-flag fi fi-fo"></span>
4978                                    <span class="country-name">Islas Faroe</span>
4979                                                                    </div>
4980                                                    <div class="country-option "
4981                                    data-value="HM"
4982                                    data-code="hm"
4983                                    data-flag="hm"
4984                                    data-search="islas heard e islas mcdonald heard island and mcdonald islands hm"
4985                                    role="option"
4986                                    aria-selected="false">
4987                                    <span class="country-flag fi fi-hm"></span>
4988                                    <span class="country-name">Islas Heard e Islas McDonald</span>
4989                                                                    </div>
4990                                                    <div class="country-option "
4991                                    data-value="FK"
4992                                    data-code="fk"
4993                                    data-flag="fk"
4994                                    data-search="islas malvinas falkland islands fk"
4995                                    role="option"
4996                                    aria-selected="false">
4997                                    <span class="country-flag fi fi-fk"></span>
4998                                    <span class="country-name">Islas Malvinas</span>
4999                                                                    </div>
5000                                                    <div class="country-option "
5001                                    data-value="MH"
5002                                    data-code="mh"
5003                                    data-flag="mh"
5004                                    data-search="islas marshall marshall islands mh"
5005                                    role="option"
5006                                    aria-selected="false">
5007                                    <span class="country-flag fi fi-mh"></span>
5008                                    <span class="country-name">Islas Marshall</span>
5009                                                                    </div>
5010                                                    <div class="country-option "
5011                                    data-value="NF"
5012                                    data-code="nf"
5013                                    data-flag="nf"
5014                                    data-search="islas norfolk norfolk island nf"
5015                                    role="option"
5016                                    aria-selected="false">
5017                                    <span class="country-flag fi fi-nf"></span>
5018                                    <span class="country-name">Islas Norfolk</span>
5019                                                                    </div>
5020                                                    <div class="country-option "
5021                                    data-value="SB"
5022                                    data-code="sb"
5023                                    data-flag="sb"
5024                                    data-search="islas salomon solomon islands sb"
5025                                    role="option"
5026                                    aria-selected="false">
5027                                    <span class="country-flag fi fi-sb"></span>
5028                                    <span class="country-name">Islas Salomon</span>
5029                                                                    </div>
5030                                                    <div class="country-option "
5031                                    data-value="TC"
5032                                    data-code="tc"
5033                                    data-flag="tc"
5034                                    data-search="islas turks y caicos turks and caicos islands tc"
5035                                    role="option"
5036                                    aria-selected="false">
5037                                    <span class="country-flag fi fi-tc"></span>
5038                                    <span class="country-name">Islas Turks y Caicos</span>
5039                                                                    </div>
5040                                                    <div class="country-option "
5041                                    data-value="UM"
5042                                    data-code="um"
5043                                    data-flag="um"
5044                                    data-search="islas ultramarinas de estados unidos united states minor outlying islands um"
5045                                    role="option"
5046                                    aria-selected="false">
5047                                    <span class="country-flag fi fi-um"></span>
5048                                    <span class="country-name">Islas Ultramarinas de Estados Unidos</span>
5049                                                                    </div>
5050                                                    <div class="country-option "
5051                                    data-value="VG"
5052                                    data-code="vg"
5053                                    data-flag="vg"
5054                                    data-search="islas virgenes britanicas british virgin islands vg"
5055                                    role="option"
5056                                    aria-selected="false">
5057                                    <span class="country-flag fi fi-vg"></span>
5058                                    <span class="country-name">Islas Virgenes Britanicas</span>
5059                                                                    </div>
5060                                                    <div class="country-option "
5061                                    data-value="VI"
5062                                    data-code="vi"
5063                                    data-flag="vi"
5064                                    data-search="islas virgenes estadounidenses u.s. virgin islands vi"
5065                                    role="option"
5066                                    aria-selected="false">
5067                                    <span class="country-flag fi fi-vi"></span>
5068                                    <span class="country-name">Islas Virgenes Estadounidenses</span>
5069                                                                    </div>
5070                                                    <div class="country-option "
5071                                    data-value="IL"
5072                                    data-code="il"
5073                                    data-flag="il"
5074                                    data-search="israel israel il"
5075                                    role="option"
5076                                    aria-selected="false">
5077                                    <span class="country-flag fi fi-il"></span>
5078                                    <span class="country-name">Israel</span>
5079                                                                    </div>
5080                                                    <div class="country-option "
5081                                    data-value="IT"
5082                                    data-code="it"
5083                                    data-flag="it"
5084                                    data-search="italia italy it"
5085                                    role="option"
5086                                    aria-selected="false">
5087                                    <span class="country-flag fi fi-it"></span>
5088                                    <span class="country-name">Italia</span>
5089                                                                    </div>
5090                                                    <div class="country-option "
5091                                    data-value="JM"
5092                                    data-code="jm"
5093                                    data-flag="jm"
5094                                    data-search="jamaica jamaica jm"
5095                                    role="option"
5096                                    aria-selected="false">
5097                                    <span class="country-flag fi fi-jm"></span>
5098                                    <span class="country-name">Jamaica</span>
5099                                                                    </div>
5100                                                    <div class="country-option "
5101                                    data-value="JP"
5102                                    data-code="jp"
5103                                    data-flag="jp"
5104                                    data-search="japon japan jp"
5105                                    role="option"
5106                                    aria-selected="false">
5107                                    <span class="country-flag fi fi-jp"></span>
5108                                    <span class="country-name">Japon</span>
5109                                                                    </div>
5110                                                    <div class="country-option "
5111                                    data-value="JE"
5112                                    data-code="je"
5113                                    data-flag="je"
5114                                    data-search="jersey jersey je"
5115                                    role="option"
5116                                    aria-selected="false">
5117                                    <span class="country-flag fi fi-je"></span>
5118                                    <span class="country-name">Jersey</span>
5119                                                                    </div>
5120                                                    <div class="country-option "
5121                                    data-value="JO"
5122                                    data-code="jo"
5123                                    data-flag="jo"
5124                                    data-search="jordania jordan jo"
5125                                    role="option"
5126                                    aria-selected="false">
5127                                    <span class="country-flag fi fi-jo"></span>
5128                                    <span class="country-name">Jordania</span>
5129                                                                    </div>
5130                                                    <div class="country-option "
5131                                    data-value="KZ"
5132                                    data-code="kz"
5133                                    data-flag="kz"
5134                                    data-search="kazajstan kazakhstan kz"
5135                                    role="option"
5136                                    aria-selected="false">
5137                                    <span class="country-flag fi fi-kz"></span>
5138                                    <span class="country-name">Kazajstan</span>
5139                                                                    </div>
5140                                                    <div class="country-option "
5141                                    data-value="KE"
5142                                    data-code="ke"
5143                                    data-flag="ke"
5144                                    data-search="kenia kenya ke"
5145                                    role="option"
5146                                    aria-selected="false">
5147                                    <span class="country-flag fi fi-ke"></span>
5148                                    <span class="country-name">Kenia</span>
5149                                                                    </div>
5150                                                    <div class="country-option "
5151                                    data-value="KG"
5152                                    data-code="kg"
5153                                    data-flag="kg"
5154                                    data-search="kirguizistan kyrgyzstan kg"
5155                                    role="option"
5156                                    aria-selected="false">
5157                                    <span class="country-flag fi fi-kg"></span>
5158                                    <span class="country-name">Kirguizistan</span>
5159                                                                    </div>
5160                                                    <div class="country-option "
5161                                    data-value="KI"
5162                                    data-code="ki"
5163                                    data-flag="ki"
5164                                    data-search="kiribati kiribati ki"
5165                                    role="option"
5166                                    aria-selected="false">
5167                                    <span class="country-flag fi fi-ki"></span>
5168                                    <span class="country-name">Kiribati</span>
5169                                                                    </div>
5170                                                    <div class="country-option "
5171                                    data-value="KW"
5172                                    data-code="kw"
5173                                    data-flag="kw"
5174                                    data-search="kuwait kuwait kw"
5175                                    role="option"
5176                                    aria-selected="false">
5177                                    <span class="country-flag fi fi-kw"></span>
5178                                    <span class="country-name">Kuwait</span>
5179                                                                    </div>
5180                                                    <div class="country-option "
5181                                    data-value="LA"
5182                                    data-code="la"
5183                                    data-flag="la"
5184                                    data-search="laos lao people's democratic republic la"
5185                                    role="option"
5186                                    aria-selected="false">
5187                                    <span class="country-flag fi fi-la"></span>
5188                                    <span class="country-name">Laos</span>
5189                                                                    </div>
5190                                                    <div class="country-option "
5191                                    data-value="LS"
5192                                    data-code="ls"
5193                                    data-flag="ls"
5194                                    data-search="lesoto lesotho ls"
5195                                    role="option"
5196                                    aria-selected="false">
5197                                    <span class="country-flag fi fi-ls"></span>
5198                                    <span class="country-name">Lesoto</span>
5199                                                                    </div>
5200                                                    <div class="country-option "
5201                                    data-value="LV"
5202                                    data-code="lv"
5203                                    data-flag="lv"
5204                                    data-search="letonia latvia lv"
5205                                    role="option"
5206                                    aria-selected="false">
5207                                    <span class="country-flag fi fi-lv"></span>
5208                                    <span class="country-name">Letonia</span>
5209                                                                    </div>
5210                                                    <div class="country-option "
5211                                    data-value="LB"
5212                                    data-code="lb"
5213                                    data-flag="lb"
5214                                    data-search="libano lebanon lb"
5215                                    role="option"
5216                                    aria-selected="false">
5217                                    <span class="country-flag fi fi-lb"></span>
5218                                    <span class="country-name">Libano</span>
5219                                                                    </div>
5220                                                    <div class="country-option "
5221                                    data-value="LR"
5222                                    data-code="lr"
5223                                    data-flag="lr"
5224                                    data-search="liberia liberia lr"
5225                                    role="option"
5226                                    aria-selected="false">
5227                                    <span class="country-flag fi fi-lr"></span>
5228                                    <span class="country-name">Liberia</span>
5229                                                                    </div>
5230                                                    <div class="country-option "
5231                                    data-value="LY"
5232                                    data-code="ly"
5233                                    data-flag="ly"
5234                                    data-search="libia libyan arab jamahiriya ly"
5235                                    role="option"
5236                                    aria-selected="false">
5237                                    <span class="country-flag fi fi-ly"></span>
5238                                    <span class="country-name">Libia</span>
5239                                                                    </div>
5240                                                    <div class="country-option "
5241                                    data-value="LI"
5242                                    data-code="li"
5243                                    data-flag="li"
5244                                    data-search="liechtenstein liechtenstein li"
5245                                    role="option"
5246                                    aria-selected="false">
5247                                    <span class="country-flag fi fi-li"></span>
5248                                    <span class="country-name">Liechtenstein</span>
5249                                                                    </div>
5250                                                    <div class="country-option "
5251                                    data-value="LT"
5252                                    data-code="lt"
5253                                    data-flag="lt"
5254                                    data-search="lituania lithuania lt"
5255                                    role="option"
5256                                    aria-selected="false">
5257                                    <span class="country-flag fi fi-lt"></span>
5258                                    <span class="country-name">Lituania</span>
5259                                                                    </div>
5260                                                    <div class="country-option "
5261                                    data-value="LU"
5262                                    data-code="lu"
5263                                    data-flag="lu"
5264                                    data-search="luxemburgo luxembourg lu"
5265                                    role="option"
5266                                    aria-selected="false">
5267                                    <span class="country-flag fi fi-lu"></span>
5268                                    <span class="country-name">Luxemburgo</span>
5269                                                                    </div>
5270                                                    <div class="country-option "
5271                                    data-value="MO"
5272                                    data-code="mo"
5273                                    data-flag="mo"
5274                                    data-search="macao macao mo"
5275                                    role="option"
5276                                    aria-selected="false">
5277                                    <span class="country-flag fi fi-mo"></span>
5278                                    <span class="country-name">Macao</span>
5279                                                                    </div>
5280                                                    <div class="country-option "
5281                                    data-value="MK"
5282                                    data-code="mk"
5283                                    data-flag="mk"
5284                                    data-search="macedonia the former yugoslav republic of macedonia mk"
5285                                    role="option"
5286                                    aria-selected="false">
5287                                    <span class="country-flag fi fi-mk"></span>
5288                                    <span class="country-name">Macedonia</span>
5289                                                                    </div>
5290                                                    <div class="country-option "
5291                                    data-value="MG"
5292                                    data-code="mg"
5293                                    data-flag="mg"
5294                                    data-search="madagascar madagascar mg"
5295                                    role="option"
5296                                    aria-selected="false">
5297                                    <span class="country-flag fi fi-mg"></span>
5298                                    <span class="country-name">Madagascar</span>
5299                                                                    </div>
5300                                                    <div class="country-option "
5301                                    data-value="MY"
5302                                    data-code="my"
5303                                    data-flag="my"
5304                                    data-search="malasia malaysia my"
5305                                    role="option"
5306                                    aria-selected="false">
5307                                    <span class="country-flag fi fi-my"></span>
5308                                    <span class="country-name">Malasia</span>
5309                                                                    </div>
5310                                                    <div class="country-option "
5311                                    data-value="MW"
5312                                    data-code="mw"
5313                                    data-flag="mw"
5314                                    data-search="malawi malawi mw"
5315                                    role="option"
5316                                    aria-selected="false">
5317                                    <span class="country-flag fi fi-mw"></span>
5318                                    <span class="country-name">Malawi</span>
5319                                                                    </div>
5320                                                    <div class="country-option "
5321                                    data-value="MV"
5322                                    data-code="mv"
5323                                    data-flag="mv"
5324                                    data-search="maldivas maldives mv"
5325                                    role="option"
5326                                    aria-selected="false">
5327                                    <span class="country-flag fi fi-mv"></span>
5328                                    <span class="country-name">Maldivas</span>
5329                                                                    </div>
5330                                                    <div class="country-option "
5331                                    data-value="ML"
5332                                    data-code="ml"
5333                                    data-flag="ml"
5334                                    data-search="mali mali ml"
5335                                    role="option"
5336                                    aria-selected="false">
5337                                    <span class="country-flag fi fi-ml"></span>
5338                                    <span class="country-name">Mali</span>
5339                                                                    </div>
5340                                                    <div class="country-option "
5341                                    data-value="MT"
5342                                    data-code="mt"
5343                                    data-flag="mt"
5344                                    data-search="malta malta mt"
5345                                    role="option"
5346                                    aria-selected="false">
5347                                    <span class="country-flag fi fi-mt"></span>
5348                                    <span class="country-name">Malta</span>
5349                                                                    </div>
5350                                                    <div class="country-option "
5351                                    data-value="MA"
5352                                    data-code="ma"
5353                                    data-flag="ma"
5354                                    data-search="marruecos morocco ma"
5355                                    role="option"
5356                                    aria-selected="false">
5357                                    <span class="country-flag fi fi-ma"></span>
5358                                    <span class="country-name">Marruecos</span>
5359                                                                    </div>
5360                                                    <div class="country-option "
5361                                    data-value="MQ"
5362                                    data-code="mq"
5363                                    data-flag="mq"
5364                                    data-search="martinica martinique mq"
5365                                    role="option"
5366                                    aria-selected="false">
5367                                    <span class="country-flag fi fi-mq"></span>
5368                                    <span class="country-name">Martinica</span>
5369                                                                    </div>
5370                                                    <div class="country-option "
5371                                    data-value="MU"
5372                                    data-code="mu"
5373                                    data-flag="mu"
5374                                    data-search="mauricio mauritius mu"
5375                                    role="option"
5376                                    aria-selected="false">
5377                                    <span class="country-flag fi fi-mu"></span>
5378                                    <span class="country-name">Mauricio</span>
5379                                                                    </div>
5380                                                    <div class="country-option "
5381                                    data-value="MR"
5382                                    data-code="mr"
5383                                    data-flag="mr"
5384                                    data-search="mauritania mauritania mr"
5385                                    role="option"
5386                                    aria-selected="false">
5387                                    <span class="country-flag fi fi-mr"></span>
5388                                    <span class="country-name">Mauritania</span>
5389                                                                    </div>
5390                                                    <div class="country-option "
5391                                    data-value="YT"
5392                                    data-code="yt"
5393                                    data-flag="yt"
5394                                    data-search="mayote mayotte yt"
5395                                    role="option"
5396                                    aria-selected="false">
5397                                    <span class="country-flag fi fi-yt"></span>
5398                                    <span class="country-name">Mayote</span>
5399                                                                    </div>
5400                                                    <div class="country-option "
5401                                    data-value="FM"
5402                                    data-code="fm"
5403                                    data-flag="fm"
5404                                    data-search="micronesia federated states of micronesia fm"
5405                                    role="option"
5406                                    aria-selected="false">
5407                                    <span class="country-flag fi fi-fm"></span>
5408                                    <span class="country-name">Micronesia</span>
5409                                                                    </div>
5410                                                    <div class="country-option "
5411                                    data-value="MD"
5412                                    data-code="md"
5413                                    data-flag="md"
5414                                    data-search="moldavia republic of moldova md"
5415                                    role="option"
5416                                    aria-selected="false">
5417                                    <span class="country-flag fi fi-md"></span>
5418                                    <span class="country-name">Moldavia</span>
5419                                                                    </div>
5420                                                    <div class="country-option "
5421                                    data-value="MC"
5422                                    data-code="mc"
5423                                    data-flag="mc"
5424                                    data-search="monaco monaco mc"
5425                                    role="option"
5426                                    aria-selected="false">
5427                                    <span class="country-flag fi fi-mc"></span>
5428                                    <span class="country-name">Monaco</span>
5429                                                                    </div>
5430                                                    <div class="country-option "
5431                                    data-value="MN"
5432                                    data-code="mn"
5433                                    data-flag="mn"
5434                                    data-search="mongolia mongolia mn"
5435                                    role="option"
5436                                    aria-selected="false">
5437                                    <span class="country-flag fi fi-mn"></span>
5438                                    <span class="country-name">Mongolia</span>
5439                                                                    </div>
5440                                                    <div class="country-option "
5441                                    data-value="ME"
5442                                    data-code="me"
5443                                    data-flag="me"
5444                                    data-search="montenegro montenegro me"
5445                                    role="option"
5446                                    aria-selected="false">
5447                                    <span class="country-flag fi fi-me"></span>
5448                                    <span class="country-name">Montenegro</span>
5449                                                                    </div>
5450                                                    <div class="country-option "
5451                                    data-value="MS"
5452                                    data-code="ms"
5453                                    data-flag="ms"
5454                                    data-search="montserrat montserrat ms"
5455                                    role="option"
5456                                    aria-selected="false">
5457                                    <span class="country-flag fi fi-ms"></span>
5458                                    <span class="country-name">Montserrat</span>
5459                                                                    </div>
5460                                                    <div class="country-option "
5461                                    data-value="MZ"
5462                                    data-code="mz"
5463                                    data-flag="mz"
5464                                    data-search="mozambique mozambique mz"
5465                                    role="option"
5466                                    aria-selected="false">
5467                                    <span class="country-flag fi fi-mz"></span>
5468                                    <span class="country-name">Mozambique</span>
5469                                                                    </div>
5470                                                    <div class="country-option "
5471                                    data-value="MM"
5472                                    data-code="mm"
5473                                    data-flag="mm"
5474                                    data-search="myanmar myanmar mm"
5475                                    role="option"
5476                                    aria-selected="false">
5477                                    <span class="country-flag fi fi-mm"></span>
5478                                    <span class="country-name">Myanmar</span>
5479                                                                    </div>
5480                                                    <div class="country-option "
5481                                    data-value="NA"
5482                                    data-code="na"
5483                                    data-flag="na"
5484                                    data-search="namibia namibia na"
5485                                    role="option"
5486                                    aria-selected="false">
5487                                    <span class="country-flag fi fi-na"></span>
5488                                    <span class="country-name">Namibia</span>
5489                                                                    </div>
5490                                                    <div class="country-option "
5491                                    data-value="NR"
5492                                    data-code="nr"
5493                                    data-flag="nr"
5494                                    data-search="nauru nauru nr"
5495                                    role="option"
5496                                    aria-selected="false">
5497                                    <span class="country-flag fi fi-nr"></span>
5498                                    <span class="country-name">Nauru</span>
5499                                                                    </div>
5500                                                    <div class="country-option "
5501                                    data-value="NP"
5502                                    data-code="np"
5503                                    data-flag="np"
5504                                    data-search="nepal nepal np"
5505                                    role="option"
5506                                    aria-selected="false">
5507                                    <span class="country-flag fi fi-np"></span>
5508                                    <span class="country-name">Nepal</span>
5509                                                                    </div>
5510                                                    <div class="country-option "
5511                                    data-value="NI"
5512                                    data-code="ni"
5513                                    data-flag="ni"
5514                                    data-search="nicaragua nicaragua ni"
5515                                    role="option"
5516                                    aria-selected="false">
5517                                    <span class="country-flag fi fi-ni"></span>
5518                                    <span class="country-name">Nicaragua</span>
5519                                                                    </div>
5520                                                    <div class="country-option "
5521                                    data-value="NE"
5522                                    data-code="ne"
5523                                    data-flag="ne"
5524                                    data-search="niger niger ne"
5525                                    role="option"
5526                                    aria-selected="false">
5527                                    <span class="country-flag fi fi-ne"></span>
5528                                    <span class="country-name">Niger</span>
5529                                                                    </div>
5530                                                    <div class="country-option "
5531                                    data-value="NG"
5532                                    data-code="ng"
5533                                    data-flag="ng"
5534                                    data-search="nigeria nigeria ng"
5535                                    role="option"
5536                                    aria-selected="false">
5537                                    <span class="country-flag fi fi-ng"></span>
5538                                    <span class="country-name">Nigeria</span>
5539                                                                    </div>
5540                                                    <div class="country-option "
5541                                    data-value="NU"
5542                                    data-code="nu"
5543                                    data-flag="nu"
5544                                    data-search="niue niue nu"
5545                                    role="option"
5546                                    aria-selected="false">
5547                                    <span class="country-flag fi fi-nu"></span>
5548                                    <span class="country-name">Niue</span>
5549                                                                    </div>
5550                                                    <div class="country-option "
5551                                    data-value="NO"
5552                                    data-code="no"
5553                                    data-flag="no"
5554                                    data-search="noruega norway no"
5555                                    role="option"
5556                                    aria-selected="false">
5557                                    <span class="country-flag fi fi-no"></span>
5558                                    <span class="country-name">Noruega</span>
5559                                                                    </div>
5560                                                    <div class="country-option "
5561                                    data-value="NC"
5562                                    data-code="nc"
5563                                    data-flag="nc"
5564                                    data-search="nueva caledonia new caledonia nc"
5565                                    role="option"
5566                                    aria-selected="false">
5567                                    <span class="country-flag fi fi-nc"></span>
5568                                    <span class="country-name">Nueva Caledonia</span>
5569                                                                    </div>
5570                                                    <div class="country-option "
5571                                    data-value="NZ"
5572                                    data-code="nz"
5573                                    data-flag="nz"
5574                                    data-search="nueva zelanda new zealand nz"
5575                                    role="option"
5576                                    aria-selected="false">
5577                                    <span class="country-flag fi fi-nz"></span>
5578                                    <span class="country-name">Nueva Zelanda</span>
5579                                                                    </div>
5580                                                    <div class="country-option "
5581                                    data-value="OM"
5582                                    data-code="om"
5583                                    data-flag="om"
5584                                    data-search="oman oman om"
5585                                    role="option"
5586                                    aria-selected="false">
5587                                    <span class="country-flag fi fi-om"></span>
5588                                    <span class="country-name">Oman</span>
5589                                                                    </div>
5590                                                    <div class="country-option "
5591                                    data-value="NL"
5592                                    data-code="nl"
5593                                    data-flag="nl"
5594                                    data-search="países bajos netherlands nl"
5595                                    role="option"
5596                                    aria-selected="false">
5597                                    <span class="country-flag fi fi-nl"></span>
5598                                    <span class="country-name">Países Bajos</span>
5599                                                                    </div>
5600                                                    <div class="country-option "
5601                                    data-value="PK"
5602                                    data-code="pk"
5603                                    data-flag="pk"
5604                                    data-search="pakistan pakistan pk"
5605                                    role="option"
5606                                    aria-selected="false">
5607                                    <span class="country-flag fi fi-pk"></span>
5608                                    <span class="country-name">Pakistan</span>
5609                                                                    </div>
5610                                                    <div class="country-option "
5611                                    data-value="PW"
5612                                    data-code="pw"
5613                                    data-flag="pw"
5614                                    data-search="palau palau pw"
5615                                    role="option"
5616                                    aria-selected="false">
5617                                    <span class="country-flag fi fi-pw"></span>
5618                                    <span class="country-name">Palau</span>
5619                                                                    </div>
5620                                                    <div class="country-option "
5621                                    data-value="PS"
5622                                    data-code="ps"
5623                                    data-flag="ps"
5624                                    data-search="palestina occupied palestinian territory ps"
5625                                    role="option"
5626                                    aria-selected="false">
5627                                    <span class="country-flag fi fi-ps"></span>
5628                                    <span class="country-name">Palestina</span>
5629                                                                    </div>
5630                                                    <div class="country-option "
5631                                    data-value="PA"
5632                                    data-code="pa"
5633                                    data-flag="pa"
5634                                    data-search="panama panama pa"
5635                                    role="option"
5636                                    aria-selected="false">
5637                                    <span class="country-flag fi fi-pa"></span>
5638                                    <span class="country-name">Panama</span>
5639                                                                    </div>
5640                                                    <div class="country-option "
5641                                    data-value="PG"
5642                                    data-code="pg"
5643                                    data-flag="pg"
5644                                    data-search="papua nueva guinea papua new guinea pg"
5645                                    role="option"
5646                                    aria-selected="false">
5647                                    <span class="country-flag fi fi-pg"></span>
5648                                    <span class="country-name">Papua Nueva Guinea</span>
5649                                                                    </div>
5650                                                    <div class="country-option "
5651                                    data-value="PN"
5652                                    data-code="pn"
5653                                    data-flag="pn"
5654                                    data-search="pitcairn pitcairn pn"
5655                                    role="option"
5656                                    aria-selected="false">
5657                                    <span class="country-flag fi fi-pn"></span>
5658                                    <span class="country-name">Pitcairn</span>
5659                                                                    </div>
5660                                                    <div class="country-option "
5661                                    data-value="PF"
5662                                    data-code="pf"
5663                                    data-flag="pf"
5664                                    data-search="polinesia francesa french polynesia pf"
5665                                    role="option"
5666                                    aria-selected="false">
5667                                    <span class="country-flag fi fi-pf"></span>
5668                                    <span class="country-name">Polinesia Francesa</span>
5669                                                                    </div>
5670                                                    <div class="country-option "
5671                                    data-value="PL"
5672                                    data-code="pl"
5673                                    data-flag="pl"
5674                                    data-search="polonia poland pl"
5675                                    role="option"
5676                                    aria-selected="false">
5677                                    <span class="country-flag fi fi-pl"></span>
5678                                    <span class="country-name">Polonia</span>
5679                                                                    </div>
5680                                                    <div class="country-option "
5681                                    data-value="PT"
5682                                    data-code="pt"
5683                                    data-flag="pt"
5684                                    data-search="portugal portugal pt"
5685                                    role="option"
5686                                    aria-selected="false">
5687                                    <span class="country-flag fi fi-pt"></span>
5688                                    <span class="country-name">Portugal</span>
5689                                                                    </div>
5690                                                    <div class="country-option "
5691                                    data-value="PR"
5692                                    data-code="pr"
5693                                    data-flag="pr"
5694                                    data-search="puerto rico puerto rico pr"
5695                                    role="option"
5696                                    aria-selected="false">
5697                                    <span class="country-flag fi fi-pr"></span>
5698                                    <span class="country-name">Puerto Rico</span>
5699                                                                    </div>
5700                                                    <div class="country-option "
5701                                    data-value="QA"
5702                                    data-code="qa"
5703                                    data-flag="qa"
5704                                    data-search="qatar qatar qa"
5705                                    role="option"
5706                                    aria-selected="false">
5707                                    <span class="country-flag fi fi-qa"></span>
5708                                    <span class="country-name">Qatar</span>
5709                                                                    </div>
5710                                                    <div class="country-option "
5711                                    data-value="GB"
5712                                    data-code="gb"
5713                                    data-flag="gb"
5714                                    data-search="reino unido united kingdom gb"
5715                                    role="option"
5716                                    aria-selected="false">
5717                                    <span class="country-flag fi fi-gb"></span>
5718                                    <span class="country-name">Reino Unido</span>
5719                                                                    </div>
5720                                                    <div class="country-option "
5721                                    data-value="CF"
5722                                    data-code="cf"
5723                                    data-flag="cf"
5724                                    data-search="republica centroafricana central african cf"
5725                                    role="option"
5726                                    aria-selected="false">
5727                                    <span class="country-flag fi fi-cf"></span>
5728                                    <span class="country-name">Republica Centroafricana</span>
5729                                                                    </div>
5730                                                    <div class="country-option "
5731                                    data-value="CZ"
5732                                    data-code="cz"
5733                                    data-flag="cz"
5734                                    data-search="republica checa czech republic cz"
5735                                    role="option"
5736                                    aria-selected="false">
5737                                    <span class="country-flag fi fi-cz"></span>
5738                                    <span class="country-name">Republica Checa</span>
5739                                                                    </div>
5740                                                    <div class="country-option "
5741                                    data-value="CD"
5742                                    data-code="cd"
5743                                    data-flag="cd"
5744                                    data-search="republica democratica del congo the democratic republic of the congo cd"
5745                                    role="option"
5746                                    aria-selected="false">
5747                                    <span class="country-flag fi fi-cd"></span>
5748                                    <span class="country-name">Republica Democratica del Congo</span>
5749                                                                    </div>
5750                                                    <div class="country-option "
5751                                    data-value="DO"
5752                                    data-code="do"
5753                                    data-flag="do"
5754                                    data-search="republica dominicana dominican republic do"
5755                                    role="option"
5756                                    aria-selected="false">
5757                                    <span class="country-flag fi fi-do"></span>
5758                                    <span class="country-name">Republica Dominicana</span>
5759                                                                    </div>
5760                                                    <div class="country-option "
5761                                    data-value="RE"
5762                                    data-code="re"
5763                                    data-flag="re"
5764                                    data-search="reunion réunion re"
5765                                    role="option"
5766                                    aria-selected="false">
5767                                    <span class="country-flag fi fi-re"></span>
5768                                    <span class="country-name">Reunion</span>
5769                                                                    </div>
5770                                                    <div class="country-option "
5771                                    data-value="RW"
5772                                    data-code="rw"
5773                                    data-flag="rw"
5774                                    data-search="ruanda rwanda rw"
5775                                    role="option"
5776                                    aria-selected="false">
5777                                    <span class="country-flag fi fi-rw"></span>
5778                                    <span class="country-name">Ruanda</span>
5779                                                                    </div>
5780                                                    <div class="country-option "
5781                                    data-value="RO"
5782                                    data-code="ro"
5783                                    data-flag="ro"
5784                                    data-search="rumania romania ro"
5785                                    role="option"
5786                                    aria-selected="false">
5787                                    <span class="country-flag fi fi-ro"></span>
5788                                    <span class="country-name">Rumania</span>
5789                                                                    </div>
5790                                                    <div class="country-option "
5791                                    data-value="RU"
5792                                    data-code="ru"
5793                                    data-flag="ru"
5794                                    data-search="rusia russian federation ru"
5795                                    role="option"
5796                                    aria-selected="false">
5797                                    <span class="country-flag fi fi-ru"></span>
5798                                    <span class="country-name">Rusia</span>
5799                                                                    </div>
5800                                                    <div class="country-option "
5801                                    data-value="EH"
5802                                    data-code="eh"
5803                                    data-flag="eh"
5804                                    data-search="sahara occidental western sahara eh"
5805                                    role="option"
5806                                    aria-selected="false">
5807                                    <span class="country-flag fi fi-eh"></span>
5808                                    <span class="country-name">Sahara Occidental</span>
5809                                                                    </div>
5810                                                    <div class="country-option "
5811                                    data-value="WS"
5812                                    data-code="ws"
5813                                    data-flag="ws"
5814                                    data-search="samoa samoa ws"
5815                                    role="option"
5816                                    aria-selected="false">
5817                                    <span class="country-flag fi fi-ws"></span>
5818                                    <span class="country-name">Samoa</span>
5819                                                                    </div>
5820                                                    <div class="country-option "
5821                                    data-value="AS"
5822                                    data-code="as"
5823                                    data-flag="as"
5824                                    data-search="samoa americana american samoa as"
5825                                    role="option"
5826                                    aria-selected="false">
5827                                    <span class="country-flag fi fi-as"></span>
5828                                    <span class="country-name">Samoa americana</span>
5829                                                                    </div>
5830                                                    <div class="country-option "
5831                                    data-value="BL"
5832                                    data-code="bl"
5833                                    data-flag="bl"
5834                                    data-search="san bartolomé saint barthélemy bl"
5835                                    role="option"
5836                                    aria-selected="false">
5837                                    <span class="country-flag fi fi-bl"></span>
5838                                    <span class="country-name">San Bartolomé</span>
5839                                                                    </div>
5840                                                    <div class="country-option "
5841                                    data-value="SM"
5842                                    data-code="sm"
5843                                    data-flag="sm"
5844                                    data-search="san marino san marino sm"
5845                                    role="option"
5846                                    aria-selected="false">
5847                                    <span class="country-flag fi fi-sm"></span>
5848                                    <span class="country-name">San Marino</span>
5849                                                                    </div>
5850                                                    <div class="country-option "
5851                                    data-value="SX"
5852                                    data-code="sx"
5853                                    data-flag="sx"
5854                                    data-search="san martín (países bajos) sint maarten sx"
5855                                    role="option"
5856                                    aria-selected="false">
5857                                    <span class="country-flag fi fi-sx"></span>
5858                                    <span class="country-name">San Martín (Países Bajos)</span>
5859                                                                    </div>
5860                                                    <div class="country-option "
5861                                    data-value="MF"
5862                                    data-code="mf"
5863                                    data-flag="mf"
5864                                    data-search="san martín (parte francesa) saint martin (french part) mf"
5865                                    role="option"
5866                                    aria-selected="false">
5867                                    <span class="country-flag fi fi-mf"></span>
5868                                    <span class="country-name">San Martín (parte francesa)</span>
5869                                                                    </div>
5870                                                    <div class="country-option "
5871                                    data-value="PM"
5872                                    data-code="pm"
5873                                    data-flag="pm"
5874                                    data-search="san pedro y miquelon saint-pierre and miquelon pm"
5875                                    role="option"
5876                                    aria-selected="false">
5877                                    <span class="country-flag fi fi-pm"></span>
5878                                    <span class="country-name">San Pedro y Miquelon</span>
5879                                                                    </div>
5880                                                    <div class="country-option "
5881                                    data-value="VC"
5882                                    data-code="vc"
5883                                    data-flag="vc"
5884                                    data-search="san vincente y las granadinas saint vincent and the grenadines vc"
5885                                    role="option"
5886                                    aria-selected="false">
5887                                    <span class="country-flag fi fi-vc"></span>
5888                                    <span class="country-name">San Vincente y Las Granadinas</span>
5889                                                                    </div>
5890                                                    <div class="country-option "
5891                                    data-value="SH"
5892                                    data-code="sh"
5893                                    data-flag="sh"
5894                                    data-search="santa helena saint helena sh"
5895                                    role="option"
5896                                    aria-selected="false">
5897                                    <span class="country-flag fi fi-sh"></span>
5898                                    <span class="country-name">Santa Helena</span>
5899                                                                    </div>
5900                                                    <div class="country-option "
5901                                    data-value="KN"
5902                                    data-code="kn"
5903                                    data-flag="kn"
5904                                    data-search="santa kitts y nevis saint kitts and nevis kn"
5905                                    role="option"
5906                                    aria-selected="false">
5907                                    <span class="country-flag fi fi-kn"></span>
5908                                    <span class="country-name">Santa Kitts y Nevis</span>
5909                                                                    </div>
5910                                                    <div class="country-option "
5911                                    data-value="LC"
5912                                    data-code="lc"
5913                                    data-flag="lc"
5914                                    data-search="santa lucia saint lucia lc"
5915                                    role="option"
5916                                    aria-selected="false">
5917                                    <span class="country-flag fi fi-lc"></span>
5918                                    <span class="country-name">Santa Lucia</span>
5919                                                                    </div>
5920                                                    <div class="country-option "
5921                                    data-value="ST"
5922                                    data-code="st"
5923                                    data-flag="st"
5924                                    data-search="santo tome y principe sao tome and principe st"
5925                                    role="option"
5926                                    aria-selected="false">
5927                                    <span class="country-flag fi fi-st"></span>
5928                                    <span class="country-name">Santo Tome y Principe</span>
5929                                                                    </div>
5930                                                    <div class="country-option "
5931                                    data-value="SN"
5932                                    data-code="sn"
5933                                    data-flag="sn"
5934                                    data-search="senegal senegal sn"
5935                                    role="option"
5936                                    aria-selected="false">
5937                                    <span class="country-flag fi fi-sn"></span>
5938                                    <span class="country-name">Senegal</span>
5939                                                                    </div>
5940                                                    <div class="country-option "
5941                                    data-value="RS"
5942                                    data-code="rs"
5943                                    data-flag="rs"
5944                                    data-search="serbia serbia  rs"
5945                                    role="option"
5946                                    aria-selected="false">
5947                                    <span class="country-flag fi fi-rs"></span>
5948                                    <span class="country-name">Serbia</span>
5949                                                                    </div>
5950                                                    <div class="country-option "
5951                                    data-value="SC"
5952                                    data-code="sc"
5953                                    data-flag="sc"
5954                                    data-search="seychelles seychelles sc"
5955                                    role="option"
5956                                    aria-selected="false">
5957                                    <span class="country-flag fi fi-sc"></span>
5958                                    <span class="country-name">Seychelles</span>
5959                                                                    </div>
5960                                                    <div class="country-option "
5961                                    data-value="SL"
5962                                    data-code="sl"
5963                                    data-flag="sl"
5964                                    data-search="sierra leona sierra leone sl"
5965                                    role="option"
5966                                    aria-selected="false">
5967                                    <span class="country-flag fi fi-sl"></span>
5968                                    <span class="country-name">Sierra Leona</span>
5969                                                                    </div>
5970                                                    <div class="country-option "
5971                                    data-value="SG"
5972                                    data-code="sg"
5973                                    data-flag="sg"
5974                                    data-search="singapur singapore sg"
5975                                    role="option"
5976                                    aria-selected="false">
5977                                    <span class="country-flag fi fi-sg"></span>
5978                                    <span class="country-name">Singapur</span>
5979                                                                    </div>
5980                                                    <div class="country-option "
5981                                    data-value="SY"
5982                                    data-code="sy"
5983                                    data-flag="sy"
5984                                    data-search="siria syrian arab republic sy"
5985                                    role="option"
5986                                    aria-selected="false">
5987                                    <span class="country-flag fi fi-sy"></span>
5988                                    <span class="country-name">Siria</span>
5989                                                                    </div>
5990                                                    <div class="country-option "
5991                                    data-value="SO"
5992                                    data-code="so"
5993                                    data-flag="so"
5994                                    data-search="somalia somalia so"
5995                                    role="option"
5996                                    aria-selected="false">
5997                                    <span class="country-flag fi fi-so"></span>
5998                                    <span class="country-name">Somalia</span>
5999                                                                    </div>
6000                                                    <div class="country-option "
6001                                    data-value="LK"
6002                                    data-code="lk"
6003                                    data-flag="lk"
6004                                    data-search="sri lanka sri lanka lk"
6005                                    role="option"
6006                                    aria-selected="false">
6007                                    <span class="country-flag fi fi-lk"></span>
6008                                    <span class="country-name">Sri Lanka</span>
6009                                                                    </div>
6010                                                    <div class="country-option "
6011                                    data-value="SZ"
6012                                    data-code="sz"
6013                                    data-flag="sz"
6014                                    data-search="suazilandia swaziland sz"
6015                                    role="option"
6016                                    aria-selected="false">
6017                                    <span class="country-flag fi fi-sz"></span>
6018                                    <span class="country-name">Suazilandia</span>
6019                                                                    </div>
6020                                                    <div class="country-option "
6021                                    data-value="ZA"
6022                                    data-code="za"
6023                                    data-flag="za"
6024                                    data-search="sudafrica south africa za"
6025                                    role="option"
6026                                    aria-selected="false">
6027                                    <span class="country-flag fi fi-za"></span>
6028                                    <span class="country-name">Sudafrica</span>
6029                                                                    </div>
6030                                                    <div class="country-option "
6031                                    data-value="SD"
6032                                    data-code="sd"
6033                                    data-flag="sd"
6034                                    data-search="sudan sudan sd"
6035                                    role="option"
6036                                    aria-selected="false">
6037                                    <span class="country-flag fi fi-sd"></span>
6038                                    <span class="country-name">Sudan</span>
6039                                                                    </div>
6040                                                    <div class="country-option "
6041                                    data-value="SS"
6042                                    data-code="ss"
6043                                    data-flag="ss"
6044                                    data-search="sudán del sur south sudan ss"
6045                                    role="option"
6046                                    aria-selected="false">
6047                                    <span class="country-flag fi fi-ss"></span>
6048                                    <span class="country-name">Sudán del Sur</span>
6049                                                                    </div>
6050                                                    <div class="country-option "
6051                                    data-value="SE"
6052                                    data-code="se"
6053                                    data-flag="se"
6054                                    data-search="suecia sweden se"
6055                                    role="option"
6056                                    aria-selected="false">
6057                                    <span class="country-flag fi fi-se"></span>
6058                                    <span class="country-name">Suecia</span>
6059                                                                    </div>
6060                                                    <div class="country-option "
6061                                    data-value="CH"
6062                                    data-code="ch"
6063                                    data-flag="ch"
6064                                    data-search="suiza switzerland ch"
6065                                    role="option"
6066                                    aria-selected="false">
6067                                    <span class="country-flag fi fi-ch"></span>
6068                                    <span class="country-name">Suiza</span>
6069                                                                    </div>
6070                                                    <div class="country-option "
6071                                    data-value="SR"
6072                                    data-code="sr"
6073                                    data-flag="sr"
6074                                    data-search="suriname suriname sr"
6075                                    role="option"
6076                                    aria-selected="false">
6077                                    <span class="country-flag fi fi-sr"></span>
6078                                    <span class="country-name">Suriname</span>
6079                                                                    </div>
6080                                                    <div class="country-option "
6081                                    data-value="TH"
6082                                    data-code="th"
6083                                    data-flag="th"
6084                                    data-search="tailandia thailand th"
6085                                    role="option"
6086                                    aria-selected="false">
6087                                    <span class="country-flag fi fi-th"></span>
6088                                    <span class="country-name">Tailandia</span>
6089                                                                    </div>
6090                                                    <div class="country-option "
6091                                    data-value="TW"
6092                                    data-code="tw"
6093                                    data-flag="tw"
6094                                    data-search="taiwan taiwan tw"
6095                                    role="option"
6096                                    aria-selected="false">
6097                                    <span class="country-flag fi fi-tw"></span>
6098                                    <span class="country-name">Taiwan</span>
6099                                                                    </div>
6100                                                    <div class="country-option "
6101                                    data-value="TZ"
6102                                    data-code="tz"
6103                                    data-flag="tz"
6104                                    data-search="tanzania united republic of tanzania tz"
6105                                    role="option"
6106                                    aria-selected="false">
6107                                    <span class="country-flag fi fi-tz"></span>
6108                                    <span class="country-name">Tanzania</span>
6109                                                                    </div>
6110                                                    <div class="country-option "
6111                                    data-value="TJ"
6112                                    data-code="tj"
6113                                    data-flag="tj"
6114                                    data-search="tayikistan tajikistan tj"
6115                                    role="option"
6116                                    aria-selected="false">
6117                                    <span class="country-flag fi fi-tj"></span>
6118                                    <span class="country-name">Tayikistan</span>
6119                                                                    </div>
6120                                                    <div class="country-option "
6121                                    data-value="IO"
6122                                    data-code="io"
6123                                    data-flag="io"
6124                                    data-search="territorio oceanico de la india britanica british indian ocean territory io"
6125                                    role="option"
6126                                    aria-selected="false">
6127                                    <span class="country-flag fi fi-io"></span>
6128                                    <span class="country-name">Territorio Oceanico de la India Britanica</span>
6129                                                                    </div>
6130                                                    <div class="country-option "
6131                                    data-value="TF"
6132                                    data-code="tf"
6133                                    data-flag="tf"
6134                                    data-search="territorios australes franceses french southern territories tf"
6135                                    role="option"
6136                                    aria-selected="false">
6137                                    <span class="country-flag fi fi-tf"></span>
6138                                    <span class="country-name">Territorios Australes Franceses</span>
6139                                                                    </div>
6140                                                    <div class="country-option "
6141                                    data-value="TL"
6142                                    data-code="tl"
6143                                    data-flag="tl"
6144                                    data-search="timor leste timor-leste tl"
6145                                    role="option"
6146                                    aria-selected="false">
6147                                    <span class="country-flag fi fi-tl"></span>
6148                                    <span class="country-name">Timor Leste</span>
6149                                                                    </div>
6150                                                    <div class="country-option "
6151                                    data-value="TG"
6152                                    data-code="tg"
6153                                    data-flag="tg"
6154                                    data-search="togo togo tg"
6155                                    role="option"
6156                                    aria-selected="false">
6157                                    <span class="country-flag fi fi-tg"></span>
6158                                    <span class="country-name">Togo</span>
6159                                                                    </div>
6160                                                    <div class="country-option "
6161                                    data-value="TK"
6162                                    data-code="tk"
6163                                    data-flag="tk"
6164                                    data-search="tokelau tokelau tk"
6165                                    role="option"
6166                                    aria-selected="false">
6167                                    <span class="country-flag fi fi-tk"></span>
6168                                    <span class="country-name">Tokelau</span>
6169                                                                    </div>
6170                                                    <div class="country-option "
6171                                    data-value="TO"
6172                                    data-code="to"
6173                                    data-flag="to"
6174                                    data-search="tongo tonga to"
6175                                    role="option"
6176                                    aria-selected="false">
6177                                    <span class="country-flag fi fi-to"></span>
6178                                    <span class="country-name">Tongo</span>
6179                                                                    </div>
6180                                                    <div class="country-option "
6181                                    data-value="TT"
6182                                    data-code="tt"
6183                                    data-flag="tt"
6184                                    data-search="trinidad y tobago trinidad and tobago tt"
6185                                    role="option"
6186                                    aria-selected="false">
6187                                    <span class="country-flag fi fi-tt"></span>
6188                                    <span class="country-name">Trinidad y Tobago</span>
6189                                                                    </div>
6190                                                    <div class="country-option "
6191                                    data-value="TN"
6192                                    data-code="tn"
6193                                    data-flag="tn"
6194                                    data-search="tunez tunisia tn"
6195                                    role="option"
6196                                    aria-selected="false">
6197                                    <span class="country-flag fi fi-tn"></span>
6198                                    <span class="country-name">Tunez</span>
6199                                                                    </div>
6200                                                    <div class="country-option "
6201                                    data-value="TM"
6202                                    data-code="tm"
6203                                    data-flag="tm"
6204                                    data-search="turkmenistan turkmenistan tm"
6205                                    role="option"
6206                                    aria-selected="false">
6207                                    <span class="country-flag fi fi-tm"></span>
6208                                    <span class="country-name">Turkmenistan</span>
6209                                                                    </div>
6210                                                    <div class="country-option "
6211                                    data-value="TR"
6212                                    data-code="tr"
6213                                    data-flag="tr"
6214                                    data-search="turquia turkey tr"
6215                                    role="option"
6216                                    aria-selected="false">
6217                                    <span class="country-flag fi fi-tr"></span>
6218                                    <span class="country-name">Turquia</span>
6219                                                                    </div>
6220                                                    <div class="country-option "
6221                                    data-value="TV"
6222                                    data-code="tv"
6223                                    data-flag="tv"
6224                                    data-search="tuvalu tuvalu tv"
6225                                    role="option"
6226                                    aria-selected="false">
6227                                    <span class="country-flag fi fi-tv"></span>
6228                                    <span class="country-name">Tuvalu</span>
6229                                                                    </div>
6230                                                    <div class="country-option "
6231                                    data-value="UA"
6232                                    data-code="ua"
6233                                    data-flag="ua"
6234                                    data-search="ucrania ukraine ua"
6235                                    role="option"
6236                                    aria-selected="false">
6237                                    <span class="country-flag fi fi-ua"></span>
6238                                    <span class="country-name">Ucrania</span>
6239                                                                    </div>
6240                                                    <div class="country-option "
6241                                    data-value="UG"
6242                                    data-code="ug"
6243                                    data-flag="ug"
6244                                    data-search="uganda uganda ug"
6245                                    role="option"
6246                                    aria-selected="false">
6247                                    <span class="country-flag fi fi-ug"></span>
6248                                    <span class="country-name">Uganda</span>
6249                                                                    </div>
6250                                                    <div class="country-option "
6251                                    data-value="UZ"
6252                                    data-code="uz"
6253                                    data-flag="uz"
6254                                    data-search="uzbekistan uzbekistan uz"
6255                                    role="option"
6256                                    aria-selected="false">
6257                                    <span class="country-flag fi fi-uz"></span>
6258                                    <span class="country-name">Uzbekistan</span>
6259                                                                    </div>
6260                                                    <div class="country-option "
6261                                    data-value="VU"
6262                                    data-code="vu"
6263                                    data-flag="vu"
6264                                    data-search="vanuatu vanuatu vu"
6265                                    role="option"
6266                                    aria-selected="false">
6267                                    <span class="country-flag fi fi-vu"></span>
6268                                    <span class="country-name">Vanuatu</span>
6269                                                                    </div>
6270                                                    <div class="country-option "
6271                                    data-value="VE"
6272                                    data-code="ve"
6273                                    data-flag="ve"
6274                                    data-search="venezuela venezuela ve"
6275                                    role="option"
6276                                    aria-selected="false">
6277                                    <span class="country-flag fi fi-ve"></span>
6278                                    <span class="country-name">Venezuela</span>
6279                                                                    </div>
6280                                                    <div class="country-option "
6281                                    data-value="VN"
6282                                    data-code="vn"
6283                                    data-flag="vn"
6284                                    data-search="vietnam vietnam vn"
6285                                    role="option"
6286                                    aria-selected="false">
6287                                    <span class="country-flag fi fi-vn"></span>
6288                                    <span class="country-name">Vietnam</span>
6289                                                                    </div>
6290                                                    <div class="country-option "
6291                                    data-value="WF"
6292                                    data-code="wf"
6293                                    data-flag="wf"
6294                                    data-search="wallis y futuna wallis and futuna wf"
6295                                    role="option"
6296                                    aria-selected="false">
6297                                    <span class="country-flag fi fi-wf"></span>
6298                                    <span class="country-name">Wallis y Futuna</span>
6299                                                                    </div>
6300                                                    <div class="country-option "
6301                                    data-value="YE"
6302                                    data-code="ye"
6303                                    data-flag="ye"
6304                                    data-search="yemen yemen ye"
6305                                    role="option"
6306                                    aria-selected="false">
6307                                    <span class="country-flag fi fi-ye"></span>
6308                                    <span class="country-name">Yemen</span>
6309                                                                    </div>
6310                                                    <div class="country-option "
6311                                    data-value="ZM"
6312                                    data-code="zm"
6313                                    data-flag="zm"
6314                                    data-search="zambia zambia zm"
6315                                    role="option"
6316                                    aria-selected="false">
6317                                    <span class="country-flag fi fi-zm"></span>
6318                                    <span class="country-name">Zambia</span>
6319                                                                    </div>
6320                                                    <div class="country-option "
6321                                    data-value="ZW"
6322                                    data-code="zw"
6323                                    data-flag="zw"
6324                                    data-search="zimbabue zimbabwe zw"
6325                                    role="option"
6326                                    aria-selected="false">
6327                                    <span class="country-flag fi fi-zw"></span>
6328                                    <span class="country-name">Zimbabue</span>
6329                                                                    </div>
6330                    
6331                    <!-- Mensaje cuando no hay resultados -->
6332                    <div class="country-no-results" style="display: none;">
6333                        No se encontraron países                    </div>
6334                </div>
6335            </div>
6336        </div>
6337    </div>
6338				</div>
6339			</div>
6340			<style>
6341				/* Selector de nacionalidad - mismo ancho que controles de arriba (142px) */
6342				.party-selector-country {
6343					width: 142px;
6344				}
6345
6346				.party-selector-country .country-selector-trigger {
6347					background-color: #f8f8f8 !important;
6348					border-radius: 10px !important;
6349					height: 42px !important;
6350					padding: 0 10px !important;
6351					border: none;
6352					font-size: 14px !important;
6353				}
6354
6355				.party-selector-country .country-selector-dropdown {
6356					border-radius: 0 0 10px 10px;
6357					min-width: 200px;
6358					right: 0;
6359					left: auto;
6360				}
6361
6362				@media only screen and (max-width: 650px) {
6363					.party-selector-country .country-selector-trigger {
6364						height: 40px !important;
6365					}
6366
6367					.party-selector-country .country-selector-dropdown {
6368						right: auto;
6369						left: 0;
6370						min-width: 250px;
6371						transform: translateX(-40%);
6372					}
6373				}
6374			</style>
6375		
6376	</div>
6377
6378</div>
6379
6380<script>
6381	// Global flag to track if ages have been initialized
6382	var childrenAgesInitialized = false;
6383
6384	// Function to initialize children ages from GroupsForm
6385	function initializeChildrenAgesFromGroupsForm(force) {
6386		// Only initialize once unless forced
6387		if (childrenAgesInitialized && !force) {
6388			return;
6389		}
6390
6391		try {
6392					} catch (e) {
6393			console.error('Error initializing children ages:', e);
6394		}
6395	}
6396
6397	// Call initialization on page load (in case selects already exist)
6398	$(document).ready(function() {
6399		// Wait a bit to ensure selects are created
6400		setTimeout(function() {
6401			initializeChildrenAgesFromGroupsForm();
6402		}, 100);
6403	});
6404</script>
6404
6405								<input name="MaxRooms" type="hidden" id="MaxRooms" value="4" />
6406				<input name="Nights" type="hidden" id="Nights" />
6407				<input name="Channel" type="hidden" id="Channel" value="2" />
6408				<input name="RateType" type="hidden" id="RateType" value="auto" />
6409				<input name="Pos" type="hidden" id="Pos" value='SarmientoPalace' />
6410				<input name="Lng" type="hidden" id="Lng" value='pt' />
6411				<input name="Currency" type="hidden" id="Currency" value="ARS" />
6412				<input name="MaxAgeChildrenNumber" type="hidden" id="MaxAgeChildrenNumber" value="15" />
6413				<input name="MaxAgeBabiesNumber" type="hidden" id="MaxAgeBabiesNumber" value="2" />
6414				<input name="MaxBabiesNumber" type="hidden" id="MaxBabiesNumber" value="0" />
6415				<input name="ReturnUrl" type="hidden" id="ReturnUrl" value="https://www.hotelsarmiento.com.ar/pt/lp.html" />
6416
6417				<input name="FromUrl" type="hidden" id="FromUrl" value="https://www.hotelsarmiento.com.ar/pt/" />
6418				<input name="Tag" type="hidden" id="Tag" value="" />
6419				<input name="Source" id="Source" type="hidden" value="Contact Form">
6420
6421				<input name="ProductTimezone" id="ProductTimezone" type="hidden" value="America/Argentina/Buenos_Aires">
6422				<input name="GlobalDaysModifier" id="GlobalDaysModifier" type="hidden" value="0">
6423
6424				<input name="SearchID" type="hidden" id="SearchID" value="0" />
6425
6426				<input name="FromPID" type="hidden" id="FromPID" value="203" />
6427
6428				<input name="Type" type="hidden" id="Type" value="Hotel" />
6429
6430
6431									<input name="ProductID" type="hidden" id="ProductID" value="203" />
6432				
6433									<input name="ListID" type="hidden" id="ListID" value="0" />
6434				
6435				<input name="Location" type="hidden" id="Location" value="" />
6436
6437				<input name="Device" type="hidden" id="Device" value="Computer" />
6438								<input name="UserID" type="hidden" id="UserID" value="0" />
6439				<input name="tag" type="hidden" id="tag" class="tag_cookie" value="" />
6440								<input name="Email" type="hidden" id="Email" value="" />
6441				<input name="UserType" type="hidden" id="UserType" value="" />
6442				<input name="AgreementType" type="hidden" id="AgreementType" value="" />
6443
6444				<input name="GroupsForm" type="hidden" id="GroupsForm" value="1:2,0,0" />
6445
6446				
6447				
6448																																																	
6449
6450
6451									<input name="SkuID" type="hidden" id="SkuID" value="" />
6452				
6453				
6454				<div class="nodisplay" id="MinNightsError">
6455					O número mínimo de noites deve ser maior ou igual a 0				</div>
6456
6457				<input name="MinNights" type="hidden" id="MinNights" value="0" />
6458
6459				<div name="PxMkAcion_Search" id="PxMkAcion_Search" class="px-sm-searchbtn px-sm-inputcontainer w-padding px-mk-fixedwith-inputcontainer cta_webcheckin_px" btntxt="Ver Tarifas" loadingbtntxt="Procurando por" data-testid="search-button">
6460					<span class="update-search-span">Ver Tarifas</span>
6461					<label for="" class="px-mk-searchicon px-mk-inputicon ignoreclick">
6462						<?xml version="1.0" encoding="iso-8859-1"?>
6463<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
6464<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
6465	 viewBox="0 0 373.12 373.12" style="enable-background:new 0 0 373.12 373.12;" xml:space="preserve">
6466<g>
6467	<g>
6468		<path d="M266.667,234.667h-16.96l-5.867-5.867c20.907-24.213,33.493-55.68,33.493-90.133C277.333,62.08,215.253,0,138.667,0
6469			S0,62.08,0,138.667s62.08,138.667,138.667,138.667c34.453,0,65.92-12.587,90.133-33.387l5.867,5.867v16.853L341.333,373.12
6470			l31.787-31.787L266.667,234.667z M138.667,234.667c-53.013,0-96-42.987-96-96c0-53.013,42.987-96,96-96c53.013,0,96,42.987,96,96
6471			C234.667,191.68,191.68,234.667,138.667,234.667z"/>
6472	</g>
6473</g>
6474<g>
6475</g>
6476<g>
6477</g>
6478<g>
6479</g>
6480<g>
6481</g>
6482<g>
6483</g>
6484<g>
6485</g>
6486<g>
6487</g>
6488<g>
6489</g>
6490<g>
6491</g>
6492<g>
6493</g>
6494<g>
6495</g>
6496<g>
6497</g>
6498<g>
6499</g>
6500<g>
6501</g>
6502<g>
6503</g>
6504</svg>
6505					</label>
6506					<label for="" class="px-mk-searchloader px-mk-inputicon nodisplay ignoreclick">
6507						<?xml version="1.0" encoding="iso-8859-1"?>
6508<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
6509<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
6510<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
6511	 width="26.349px" height="26.35px" viewBox="0 0 26.349 26.35" style="enable-background:new 0 0 26.349 26.35;"
6512	 xml:space="preserve">
6513<g>
6514	<g>
6515		<circle cx="13.792" cy="3.082" r="3.082"/>
6516		<circle cx="13.792" cy="24.501" r="1.849"/>
6517		<circle cx="6.219" cy="6.218" r="2.774"/>
6518		<circle cx="21.365" cy="21.363" r="1.541"/>
6519		<circle cx="3.082" cy="13.792" r="2.465"/>
6520		<circle cx="24.501" cy="13.791" r="1.232"/>
6521		<path d="M4.694,19.84c-0.843,0.843-0.843,2.207,0,3.05c0.842,0.843,2.208,0.843,3.05,0c0.843-0.843,0.843-2.207,0-3.05
6522			C6.902,18.996,5.537,18.988,4.694,19.84z"/>
6523		<circle cx="21.364" cy="6.218" r="0.924"/>
6524	</g>
6525</g>
6526<g>
6527</g>
6528<g>
6529</g>
6530<g>
6531</g>
6532<g>
6533</g>
6534<g>
6535</g>
6536<g>
6537</g>
6538<g>
6539</g>
6540<g>
6541</g>
6542<g>
6543</g>
6544<g>
6545</g>
6546<g>
6547</g>
6548<g>
6549</g>
6550<g>
6551</g>
6552<g>
6553</g>
6554<g>
6555</g>
6556</svg>
6557					</label>
6558				</div>
6559
6560			</form>
6561
6562			<input type="hidden" id="MainPos" value="SarmientoPalace">
6563
6564
6565		</div>
6566
6567	
6568
6569<div id="dataconfig" product-timezone="America/Argentina/Buenos_Aires" urldispo="id=203&RateID=246&start=2026-09-26" class="nodisplay" lng="pt" DatePickerStart="0"></div>
6570
6571<link rel="stylesheet" href="https://unpkg.com/tippy.js@6/animations/scale.css" />
6572<script src="https://unpkg.com/@popperjs/core@2"></script>
vendor: 1 bytes, line 6572
6572
6573<script src="https://unpkg.com/tippy.js@6"></script>
6573
6574			
6574<script defer src="/neo_modules/marketplace_buscador_v8/js.js?filev=1778144039" type="text/javascript"></script>
6574
6575<style>/* ------------ VARIABLES ------------ */
6576@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
6577.px-mk-buscador-container {
6578  font-size: 12px;
6579}
6580
6581#MinNightsError {
6582  float: left;
6583  width: calc(100% - 22px);
6584  padding: 10px;
6585  border: 1px solid #982828;
6586  line-height: 20px;
6587  background: #f3e8e8;
6588  color: #000;
6589}
6590
6591.NotValidChildrens {
6592  width: 100%;
6593  float: left;
6594  text-align: center;
6595  color: #800;
6596  font-size: 1em;
6597  font-weight: bold;
6598  padding: 10px 0px;
6599}
6600
6601.update-search-span {
6602  font-weight: 400;
6603  margin-right: 10px;
6604}
6605
6606.ChildrensAgesSelect.notvalid {
6607  border: 1px solid #b51212 !important;
6608}
6609
6610.buscar_lp .buscar_lp_beforerate {
6611  display: none;
6612}
6613
6614.buscar_lp .NochesError {
6615  display: none;
6616}
6617
6618#NochesError {
6619  background: white;
6620  border-right: 1px solid #ccc;
6621  display: flex;
6622  justify-content: center;
6623  align-items: center;
6624}
6625
6626.buscar_lp .TextoFormulario {
6627  float: left;
6628  width: auto;
6629  margin-right: 10px;
6630  text-transform: capitalize;
6631  padding-top: 5px;
6632  font-size: 13px;
6633}
6634
6635.buscar_lp .imput_text_rooms {
6636  font-size: 1em;
6637  padding: 4px 2px;
6638  border: 1px solid #eaeaea;
6639  margin-right: 10px;
6640  float: left;
6641  max-width: 35px;
6642}
6643
6644.buscar_lp .roomtypecontariner {
6645  float: left;
6646  width: auto;
6647}
6648
6649.buscar_lp .bucle {
6650  float: left;
6651  width: auto;
6652}
6653
6654.button_bucar {
6655  float: right;
6656  width: auto;
6657  border: 1px solid #999;
6658  font-size: 14px;
6659  padding: 4px 10px;
6660  background: #eaeaea;
6661  color: #000;
6662}
6663
6664.button_bucar:hover {
6665  background: #999;
6666  color: #fff;
6667  cursor: pointer;
6668}
6669
6670.ContenidoHab {
6671  overflow: hidden;
6672  width: 100%;
6673  margin-bottom: 5px;
6674}
6675
6676.px-mk-buscador-container.buscar_lp .SelectorInitial {
6677  padding: 1em;
6678  margin: 0;
6679  cursor: pointer;
6680  border: none;
6681  box-sizing: border-box;
6682  font-size: 1.1em;
6683  text-overflow: ellipsis;
6684  overflow: hidden;
6685  min-width: 150px;
6686  text-align: left;
6687  padding-right: 2rem !important;
6688  width: 100%;
6689  height: 100%;
6690  display: flex;
6691  background: transparent !important;
6692  align-items: center;
6693}
6694.px-mk-buscador-container.buscar_lp .SelectorInitial .texto {
6695  font-weight: bold;
6696}
6697
6698.px-mk-buscador-container.buscar_lp .RoomsSelectContainer {
6699  width: 100%;
6700  padding-bottom: 5px;
6701  margin-bottom: 5px;
6702  border-bottom: 1px dotted #ccc;
6703  display: flex;
6704  align-items: center;
6705}
6706.px-mk-buscador-container.buscar_lp .RoomsSelectContainer .RoomNameContainer {
6707  width: calc(40% - 10px);
6708  margin-right: 10px;
6709  text-transform: capitalize;
6710  font-size: 1em;
6711  color: #444;
6712}
6713.px-mk-buscador-container.buscar_lp .RoomsSelectContainer .texto {
6714  float: left;
6715  width: 100%;
6716  padding-bottom: 3px;
6717  font-size: 14px;
6718  color: #444;
6719}
6720.px-mk-buscador-container.buscar_lp .RoomsSelectContainer select {
6721  border: 1px solid #d0d0d0;
6722  width: 100%;
6723  border-radius: 4px;
6724  padding: 2px;
6725  color: #666;
6726  font-size: 11px;
6727  margin-bottom: 5px;
6728  cursor: pointer;
6729}
6730.px-mk-buscador-container.buscar_lp .RoomsSelectContainer .hostContainer {
6731  width: 60%;
6732}
6733.px-mk-buscador-container.buscar_lp .RoomsSelectContainer .hostContainer .hostPeopleContainer .AdultsContainer,
6734.px-mk-buscador-container.buscar_lp .RoomsSelectContainer .hostContainer .hostPeopleContainer .ChildrensContainers {
6735  display: flex;
6736  flex-direction: column;
6737  justify-content: center;
6738  align-items: center;
6739  flex: 1;
6740  margin: 3px;
6741}
6742.px-mk-buscador-container.buscar_lp .RoomsSelectContainer .hostContainer .hostPeopleContainer .AdultsContainer > *,
6743.px-mk-buscador-container.buscar_lp .RoomsSelectContainer .hostContainer .hostPeopleContainer .ChildrensContainers > * {
6744  flex-grow: 1;
6745  width: 100%;
6746}
6747.px-mk-buscador-container.buscar_lp .RoomsSelectContainer .hostContainer .ChildrensAges {
6748  float: left;
6749  width: 100%;
6750  margin-top: 5px;
6751}
6752.px-mk-buscador-container.buscar_lp .RoomsSelectContainer .hostContainer .ChildrensAges .ChildrensAgesSelect {
6753  float: left;
6754  width: calc(50% - 5px) !important;
6755  margin-right: 5px;
6756  margin-bottom: 5px;
6757}
6758.px-mk-buscador-container.buscar_lp .RoomsSelectContainer .hostContainer .ChildrensAges .ChildrensAgesSelect:nth-child(even) {
6759  float: right !important;
6760  margin-right: 0px;
6761}
6762.px-mk-buscador-container.buscar_lp .RoomsSelectContainer .hostContainer .ChildrensAges .texto {
6763  float: left;
6764  width: 100%;
6765  padding-bottom: 3px;
6766  font-size: 14px;
6767  color: #444;
6768}
6769
6770.px-mk-buscador-container.buscar_lp .px-mk-addnewroom,
6771.px-mk-buscador-container.buscar_lp .px-mk-removeroom {
6772  flex: 1;
6773  cursor: pointer;
6774  margin: 3px;
6775}
6776.px-mk-buscador-container.buscar_lp .px-mk-addnewroom.nodisplay,
6777.px-mk-buscador-container.buscar_lp .px-mk-removeroom.nodisplay {
6778  display: none;
6779}
6780.px-mk-buscador-container.buscar_lp .px-mk-addnewroom svg,
6781.px-mk-buscador-container.buscar_lp .px-mk-removeroom svg {
6782  height: 18px;
6783  width: 18px;
6784  fill: currentColor;
6785  margin-left: 3px;
6786}
6787.px-mk-buscador-container.buscar_lp .px-mk-addnewroom button,
6788.px-mk-buscador-container.buscar_lp .px-mk-removeroom button {
6789  width: 100%;
6790  display: flex;
6791  align-items: center;
6792  justify-content: center;
6793  text-align: center;
6794  background: #f3f3f3;
6795  border: 1px solid #ccc;
6796  padding: 5px 0px;
6797  box-sizing: border-box;
6798  border-radius: 30px;
6799  color: #444;
6800  font-size: 0.9em;
6801  text-transform: capitalize;
6802  cursor: pointer;
6803}
6804.px-mk-buscador-container.buscar_lp .px-mk-addnewroom button span,
6805.px-mk-buscador-container.buscar_lp .px-mk-removeroom button span {
6806  text-transform: capitalize;
6807  line-height: 1;
6808}
6809
6810.px-mk-buscador-container.buscar_lp {
6811  display: flex;
6812  align-items: center;
6813  height: 100%;
6814  padding: 3px;
6815  box-sizing: border-box;
6816  transition: 0.3s ease-out;
6817}
6818.px-mk-buscador-container.buscar_lp #MultiplePartySelect {
6819  float: left;
6820  flex-direction: column;
6821  display: flex;
6822  width: calc(100% - 12px);
6823  padding: 5px;
6824  background: #fff;
6825  border: 1px solid #ddd;
6826  margin: 0px;
6827  position: absolute;
6828  top: 100%;
6829  min-width: 250px;
6830  z-index: 11;
6831  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.08);
6832}
6833.px-mk-buscador-container.buscar_lp #MultiplePartySelect.nodisplay {
6834  display: none;
6835}
6836.px-mk-buscador-container.buscar_lp .PartyTypeSimulatorSelect {
6837  background: #fff;
6838  border: 1px solid #ddd;
6839  margin: 0px;
6840  position: absolute;
6841  top: 100%;
6842  left: 0;
6843  display: flex;
6844  z-index: 99;
6845  flex-direction: column;
6846}
6847.px-mk-buscador-container.buscar_lp .PartyTypeSimulatorSelect .px-sm-inputcontainer {
6848  height: 50px;
6849  border-right: none;
6850  border-bottom: 1px solid #ccc;
6851  cursor: pointer;
6852  padding: 1em 4em 1em 1em;
6853  box-sizing: border-box;
6854}
6855.px-mk-buscador-container.buscar_lp .PartyTypeSimulatorSelect .px-sm-inputcontainer:last-child {
6856  border-bottom: none;
6857}
6858.px-mk-buscador-container.buscar_lp .PartyTypeSimulatorSelect .px-sm-inputcontainer .texto {
6859  padding: 0px;
6860  display: flex;
6861  align-items: center;
6862  text-align: left;
6863  font-size: 14px;
6864  color: #888;
6865}
6866.px-mk-buscador-container.buscar_lp .PartyTypeSimulatorSelect .px-sm-inputcontainer .texto:hover {
6867  color: #444;
6868}
6869.px-mk-buscador-container.buscar_lp .PartyTypeSimulatorSelect.nodisplay {
6870  display: none;
6871}
6872.px-mk-buscador-container.buscar_lp .px-mk-searchform {
6873  float: none;
6874  width: auto;
6875  display: flex;
6876  align-items: center;
6877  height: 60px;
6878  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.08);
6879}
6880.px-mk-buscador-container.buscar_lp .px-mk-searchform > * {
6881  height: 100%;
6882  margin: 0;
6883  float: none;
6884  position: relative;
6885  flex-shrink: 0;
6886  flex-grow: 1;
6887}
6888.px-mk-buscador-container.buscar_lp .px-mk-searchform .px-sm-searchbtn {
6889  min-width: 18em;
6890}
6891
6892.ModuloWrap_marketplace_buscador_v3.isolate::after {
6893  content: "";
6894  position: fixed;
6895  top: 0;
6896  left: 0;
6897  width: 100vw;
6898  height: 100vh;
6899  background: rgba(0, 0, 0, 0.3);
6900  z-index: -1;
6901  bottom: 0;
6902  right: 0;
6903  -webkit-backdrop-filter: blur(5px);
6904          backdrop-filter: blur(5px);
6905  animation: appearIsolate 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
6906}
6907
6908@keyframes appearIsolate {
6909  from {
6910    opacity: 0;
6911  }
6912  to {
6913    opacity: 1;
6914  }
6915}
6916.px-sm-inputcontainer {
6917  display: flex;
6918  position: relative;
6919  border-right: 1px solid #ccc;
6920  transition: 0.3s ease-out;
6921  cursor: pointer;
6922  flex-direction: column;
6923  justify-content: center;
6924  align-items: flex-start;
6925  text-align: left;
6926  box-sizing: border-box;
6927  background-color: white;
6928}
6929.px-sm-inputcontainer .hasDatepicker {
6930  cursor: pointer !important;
6931}
6932.px-sm-inputcontainer input {
6933  border-bottom: none !important;
6934  box-shadow: none !important;
6935}
6936.px-sm-inputcontainer label.error {
6937  background: #bf0000;
6938  float: none;
6939  min-width: 100%;
6940  margin: 0px;
6941  left: 0;
6942  padding: 10px 20px;
6943  box-sizing: border-box;
6944  top: 100%;
6945  bottom: initial;
6946  right: auto;
6947  transform: translatey(0);
6948  color: white;
6949  font-weight: 400;
6950  text-transform: uppercase;
6951  font-size: 10px;
6952  letter-spacing: 2px;
6953  position: absolute;
6954  line-height: 1.6em;
6955}
6956.px-sm-inputcontainer.px-mk-fixedwidth-inputcontainer {
6957  width: 11em;
6958}
6959.px-sm-inputcontainer.px-mk-fixedwidth-inputcontainer-max {
6960  width: 18em;
6961}
6962.px-sm-inputcontainer.w-padding {
6963  padding: 0.6em 1em;
6964}
6965.px-sm-inputcontainer .px-mk-labelinput {
6966  margin-bottom: 3px;
6967  font-size: 13px;
6968  opacity: 1;
6969  cursor: pointer;
6970  margin-top: 3px;
6971}
6972.px-sm-inputcontainer .px-mk-inputicon {
6973  position: absolute;
6974  z-index: 2;
6975  right: 1.2em;
6976  color: #aaa;
6977  top: 50%;
6978  transform: translatey(-50%);
6979  font-size: 1.2em;
6980  transition: 0.3s ease-out;
6981  cursor: pointer;
6982}
6983.px-sm-inputcontainer .px-mk-inputicon svg {
6984  height: 1.2em;
6985  width: 1.2em;
6986  fill: currentColor;
6987}
6988.px-sm-inputcontainer.nodisplay {
6989  display: none;
6990}
6991.px-sm-inputcontainer:last-child {
6992  border-right: none;
6993}
6994.px-sm-inputcontainer input,
6995.px-sm-inputcontainer select,
6996.px-sm-inputcontainer textarea {
6997  position: relative;
6998  -webkit-appearance: none;
6999  -moz-appearance: none;
7000  border: none;
7001  box-sizing: border-box;
7002  font-size: 1.1em;
7003  text-overflow: ellipsis;
7004  height: auto;
7005  transition: inherit;
7006  background-color: transparent;
7007  max-width: 100%;
7008  width: 100%;
7009}
7010.px-sm-inputcontainer input option,
7011.px-sm-inputcontainer select option,
7012.px-sm-inputcontainer textarea option {
7013  background-color: #fff;
7014}
7015.px-sm-inputcontainer input[type=text]:not(.hasDatepicker),
7016.px-sm-inputcontainer select[type=text]:not(.hasDatepicker),
7017.px-sm-inputcontainer textarea[type=text]:not(.hasDatepicker) {
7018  cursor: text;
7019}
7020.px-sm-inputcontainer input {
7021  padding: 0px;
7022  margin: 0px !important;
7023}
7024.px-sm-inputcontainer > select {
7025  padding: 1em 4em 1em 1em;
7026  height: 100%;
7027  width: 100%;
7028  cursor: pointer;
7029  white-space: initial;
7030}
7031.px-sm-inputcontainer > select::-ms-expand {
7032  display: none;
7033  /* hide the default arrow in ie10 and ie11 */
7034}
7035.px-sm-inputcontainer:hover {
7036  background-color: #f0f0f0;
7037}
7038.px-sm-inputcontainer:hover label {
7039  color: #e0ae1b;
7040}
7041
7042.px-mk-searchinfo + .px-mk-buscador-container .px-mk-searchform {
7043  width: 100%;
7044}
7045.px-mk-searchinfo .px-mk-searchinfo-inner {
7046  width: 100%;
7047  height: 40px;
7048  background: #fafafa;
7049  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.08);
7050  border-radius: 2px;
7051  text-transform: uppercase;
7052  font-size: 1em;
7053  box-sizing: border-box;
7054  font-weight: 600;
7055}
7056.px-mk-searchinfo .px-mk-searchinfo-inner > div {
7057  text-align: center;
7058  border-right: 1px solid #ccc;
7059  padding: 0 20px;
7060  box-sizing: border-box;
7061  height: 100%;
7062}
7063.px-mk-searchinfo .px-mk-searchinfo-inner i {
7064  color: goldenrod;
7065  margin-right: 10px;
7066  font-size: 20px;
7067}
7068.px-mk-searchinfo .px-mk-searchinfo-inner > .searchinfo-title {
7069  flex-grow: 0;
7070  background: #eee;
7071  color: #000;
7072}
7073.px-mk-searchinfo .px-mk-searchinfo-inner > .px-sm-searchbtn {
7074  width: auto;
7075  font-weight: 400;
7076  text-align: center;
7077  justify-content: center;
7078}
7079.px-mk-searchinfo .px-mk-searchinfo-inner.px-mk-searchinfo-column {
7080  height: auto;
7081  flex-wrap: wrap;
7082  width: 100%;
7083}
7084.px-mk-searchinfo .px-mk-searchinfo-inner.px-mk-searchinfo-column > * {
7085  height: 3em;
7086  border-bottom: 1px solid #ccc;
7087  padding: 1em;
7088  width: 50%;
7089  text-align: left;
7090  line-height: 1.2;
7091}
7092.px-mk-searchinfo .px-mk-searchinfo-inner.px-mk-searchinfo-column > * .px-mk-iconchangesearch {
7093  height: 1.2em;
7094  width: 1.2em;
7095}
7096
7097.px-mk-iconchangesearch {
7098  color: goldenrod;
7099  height: 1.5em;
7100  width: 1.5em;
7101  margin-right: 0.5em;
7102}
7103.px-mk-iconchangesearch svg {
7104  fill: currentColor;
7105  height: 100%;
7106  width: 100%;
7107}
7108
7109div.ui-datepicker#ui-datepicker-div .ui-widget-header {
7110  background: transparent !important;
7111  border: none !important;
7112}
7113div.ui-datepicker#ui-datepicker-div .ui-datepicker-next,
7114div.ui-datepicker#ui-datepicker-div .ui-datepicker-prev {
7115  border-radius: 40px !important;
7116  cursor: pointer !important;
7117}
7118div.ui-datepicker#ui-datepicker-div .ui-state-default,
7119div.ui-datepicker#ui-datepicker-div .ui-widget-content .ui-state-default,
7120div.ui-datepicker#ui-datepicker-div .ui-widget-header .ui-state-default {
7121  border-radius: 8px;
7122  border: none;
7123  background-color: rgba(0, 0, 0, 0.02);
7124  text-align: center;
7125  display: inline-flex;
7126  justify-content: center;
7127  align-items: center;
7128  width: 90%;
7129  font-size: 1em;
7130  transition: 0.3s ease-out;
7131  border: 1px solid #eee;
7132}
7133div.ui-datepicker#ui-datepicker-div .ui-state-focus,
7134div.ui-datepicker#ui-datepicker-div .ui-state-hover,
7135div.ui-datepicker#ui-datepicker-div .ui-widget-content .ui-state-focus,
7136div.ui-datepicker#ui-datepicker-div .ui-widget-content .ui-state-hover,
7137div.ui-datepicker#ui-datepicker-div .ui-widget-header .ui-state-focus,
7138div.ui-datepicker#ui-datepicker-div .ui-widget-header .ui-state-hover {
7139  background: white;
7140  border: 1px solid #000 !important;
7141}
7142div.ui-datepicker#ui-datepicker-div .ui-state-active,
7143div.ui-datepicker#ui-datepicker-div .ui-widget-content .ui-state-active,
7144div.ui-datepicker#ui-datepicker-div .ui-widget-header .ui-state-active,
7145div.ui-datepicker#ui-datepicker-div .ui-state-highlight,
7146div.ui-datepicker#ui-datepicker-div .ui-widget-content .ui-state-highlight,
7147div.ui-datepicker#ui-datepicker-div .ui-widget-header .ui-state-highlight {
7148  background: #000;
7149  color: white;
7150}
7151div.ui-datepicker#ui-datepicker-div td {
7152  text-align: center;
7153}
7154
7155.px-mk-searchloader {
7156  animation: spinStep steps(1) 1s infinite;
7157  height: 1em;
7158  width: 1em;
7159  transform-origin: top;
7160}
7161
7162.neo_m_buscador .neo_marketplace_buscador_v3 {
7163  padding: 30px 20px;
7164  justify-content: center;
7165  align-items: center;
7166}
7167
7168@keyframes spinStep {
7169  0% {
7170    transform: translatey(-50%);
7171  }
7172  12.5% {
7173    transform: rotate(45deg) translatey(-50%);
7174  }
7175  25% {
7176    transform: rotate(90deg) translatey(-50%);
7177  }
7178  37.5% {
7179    transform: rotate(135deg) translatey(-50%);
7180  }
7181  50% {
7182    transform: rotate(180deg) translatey(-50%);
7183  }
7184  62.5% {
7185    transform: rotate(225deg) translatey(-50%);
7186  }
7187  75% {
7188    transform: rotate(270deg) translatey(-50%);
7189  }
7190  87.5% {
7191    transform: rotate(315deg) translatey(-50%);
7192  }
7193  100% {
7194    transform: rotate(360deg) translatey(-50%);
7195  }
7196}
7197.px-sm-searchbtn {
7198  height: 100%;
7199  box-sizing: border-box;
7200  display: flex;
7201  text-align: left;
7202  align-items: flex-start;
7203  justify-content: center;
7204  text-transform: uppercase;
7205  font-size: 1em;
7206  letter-spacing: 1px;
7207  line-height: 1;
7208  background-color: #000;
7209  color: white;
7210  cursor: pointer;
7211  transition: 0.3s ease-out;
7212  border: none;
7213  width: 11em;
7214  padding: 1em 4em 1em 1em;
7215  flex: 1;
7216}
7217.px-sm-searchbtn .px-mk-inputicon svg {
7218  height: 1em;
7219  width: 1em;
7220  fill: white !important;
7221}
7222.px-sm-searchbtn:hover {
7223  background-color: #a37a00;
7224}
7225
7226.ModuloWrap_marketplace_list {
7227  width: 100%;
7228}
7229
7230.buscar_lp:not(.px-mk-buscador-vertical) .PartyTypeSimulator {
7231  height: 100%;
7232}
7233
7234.buscar_lp.px-mk-buscador-vertical {
7235  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.08);
7236  border-radius: 2px;
7237  padding: 0;
7238  margin: 3px;
7239  height: auto;
7240  width: auto;
7241}
7242.buscar_lp.px-mk-buscador-vertical .px-mk-searchform {
7243  transition: 1s cubic-bezier(0.17, 0.84, 0.44, 1);
7244  height: auto;
7245  width: 100%;
7246  flex-wrap: wrap;
7247}
7248.buscar_lp.px-mk-buscador-vertical .px-mk-searchform > * {
7249  width: 100%;
7250  height: 4.5em;
7251}
7252.buscar_lp.px-mk-buscador-vertical .px-mk-searchform .wrap_PartyTypeSimulator {
7253  height: auto;
7254  min-height: 4.5em;
7255  width: 50%;
7256  box-sizing: border-box;
7257}
7258.buscar_lp.px-mk-buscador-vertical .px-mk-searchform .wrap_PartyTypeSimulator .SelectorInitial {
7259  min-height: 4.5em;
7260  padding: 0.6em 1em;
7261}
7262.buscar_lp.px-mk-buscador-vertical .px-mk-searchform .wrap_PartyTypeSimulator .PartyTypeSimulatorSelect,
7263.buscar_lp.px-mk-buscador-vertical .px-mk-searchform .wrap_PartyTypeSimulator #MultiplePartySelect {
7264  position: static;
7265  background: rgba(248, 248, 248, 0.9725490196);
7266}
7267.buscar_lp.px-mk-buscador-vertical .px-sm-inputcontainer {
7268  border-bottom: 1px solid #ccc;
7269  border-right: none;
7270  max-width: none;
7271  width: 100%;
7272}
7273.buscar_lp.px-mk-buscador-vertical .px-sm-inputcontainer.fechas_ancho_entrada, .buscar_lp.px-mk-buscador-vertical .px-sm-inputcontainer.fechas_ancho_salida {
7274  width: 100%;
7275  box-sizing: border-box;
7276  margin: 0px;
7277}
7278.buscar_lp.px-mk-buscador-vertical .px-sm-inputcontainer.fechas_ancho_salida {
7279  border-left: 1px solid #ccc;
7280}
7281.buscar_lp.px-mk-buscador-vertical .px-sm-inputcontainer.px-mk-productidhidden {
7282  height: 0px;
7283  width: 100%;
7284}
7285.buscar_lp.px-mk-buscador-vertical .px-sm-inputcontainer input,
7286.buscar_lp.px-mk-buscador-vertical .px-sm-inputcontainer select,
7287.buscar_lp.px-mk-buscador-vertical .px-sm-inputcontainer textarea {
7288  max-width: 100%;
7289}
7290
7291.px-mk-filter-disabled {
7292  pointer-events: none !important;
7293  opacity: 0.5 !important;
7294}
7295
7296.px-mk-buscador-vertical.px-mk-searchform .px-sm-inputcontainer:last-child,
7297.px-mk-buscador-vertical .px-sm-inputcontainer:last-child {
7298  border-bottom: none;
7299  border-right: none;
7300}
7301
7302.px-mk-hidesearchform {
7303  opacity: 0;
7304  pointer-events: none;
7305  max-height: 0px;
7306  overflow: hidden;
7307}
7308
7309.ignoreclick {
7310  pointer-events: none;
7311}
7312
7313.px-sm-searchbtn > i {
7314  font-size: 20px;
7315  position: relative;
7316  left: 0;
7317  top: -1px;
7318  margin-right: 20px;
7319  margin-left: -10px;
7320}
7321
7322.btn-searching span {
7323  opacity: 0;
7324  max-width: 0px;
7325  overflow: hidden;
7326  transition: 0.3s ease-out;
7327}
7328
7329#ProductID option {
7330  text-transform: none;
7331}
7332
7333#ProductID option[value=everyproduct] {
7334  font-weight: 600;
7335}
7336
7337#ProductID option[value=""][disabled] {
7338  background-color: #eee;
7339  color: #555;
7340}
7341
7342.px-mk-disabled-temp {
7343  background-color: #eee;
7344  cursor: not-allowed;
7345  pointer-events: none;
7346  color: #bbb;
7347}
7348
7349.px-mk-productid.px-sm-inputcontainer.px-mk-productidhidden {
7350  opacity: 0;
7351  max-width: 0px;
7352  pointer-events: none;
7353  padding: 0px;
7354  margin: 0px;
7355  border: none;
7356}
7357
7358.px-mk-productid.px-sm-inputcontainer {
7359  max-width: 300px;
7360  transition: 0.3s ease;
7361  overflow: hidden;
7362}
7363
7364.px-mk-locationdropdown {
7365  position: absolute;
7366  top: calc(100% + 0.1em);
7367  left: 0;
7368  padding: 0;
7369  line-height: 1.2;
7370  background: white;
7371  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.08);
7372  z-index: 999;
7373  border-radius: 0 0 4px 4px;
7374  max-height: 50vh;
7375  overflow: auto;
7376  transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
7377  opacity: 0;
7378  pointer-events: none;
7379  transform: translateY(-1em);
7380  width: 100%;
7381}
7382.px-mk-locationdropdown.activeAC {
7383  transform: none;
7384  pointer-events: initial;
7385  opacity: 1;
7386}
7387.px-mk-locationdropdown > * {
7388  padding: 1.2em 1.5em;
7389  white-space: nowrap;
7390  max-width: 400px;
7391  overflow: hidden;
7392  text-overflow: ellipsis;
7393  width: 100%;
7394  cursor: pointer;
7395  display: flex;
7396  align-items: center;
7397  justify-content: flex-start;
7398  box-sizing: border-box;
7399}
7400.px-mk-locationdropdown > *.suggestion_hover {
7401  background-color: #f2f2f2;
7402}
7403.px-mk-locationdropdown > *:hover {
7404  background-color: #f2f2f2;
7405}
7406.px-mk-locationdropdown > *:hover .px-mk-locationimg {
7407  fill: goldenrod;
7408}
7409.px-mk-locationdropdown > * .px-mk-locationtxt {
7410  width: 100%;
7411  overflow: hidden;
7412  text-overflow: ellipsis;
7413}
7414.px-mk-locationdropdown > * .px-mk-locationimg {
7415  height: 1.1em;
7416  width: 1.1em;
7417  margin-right: 0.6em;
7418  flex-shrink: 0;
7419  fill: #aaa;
7420  margin-right: 0.8em;
7421}
7422.px-mk-locationdropdown > * .px-mk-locationimg svg {
7423  height: 100%;
7424  width: 100%;
7425  -o-object-fit: contain;
7426     object-fit: contain;
7427}
7428
7429.px-mk-locationautocomplete {
7430  height: 100%;
7431  width: 100%;
7432  box-sizing: border-box;
7433  padding-right: 2em;
7434}
7435.px-mk-locationautocomplete input {
7436  height: 100%;
7437  padding: 0em 1em;
7438  width: 100%;
7439}
7440
7441.ui-datepicker {
7442  font-size: 16px !important;
7443  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.2);
7444  width: auto;
7445  border-radius: 0px !important;
7446  padding: 5px !important;
7447  width: auto !important;
7448  box-sizing: border-box;
7449}
7450
7451.ui-datepicker td {
7452  margin: 0px !important;
7453  padding: 0px;
7454}
7455
7456.ui-datepicker td > * {
7457  height: 40px;
7458  width: 40px !important;
7459  border-radius: 0px !important;
7460  border: 1px solid transparent !important;
7461  box-sizing: border-box;
7462}
7463
7464.ui-datepicker table {
7465  margin: 0px !important;
7466}
7467
7468.neo_marketplace_buscador_v3 * {
7469  font-size: 13px !important;
7470}
7471
7472.neo_marketplace_buscador_v3 input, .neo_marketplace_buscador_v3 select {
7473  font-size: 16px !important;
7474}
7475
7476.neo_modules_cart_hotel_v2 .cart_top_hotel_v2 .PartyTypeSimulator {
7477  width: 100%;
7478}
7479
7480.neo_marketplace_buscador_v3 .PartyTypeSimulatorSelect {
7481  position: absolute;
7482  z-index: 999;
7483  top: 55px;
7484  left: 0px;
7485  padding: 5px;
7486  background: #fff;
7487  margin: 0px;
7488  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.15);
7489  padding: 20px 25px;
7490  line-height: 1.5;
7491  box-sizing: border-box;
7492  width: 300px;
7493  max-width: 100vw;
7494}
7495
7496.txtPartyGroup {
7497  white-space: nowrap;
7498  overflow: hidden;
7499  text-overflow: ellipsis;
7500  margin-right: auto;
7501  padding-right: 30px;
7502}
7503
7504input.neo_partyselector_quantity {
7505  padding: 15px 10px;
7506  font-size: 18px;
7507  text-align: center;
7508  border: none;
7509  background: transparent;
7510  width: 60px;
7511  -moz-appearance: textfield;
7512}
7513input.neo_partyselector_quantity::-webkit-outer-spin-button,
7514input.neo_partyselector_quantity::-webkit-inner-spin-button {
7515  -webkit-appearance: none;
7516  margin: 0;
7517}
7518input.neo_partyselector_quantity:focus {
7519  outline: none;
7520  background-color: rgba(0, 0, 0, 0.03);
7521  border-radius: 5px;
7522}
7523
7524.ChildrensAges {
7525  max-height: 180px;
7526  overflow-y: auto;
7527  overflow-x: hidden;
7528  padding-right: 5px;
7529}
7530.ChildrensAges::-webkit-scrollbar {
7531  width: 6px;
7532}
7533.ChildrensAges::-webkit-scrollbar-track {
7534  background: #f1f1f1;
7535  border-radius: 10px;
7536}
7537.ChildrensAges::-webkit-scrollbar-thumb {
7538  background: #888;
7539  border-radius: 10px;
7540}
7541.ChildrensAges::-webkit-scrollbar-thumb:hover {
7542  background: #555;
7543}
7544
7545@media only screen and (max-width: 650px) {
7546  .PartyTypeSimulatorContainer {
7547    height: auto !important;
7548  }
7549  .PartyTypeSimulatorContainer .PartyTypeSimulatorSelect {
7550    position: static !important;
7551    width: 100%;
7552  }
7553  .px-mk-locationdropdown {
7554    width: 100%;
7555    box-shadow: 0 4px 9px rgba(0, 0, 0, 0.5);
7556  }
7557  .neo_marketplace_buscador_v3 * {
7558    font-size: 15px !important;
7559  }
7560  .neo_marketplace_buscador_v3 input, .neo_marketplace_buscador_v3 select {
7561    font-size: 16px !important;
7562  }
7563  .neo_marketplace_buscador_v3 {
7564    width: 100%;
7565    display: flex;
7566  }
7567  .ui-datepicker {
7568    font-size: 19px !important;
7569    z-index: 1000 !important;
7570    width: calc(100vw - 30px) !important;
7571    left: 10px !important;
7572    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.5);
7573    padding: 10px !important;
7574    box-sizing: border-box;
7575  }
7576  
7577  /* Ajustes para el selector de party en mobile */
7578  .neo_marketplace_buscador_v3 .txtPartyGroup,
7579  .PartyTypeSimulator .txtPartyGroup,
7580  .SelectorInitial .txtPartyGroup {
7581    white-space: normal !important;
7582    overflow: visible !important;
7583    text-overflow: clip !important;
7584    padding-right: 10px !important;
7585    font-size: 10px !important;
7586    line-height: 1.4 !important;
7587    display: flex !important;
7588    flex-wrap: wrap !important;
7589    align-items: center !important;
7590    gap: 2px !important;
7591    max-width: calc(100% - 40px) !important;
7592  }
7593  
7594  .neo_marketplace_buscador_v3 .txtPartyGroup span,
7595  .PartyTypeSimulator .txtPartyGroup span,
7596  .SelectorInitial .txtPartyGroup span {
7597    white-space: nowrap !important;
7598    font-size: 15px !important;
7599  }
7600  
7601  .neo_marketplace_buscador_v3 .txtPartyGroup .mdi-circle-small,
7602  .PartyTypeSimulator .txtPartyGroup .mdi-circle-small,
7603  .SelectorInitial .txtPartyGroup .mdi-circle-small {
7604    font-size: 12px !important;
7605    margin: 0 -3px !important;
7606  }
7607  
7608  .neo_marketplace_buscador_v3 .SelectorInitial,
7609  .PartyTypeSimulator .SelectorInitial {
7610    min-height: 55px !important;
7611    padding: 8px 40px 8px 10px !important;
7612    display: flex !important;
7613    align-items: center !important;
7614  }
7615  
7616  .neo_marketplace_buscador_v3 .PartyTypeSimulatorContainer,
7617  .PartyTypeSimulatorContainer {
7618    overflow: visible !important;
7619  }
7620  
7621  .px-mk-buscador-container {
7622    font-size: 16px;
7623  }
7624  .px-mk-buscador-container select,
7625  .px-mk-buscador-container textarea,
7626  .px-mk-buscador-container input[type=text],
7627  .px-mk-buscador-container input[type=password],
7628  .px-mk-buscador-container input[type=datetime],
7629  .px-mk-buscador-container input[type=datetime-local],
7630  .px-mk-buscador-container input[type=date],
7631  .px-mk-buscador-container input[type=month],
7632  .px-mk-buscador-container input[type=time],
7633  .px-mk-buscador-container input[type=week],
7634  .px-mk-buscador-container input[type=number],
7635  .px-mk-buscador-container input[type=email],
7636  .px-mk-buscador-container input[type=url],
7637  .px-mk-buscador-container input[type=search],
7638  .px-mk-buscador-container input[type=tel],
7639  .px-mk-buscador-container input[type=color] {
7640    font-size: 1em;
7641  }
7642}/*# sourceMappingURL=css.css.map */</style>
7643<script>
7644	(function() {
7645		function run() {
7646			try {
7647				var span = document.querySelector('#PxMkAcion_Search .update-search-span');
7648				var btn = document.getElementById('PxMkAcion_Search');
7649				if (!span) return;
7650
7651				var themeHex = '#006633';
7652
7653				function parseHex(hex) {
7654					if (!hex) return null;
7655					hex = String(hex).trim();
7656					if (hex.startsWith('#')) hex = hex.slice(1);
7657					if (hex.length === 3) {
7658						hex = hex.split('').map(function(ch) {
7659							return ch + ch;
7660						}).join('');
7661					}
7662					if (hex.length !== 6) return null;
7663					var r = parseInt(hex.slice(0, 2), 16);
7664					var g = parseInt(hex.slice(2, 4), 16);
7665					var b = parseInt(hex.slice(4, 6), 16);
7666					if ([r, g, b].some(function(v) {
7667							return isNaN(v);
7668						})) return null;
7669					return {
7670						r: r,
7671						g: g,
7672						b: b
7673					};
7674				}
7675
7676				function relL(rgb) {
7677					function toLin(c) {
7678						c = c / 255;
7679						return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
7680					}
7681					var R = toLin(rgb.r),
7682						G = toLin(rgb.g),
7683						B = toLin(rgb.b);
7684					return 0.2126 * R + 0.7152 * G + 0.0722 * B;
7685				}
7686
7687				function contrast(L1, L2) {
7688					var a = Math.max(L1, L2);
7689					var b = Math.min(L1, L2);
7690					return (a + 0.05) / (b + 0.05);
7691				}
7692
7693				var rgb = parseHex(themeHex);
7694				if (!rgb) {
7695					if (btn) {
7696						var bg = window.getComputedStyle(btn).backgroundColor; // rgb(a)
7697						var m = bg && bg.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i);
7698						if (m) {
7699							rgb = {
7700								r: parseInt(m[1], 10),
7701								g: parseInt(m[2], 10),
7702								b: parseInt(m[3], 10)
7703							};
7704						}
7705					}
7706				}
7707				if (!rgb) return;
7708
7709				var Lbg = relL(rgb);
7710				var Lwhite = relL({
7711					r: 255,
7712					g: 255,
7713					b: 255
7714				});
7715				var Lblack = relL({
7716					r: 0,
7717					g: 0,
7718					b: 0
7719				});
7720				var cWhite = contrast(Lbg, Lwhite);
7721				var cBlack = contrast(Lbg, Lblack);
7722
7723				var textColor = cBlack >= cWhite ? '#000000' : '#FFFFFF';
7724				span.style.setProperty('color', textColor, 'important');
7725				if (btn) {
7726					btn.style.setProperty('color', textColor, 'important');
7727
7728					// Recolor inline SVG icons (search and loading) to match the contrast color
7729					function paintInlineSVG(container, color) {
7730						try {
7731							var svgs = container.querySelectorAll('svg');
7732							svgs.forEach(function(svg) {
7733								// Support SVGs that use currentColor
7734								svg.style.setProperty('color', color, 'important');
7735								svg.setAttribute('color', color);
7736								// Force fill/stroke via style to override inline attrs
7737								svg.style.setProperty('fill', color, 'important');
7738								svg.style.setProperty('stroke', color, 'important');
7739								// Update common shape elements
7740								svg.querySelectorAll('path, circle, rect, polygon, line, polyline, ellipse, g').forEach(function(node) {
7741									node.style.setProperty('fill', color, 'important');
7742									node.style.setProperty('stroke', color, 'important');
7743								});
7744								// Also override attributes for stubborn icons
7745								svg.querySelectorAll('[fill]').forEach(function(node) {
7746									node.setAttribute('fill', color);
7747								});
7748								svg.querySelectorAll('[stroke]').forEach(function(node) {
7749									node.setAttribute('stroke', color);
7750								});
7751							});
7752						} catch (e) {
7753							/* ignore */
7754						}
7755					}
7756
7757					var iconLabel = btn.querySelector('.px-mk-searchicon');
7758					var loaderLabel = btn.querySelector('.px-mk-searchloader');
7759					if (iconLabel) paintInlineSVG(iconLabel, textColor);
7760					if (loaderLabel) paintInlineSVG(loaderLabel, textColor);
7761				}
7762			} catch (e) {
7763				/* ignore */
7764			}
7765		}
7766
7767		if (document.readyState === 'loading') {
7768			document.addEventListener('DOMContentLoaded', run);
7769		} else {
7770			run();
7771		}
7772	})();
7773</script>
7773
7774	
7774<script>
7775		if (localStorage.getItem('tradename')) {
7776			localStorage.removeItem('tradename');
7777		}
7778	</script>
7778
7779
7780<!-- Scripts para el mapa -->
7781<script src="https://unpkg.com/[email protected]/dist/leaflet.js" integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==" crossorigin=""></script>
vendor: 1 bytes, line 7781
7781
7782<script>
7783	(function() {
7784		// Desactivar logs dentro de este módulo (solo en este scope)
7785		var console = {
7786			log: function() {},
7787			warn: function() {},
7788			error: function() {}
7789		};
7790		// Variables para el mapa
7791		let map;
7792		let marker;
7793		let selectedLat = 0;
7794		let selectedLng = 0;
7795		let radiusCircle; // Variable para el círculo del radio
7796		const defaultZoom = 13;
7797		// Coordenadas por defecto: Mendoza, Argentina
7798		const DEFAULT_LAT = -32.889458;
7799		const DEFAULT_LNG = -68.845839;
7800		const DEFAULT_RADIUS = 50000; // 50km en metros
7801
7802		// Elementos del DOM
7803		const mapModal = document.getElementById('map-modal');
7804		const mapBtn = document.getElementById('map-search-btn');
7805		const closeBtn = document.querySelector('.map-close');
7806		const confirmBtn = document.getElementById('confirm-location');
7807		const enableLocationGuideBtn = document.getElementById('enable-location-guide');
7808		const centerLocationBtn = document.getElementById('center-location');
7809		const locationPermissionsGuide = document.getElementById('location-permissions-guide');
7810		const browserGuideContent = document.getElementById('browser-guide-content');
7811		const closeGuideBtn = document.getElementById('close-guide');
7812		const latitudeInput = document.getElementById('webroot_latitude');
7813		const longitudeInput = document.getElementById('webroot_longitude');
7814		const radiusInput = document.getElementById('webroot_distance_radius');
7815		const locationInput = document.getElementById('webroot_location_search');
7816		const locationGoogleSearch = document.getElementById('location_google_search');
7817
7818		// Variables para rastrear estado de permisos
7819		let locationPermissionsDenied = false;
7820		let locationPermissionsEnabled = false;
7821
7822		// Función para detectar el navegador
7823		function detectBrowser() {
7824			const userAgent = navigator.userAgent.toLowerCase();
7825			if (userAgent.includes('chrome') && !userAgent.includes('edg')) return 'chrome';
7826			if (userAgent.includes('firefox')) return 'firefox';
7827			if (userAgent.includes('safari') && !userAgent.includes('chrome')) return 'safari';
7828			if (userAgent.includes('edg')) return 'edge';
7829			return 'chrome';
7830		}
7831
7832		// Función para obtener el contenido de la guía según el navegador
7833		function getBrowserGuideContent(browser) {
7834			const guides = {
7835				chrome: {
7836					title: 'Google Chrome',
7837					steps: [
7838						'Haz clic en el icono de candado en la barra de direcciones',
7839						'Selecciona "Configuración del sitio" o "Permisos"',
7840						'Cambia "Ubicación" de "Bloquear" a "Permitir"',
7841						'Recarga la página'
7842					],
7843					link: 'https://support.google.com/chrome/answer/142065'
7844				},
7845				firefox: {
7846					title: 'Mozilla Firefox',
7847					steps: [
7848						'Haz clic en el icono de escudo en la barra de direcciones',
7849						'Selecciona "Configuración mejorada de seguimiento"',
7850						'Habilita los permisos de ubicación para este sitio',
7851						'Recarga la página'
7852					],
7853					link: 'https://support.mozilla.org/es/kb/compartir-ubicacion-con-sitios-web'
7854				},
7855				safari: {
7856					title: 'Safari',
7857					steps: [
7858						'Ve a Safari > Preferencias > Sitios web',
7859						'Selecciona "Ubicación" en la barra lateral',
7860						'Encuentra este sitio y cambia a "Permitir"',
7861						'Recarga la página'
7862					],
7863					link: 'https://support.apple.com/es-es/guide/safari/ibrw1056/mac'
7864				},
7865				edge: {
7866					title: 'Microsoft Edge',
7867					steps: [
7868						'Haz clic en el icono de candado en la barra de direcciones',
7869						'Selecciona "Permisos para este sitio"',
7870						'Cambia "Ubicación" a "Permitir"',
7871						'Recarga la página'
7872					],
7873					link: 'https://support.microsoft.com/es-es/microsoft-edge/ubicaci%C3%B3n-y-privacidad-en-microsoft-edge-31b5d9e7-bb24-43a0-8b0e-d9f4b38f6cf5'
7874				}
7875			};
7876			return guides[browser] || guides.chrome;
7877		}
7878
7879		// Función para mostrar la guía de permisos
7880		function showLocationPermissionsGuide() {
7881			const browser = detectBrowser();
7882			const guide = getBrowserGuideContent(browser);
7883
7884			let content = `
7885				<div style="margin: 10px 0; padding: 15px; background: white; border-radius: 6px; border: 1px solid #e5e7eb;">
7886					<h5 style="margin: 0 0 8px 0; color: #374151; font-size: 16px; font-weight: 600;">Instrucciones para ${guide.title}</h5>
7887					<p style="margin: 0 0 12px 0; color: #6b7280; font-size: 13px;">Sigue estos pasos para habilitar los permisos:</p>
7888					<ol style="margin: 8px 0 8px 20px; padding: 0;">
7889			`;
7890
7891			guide.steps.forEach(step => {
7892				content += `<li style="margin: 6px 0; font-size: 14px; color: #4b5563;">${step}</li>`;
7893			});
7894
7895			content += `
7896					</ol>
7897					<a href="${guide.link}" target="_blank" style="display: inline-block; margin-top: 10px; color: #3b82f6; text-decoration: none; font-size: 13px;">
7898						Ver guía oficial de ${guide.title} ↗
7899					</a>
7900				</div>
7901			`;
7902
7903			if (browserGuideContent) {
7904				browserGuideContent.innerHTML = content;
7905			}
7906
7907			if (locationPermissionsGuide) {
7908				locationPermissionsGuide.style.display = 'block';
7909			}
7910		}
7911
7912		// Función para ocultar la guía de permisos
7913		function hideLocationPermissionsGuide() {
7914			if (locationPermissionsGuide) {
7915				locationPermissionsGuide.style.display = 'none';
7916			}
7917		}
7918
7919		// Función para centrar el mapa en la ubicación actual
7920		function centerMapOnCurrentLocation() {
7921			if (!navigator.geolocation) {
7922				alert('Tu navegador no soporta geolocalización.');
7923				return;
7924			}
7925
7926			// Mostrar loader en el botón centrar
7927			if (centerLocationBtn) {
7928				const loader = centerLocationBtn.querySelector('.center-btn-loader');
7929				const text = centerLocationBtn.querySelector('.center-btn-text');
7930				if (loader && text) {
7931					loader.style.display = 'inline-block';
7932					text.style.display = 'none';
7933				}
7934				centerLocationBtn.disabled = true;
7935			}
7936
7937			navigator.geolocation.getCurrentPosition(
7938				async function(position) {
7939						const lat = position.coords.latitude;
7940						const lng = position.coords.longitude;
7941
7942						// Centrar el mapa en la nueva ubicación
7943						if (map) {
7944							map.setView([lat, lng], defaultZoom);
7945
7946							// Remover marcador anterior si existe
7947							if (marker) {
7948								map.removeLayer(marker);
7949							}
7950
7951							// Añadir nuevo marcador
7952							marker = L.marker([lat, lng], {
7953								draggable: true
7954							}).addTo(map);
7955
7956							// Actualizar posición del círculo
7957							if (radiusCircle) {
7958								radiusCircle.setLatLng([lat, lng]);
7959							} else {
7960								// Si por alguna razón no existe, crearlo
7961								const radiusSelect = document.getElementById('radius-select');
7962								const currentRadius = radiusSelect ? parseInt(radiusSelect.value) : DEFAULT_RADIUS;
7963								radiusCircle = L.circle([lat, lng], {
7964									color: '#3388ff',
7965									fillColor: '#3388ff',
7966									fillOpacity: 0.2,
7967									radius: currentRadius
7968								}).addTo(map);
7969							}
7970
7971							// Actualizar coordenadas seleccionadas
7972							selectedLat = lat;
7973							selectedLng = lng;
7974
7975							// Obtener información de ubicación para el marcador
7976							try {
7977								const locationName = await getAddressFromCoordinates(lat, lng);
7978								if (locationName && !locationName.includes(lat.toString())) {
7979									marker.bindPopup(locationName).openPopup();
7980								}
7981							} catch (error) {
7982								console.log('⚠️ No se pudo obtener información de ubicación para el marcador');
7983							}
7984
7985							// Actualizar coordenadas al arrastrar el marcador
7986							marker.on('dragend', async function(e) {
7987								const position = marker.getLatLng();
7988								selectedLat = position.lat;
7989								selectedLng = position.lng;
7990
7991								// Actualizar posición del círculo
7992								if (radiusCircle) {
7993									radiusCircle.setLatLng(position);
7994								}
7995
7996								// Actualizar popup al arrastrar
7997								try {
7998									const newLocationName = await getAddressFromCoordinates(selectedLat, selectedLng);
7999									if (newLocationName && !newLocationName.includes(selectedLat.toString())) {
8000										marker.setPopupContent(newLocationName);
8001									}
8002								} catch (error) {
8003									console.log('⚠️ No se pudo actualizar información al arrastrar');
8004								}
8005							});
8006
8007							// Actualizar coordenadas al arrastrar el marcador
8008							marker.on('dragend', async function(e) {
8009								const position = marker.getLatLng();
8010								selectedLat = position.lat;
8011								selectedLng = position.lng;
8012
8013								// Actualizar popup al arrastrar
8014								try {
8015									const newLocationName = await getAddressFromCoordinates(selectedLat, selectedLng);
8016									if (newLocationName && !newLocationName.includes(selectedLat.toString())) {
8017										marker.setPopupContent(newLocationName);
8018									}
8019								} catch (error) {
8020									console.log('⚠️ No se pudo actualizar información al arrastrar');
8021								}
8022							});
8023						}
8024
8025						// Ocultar loader del botón
8026						if (centerLocationBtn) {
8027							const loader = centerLocationBtn.querySelector('.center-btn-loader');
8028							const text = centerLocationBtn.querySelector('.center-btn-text');
8029							if (loader && text) {
8030								loader.style.display = 'none';
8031								text.style.display = 'inline-block';
8032							}
8033							centerLocationBtn.disabled = false;
8034						}
8035					},
8036					function(error) {
8037						console.log('Error al obtener ubicación actual:', error);
8038						alert('No se pudo obtener tu ubicación actual. Verifica que los permisos estén habilitados.');
8039
8040						// Ocultar loader del botón
8041						if (centerLocationBtn) {
8042							const loader = centerLocationBtn.querySelector('.center-btn-loader');
8043							const text = centerLocationBtn.querySelector('.center-btn-text');
8044							if (loader && text) {
8045								loader.style.display = 'none';
8046								text.style.display = 'inline-block';
8047							}
8048							centerLocationBtn.disabled = false;
8049						}
8050					}
8051			);
8052		}
8053
8054		console.log('Botón de mapa:', mapBtn); // Debug para verificar que el botón existe
8055
8056		// Asegurar que el modal existe en el DOM
8057		if (!mapModal) {
8058			console.error('Modal de mapa no encontrado en el DOM');
8059			// Añadir el modal al final del body si no existe
8060			const modalHTML = `
8061				<div id="map-modal" class="map-modal">
8062					<div class="map-modal-content">
8063						<span class="map-close">&times;</span>
8064						<h3>Selecciona una ubicación en el mapa</h3>
8065						<div id="map-container"></div>
8066						<div class="map-footer">
8067							<div class="map-footer-controls">
8068								<button id="center-location" style="display: none; padding: 6px 12px; color: white; background-color: #10b981; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; margin-right: 10px;">
8069									<span class="center-btn-loader" style="display: none; width: 12px; height: 12px; border: 2px solid rgba(255, 255, 255, 0.3); border-radius: 50%; border-top-color: white; animation: spin 1s ease-in-out infinite; margin-right: 6px;"></span>
8070									<span class="center-btn-text">Localizarme</span>
8071								</button>
8072								<div class="radius-selector">
8073									<label for="radius-select" style="margin-right: 5px; font-weight: bold;">Radio:</label>
8074									<select id="radius-select" style="padding: 8px; border-radius: 4px; border: 1px solid #ccc;">
8075										<option value="10000">10 km</option>
8076										<option value="30000">30 km</option>
8077										<option value="50000" selected>50 km</option>
8078										<option value="100000">100 km</option>
8079									</select>
8080								</div>
8081							</div>
8082							<button id="confirm-location" class="neo_bgcolor_primary">
8083								<span class="btn-loader"></span>
8084								<span class="btn-text">Buscar en esta zona</span>
8085							</button>
8086						</div>
8087					</div>
8088				</div>
8089			`;
8090			document.body.insertAdjacentHTML('beforeend', modalHTML);
8091		}
8092
8093		// Función para inicializar el mapa
8094		function initMap(lat, lng) {
8095			// Limpiar mapa existente de manera segura
8096			if (map) {
8097				try {
8098					map.remove();
8099				} catch (e) {
8100					console.log('Error al remover mapa:', e);
8101				}
8102				map = null;
8103			}
8104
8105			// Reset marker
8106			marker = null;
8107
8108			// Coordenadas por defecto (si no hay seleccionadas): Mendoza
8109			lat = (typeof lat === 'number' ? lat : null) ?? DEFAULT_LAT;
8110			lng = (typeof lng === 'number' ? lng : null) ?? DEFAULT_LNG;
8111
8112			// Crear mapa con un timeout para asegurar que el contenedor está visible
8113			setTimeout(() => {
8114				try {
8115					// Verificar que el contenedor principal existe
8116					const mapContainer = document.getElementById('map-container');
8117					if (!mapContainer) {
8118						console.error('Contenedor del mapa no encontrado');
8119						return;
8120					}
8121
8122					// Crear un nuevo contenedor para evitar el error de "already initialized"
8123					const mapId = 'map-instance-' + Date.now();
8124					mapContainer.innerHTML = `<div id="${mapId}" style="height: 100%; width: 100%;"></div>`;
8125
8126					// Crear el mapa en el nuevo contenedor
8127					map = L.map(mapId, {
8128						scrollWheelZoom: true
8129					}).setView([lat, lng], defaultZoom);
8130
8131					// Invalidar tamaño inmediatamente para asegurar renderizado correcto
8132					map.invalidateSize();
8133
8134					// Añadir capa de mapa base (OpenStreetMap)
8135					L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
8136						attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
8137					}).addTo(map);
8138
8139					// Añadir marcador SIEMPRE (incluido Mendoza por defecto) y preparar comportamiento
8140					marker = L.marker([lat, lng], {
8141						draggable: true
8142					}).addTo(map);
8143
8144					// Dibujar círculo de radio inicial
8145					const radiusSelect = document.getElementById('radius-select');
8146					const initialRadius = radiusSelect ? parseInt(radiusSelect.value) : DEFAULT_RADIUS;
8147
8148					radiusCircle = L.circle([lat, lng], {
8149						color: '#3388ff',
8150						fillColor: '#3388ff',
8151						fillOpacity: 0.2,
8152						radius: initialRadius
8153					}).addTo(map);
8154
8155					// Evento para actualizar el radio cuando cambia el select
8156					if (radiusSelect) {
8157						// Remover listeners anteriores para evitar duplicados
8158						const newRadiusSelect = radiusSelect.cloneNode(true);
8159						radiusSelect.parentNode.replaceChild(newRadiusSelect, radiusSelect);
8160
8161						newRadiusSelect.addEventListener('change', function() {
8162							const newRadius = parseInt(this.value);
8163							if (radiusCircle) {
8164								radiusCircle.setRadius(newRadius);
8165							}
8166						});
8167					}
8168
8169					// Obtener información de ubicación para el marcador inicial
8170					(async () => {
8171						try {
8172							const locationName = await getAddressFromCoordinates(lat, lng);
8173							if (locationName && !locationName.includes(lat.toString())) {
8174								marker.bindPopup(locationName);
8175								console.log('📍 Información inicial del marcador:', locationName);
8176							}
8177						} catch (error) {
8178							console.log('⚠️ No se pudo obtener información inicial del marcador');
8179						}
8180					})();
8181
8182					// Actualizar coordenadas al arrastrar el marcador
8183					marker.on('dragend', async function(e) {
8184						const position = marker.getLatLng();
8185						selectedLat = position.lat;
8186						selectedLng = position.lng;
8187
8188						// Actualizar posición del círculo
8189						if (radiusCircle) {
8190							radiusCircle.setLatLng(position);
8191						}
8192
8193						// Actualizar popup al arrastrar
8194						try {
8195							const newLocationName = await getAddressFromCoordinates(selectedLat, selectedLng);
8196							if (newLocationName && !newLocationName.includes(selectedLat.toString())) {
8197								marker.setPopupContent(newLocationName);
8198							}
8199						} catch (error) {
8200							console.log('⚠️ No se pudo actualizar información al arrastrar');
8201						}
8202					});
8203
8204					selectedLat = lat;
8205					selectedLng = lng;
8206
8207					// Añadir evento de clic al mapa
8208					map.on('click', async function(e) {
8209						// Si ya existe un marcador, lo eliminamos
8210						if (marker) {
8211							map.removeLayer(marker);
8212						}
8213
8214						// Añadir nuevo marcador en la posición del clic
8215						marker = L.marker(e.latlng, {
8216							draggable: true
8217						}).addTo(map);
8218
8219						// Actualizar posición del círculo
8220						if (radiusCircle) {
8221							radiusCircle.setLatLng(e.latlng);
8222						} else {
8223							// Si por alguna razón no existe, crearlo
8224							const radiusSelect = document.getElementById('radius-select');
8225							const currentRadius = radiusSelect ? parseInt(radiusSelect.value) : DEFAULT_RADIUS;
8226							radiusCircle = L.circle(e.latlng, {
8227								color: '#3388ff',
8228								fillColor: '#3388ff',
8229								fillOpacity: 0.2,
8230								radius: currentRadius
8231							}).addTo(map);
8232						}
8233
8234						// Guardar coordenadas seleccionadas
8235						selectedLat = e.latlng.lat;
8236						selectedLng = e.latlng.lng;
8237
8238						// Intentar obtener y mostrar información de ubicación en el marcador
8239						try {
8240							const locationName = await getAddressFromCoordinates(selectedLat, selectedLng);
8241							if (locationName && !locationName.includes(selectedLat.toString())) {
8242								marker.bindPopup(locationName).openPopup();
8243								console.log('📍 Información del marcador establecida:', locationName);
8244							}
8245						} catch (error) {
8246							console.log('⚠️ No se pudo obtener información de ubicación para el marcador');
8247						}
8248
8249						// Actualizar coordenadas al arrastrar el marcador
8250						marker.on('dragend', async function(e) {
8251							const position = marker.getLatLng();
8252							selectedLat = position.lat;
8253							selectedLng = position.lng;
8254
8255							// Actualizar posición del círculo
8256							if (radiusCircle) {
8257								radiusCircle.setLatLng(position);
8258							}
8259
8260							// Actualizar popup al arrastrar
8261							try {
8262								const newLocationName = await getAddressFromCoordinates(selectedLat, selectedLng);
8263								if (newLocationName && !newLocationName.includes(selectedLat.toString())) {
8264									marker.setPopupContent(newLocationName);
8265								}
8266							} catch (error) {
8267								console.log('⚠️ No se pudo actualizar información al arrastrar');
8268							}
8269						});
8270					});
8271
8272					// Invalidar tamaño para asegurar que se renderiza correctamente
8273					setTimeout(() => {
8274						if (map) {
8275							map.invalidateSize();
8276						}
8277					}, 100);
8278					// Segundo intento para móviles lentos
8279					setTimeout(() => {
8280						if (map) {
8281							map.invalidateSize();
8282						}
8283					}, 500);
8284				} catch (e) {
8285					console.error('Error al inicializar el mapa:', e);
8286				}
8287			}, 500); // Aumentar timeout para dar más tiempo al modal
8288		}
8289
8290		// Evento clic en botón de mapa (consolidado en un único listener)
8291		if (mapBtn) {
8292			console.log('Asignando evento click al botón de mapa');
8293
8294			function openMapModalHandler(e) {
8295				console.log('Botón de mapa clickeado');
8296				e.preventDefault();
8297				e.stopPropagation();
8298				mapModal.style.display = 'flex';
8299
8300				// Resetear estado de permisos y ocultar elementos al abrir el modal
8301				locationPermissionsDenied = false;
8302				locationPermissionsEnabled = false;
8303				if (enableLocationGuideBtn) enableLocationGuideBtn.style.display = 'none';
8304				if (centerLocationBtn) centerLocationBtn.style.display = 'none';
8305				hideLocationPermissionsGuide();
8306
8307				// Si ya hay coordenadas guardadas, las usamos
8308				const currentLat = latitudeInput.value ? parseFloat(latitudeInput.value) : null;
8309				const currentLng = longitudeInput.value ? parseFloat(longitudeInput.value) : null;
8310
8311				if (currentLat && currentLng) {
8312					initMap(currentLat, currentLng);
8313				} else {
8314					// Inicializar inmediatamente con Mendoza para evitar mapa en blanco
8315					initMap(DEFAULT_LAT, DEFAULT_LNG);
8316
8317					// Mostrar botón de centrar si la geolocalización está disponible en el navegador
8318					if (navigator.geolocation) {
8319						if (centerLocationBtn) centerLocationBtn.style.display = 'inline-block';
8320					}
8321				}
8322				return false;
8323			}
8324
8325			// Agregar un único listener
8326			mapBtn.addEventListener('click', openMapModalHandler);
8327		} else {
8328			console.error('El botón de mapa no se encontró en el DOM');
8329		}
8330
8331		// Event listeners para los botones de la guía
8332		if (enableLocationGuideBtn) {
8333			enableLocationGuideBtn.addEventListener('click', function() {
8334				showLocationPermissionsGuide();
8335			});
8336		}
8337
8338		if (closeGuideBtn) {
8339			closeGuideBtn.addEventListener('click', function() {
8340				hideLocationPermissionsGuide();
8341			});
8342		}
8343
8344		// Event listener para el botón "Centrar"
8345		if (centerLocationBtn) {
8346			centerLocationBtn.addEventListener('click', function() {
8347				centerMapOnCurrentLocation();
8348			});
8349		}
8350
8351		// Cerrar modal
8352		if (closeBtn) {
8353			closeBtn.addEventListener('click', function() {
8354				mapModal.style.display = 'none';
8355				// Resetear estado al cerrar
8356				locationPermissionsDenied = false;
8357				locationPermissionsEnabled = false;
8358				if (enableLocationGuideBtn) enableLocationGuideBtn.style.display = 'none';
8359				if (centerLocationBtn) centerLocationBtn.style.display = 'none';
8360				hideLocationPermissionsGuide();
8361				// Limpiar mapa al cerrar
8362				if (map) {
8363					try {
8364						map.remove();
8365					} catch (e) {
8366						console.log('Error al limpiar mapa:', e);
8367					}
8368					map = null;
8369					marker = null;
8370				}
8371			});
8372		}
8373
8374		// Cerrar modal al hacer clic fuera del contenido
8375		window.addEventListener('click', function(event) {
8376			if (event.target === mapModal) {
8377				mapModal.style.display = 'none';
8378				// Resetear estado al cerrar
8379				locationPermissionsDenied = false;
8380				locationPermissionsEnabled = false;
8381				if (enableLocationGuideBtn) enableLocationGuideBtn.style.display = 'none';
8382				if (centerLocationBtn) centerLocationBtn.style.display = 'none';
8383				hideLocationPermissionsGuide();
8384				// Limpiar mapa al cerrar
8385				if (map) {
8386					try {
8387						map.remove();
8388					} catch (e) {
8389						console.log('Error al limpiar mapa:', e);
8390					}
8391					map = null;
8392					marker = null;
8393				}
8394			}
8395		});
8396
8397		// Confirmar ubicación seleccionada
8398		if (confirmBtn) {
8399			confirmBtn.addEventListener('click', async function() {
8400				if (selectedLat && selectedLng) {
8401					// Mostrar loader y deshabilitar botón
8402					confirmBtn.classList.add('loading');
8403					confirmBtn.disabled = true;
8404
8405					try {
8406						// Guardar coordenadas en los campos hidden
8407						latitudeInput.value = selectedLat;
8408						longitudeInput.value = selectedLng;
8409						const radiusSelect = document.getElementById('radius-select');
8410						radiusInput.value = radiusSelect ? radiusSelect.value : DEFAULT_RADIUS;
8411
8412						// Intentar obtener información del marcador primero
8413						let address = '';
8414
8415						// Verificar si el marcador tiene información de ubicación
8416						if (marker && marker.getPopup && marker.getPopup()) {
8417							const popupContent = marker.getPopup().getContent();
8418							if (popupContent && typeof popupContent === 'string' && popupContent.trim() !== '') {
8419								address = popupContent;
8420								console.log('📍 Usando información del marcador:', address);
8421							}
8422						}
8423
8424						// Si el mapa no proporcionó información, hacer reverse geocoding
8425						if (!address || address.includes('lat') || address.includes('lng')) {
8426							console.log('🗺️ Obteniendo dirección para coordenadas:', selectedLat, selectedLng);
8427							address = await getAddressFromCoordinates(selectedLat, selectedLng);
8428							console.log('🏙️ Dirección obtenida via geocoding:', address);
8429						}
8430
8431						locationInput.value = address;
8432
8433						// Si existe el campo visible de búsqueda, también lo actualizamos
8434						if (locationGoogleSearch) {
8435							console.log('📝 Actualizando campo visible con:', address);
8436							locationGoogleSearch.value = address;
8437						}
8438
8439						// Definimos el tipo de búsqueda
8440						const searchTypeInput = document.getElementById('SearchType');
8441						if (searchTypeInput) {
8442							searchTypeInput.value = 'lat_lng';
8443						}
8444
8445						// Pequeña pausa para mostrar que el proceso se completó
8446						await new Promise(resolve => setTimeout(resolve, 500));
8447
8448						// Cerrar el modal
8449						mapModal.style.display = 'none';
8450
8451						// Limpiar mapa después de confirmar
8452						if (map) {
8453							try {
8454								map.remove();
8455							} catch (e) {
8456								console.log('Error al limpiar mapa después de confirmar:', e);
8457							}
8458							map = null;
8459							marker = null;
8460						}
8461					} catch (error) {
8462						console.error('Error al procesar la ubicación:', error);
8463						alert('Error al procesar la ubicación. Por favor, inténtelo de nuevo.');
8464					} finally {
8465						// Ocultar loader y rehabilitar botón
8466						confirmBtn.classList.remove('loading');
8467						confirmBtn.disabled = false;
8468					}
8469				} else {
8470					alert('Por favor, seleccione una ubicación en el mapa antes de confirmar.');
8471				}
8472			});
8473		}
8474
8475		// Función para obtener la dirección aproximada a partir de coordenadas
8476		async function getAddressFromCoordinates(lat, lng) {
8477			try {
8478				console.log('🌐 Solicitando dirección para:', lat, lng);
8479
8480				// Intentar con el servicio que ya está funcionando en el autocomplete
8481				const response = await fetch(`https://ipapi.co/${lat},${lng}/json/`);
8482
8483				if (!response.ok) {
8484					throw new Error(`HTTP ${response.status}`);
8485				}
8486
8487				const data = await response.json();
8488				console.log('📥 Respuesta de ipapi.co:', data);
8489
8490				if (data && !data.error) {
8491					let locationName = '';
8492
8493					// Extraer información útil en orden de preferencia
8494					if (data.city) {
8495						locationName = data.city;
8496					} else if (data.region) {
8497						locationName = data.region;
8498					}
8499
8500					// Agregar región/estado si existe y es diferente
8501					if (data.region && data.region !== locationName && locationName) {
8502						locationName += `, ${data.region}`;
8503					}
8504
8505					// Agregar país si existe
8506					if (data.country_name) {
8507						locationName += locationName ? `, ${data.country_name}` : data.country_name;
8508					}
8509
8510					const finalResult = locationName || `${lat.toFixed(4)}, ${lng.toFixed(4)}`;
8511					console.log('✅ Dirección procesada:', finalResult);
8512					return finalResult;
8513				} else {
8514					throw new Error('No data received or API error');
8515				}
8516			} catch (error) {
8517				console.warn('⚠️ Error con ipapi.co, intentando con método alternativo:', error);
8518
8519				// Fallback: usar reverse geocoding simplificado
8520				try {
8521					// Intentar con un servicio público que sí permite CORS
8522					const response = await fetch(`https://api.bigdatacloud.net/data/reverse-geocode-client?latitude=${lat}&longitude=${lng}&localityLanguage=es`);
8523					const data = await response.json();
8524					console.log('📥 Respuesta de BigDataCloud:', data);
8525
8526					if (data) {
8527						let locationName = '';
8528
8529						if (data.city) {
8530							locationName = data.city;
8531						} else if (data.locality) {
8532							locationName = data.locality;
8533						} else if (data.principalSubdivision) {
8534							locationName = data.principalSubdivision;
8535						}
8536
8537						// Agregar país
8538						if (data.countryName && locationName) {
8539							locationName += `, ${data.countryName}`;
8540						} else if (data.countryName) {
8541							locationName = data.countryName;
8542						}
8543
8544						const finalResult = locationName || `${lat.toFixed(4)}, ${lng.toFixed(4)}`;
8545						console.log('✅ Dirección obtenida con BigDataCloud:', finalResult);
8546						return finalResult;
8547					}
8548				} catch (secondError) {
8549					console.error('💥 Error con ambos servicios:', secondError);
8550				}
8551
8552				// Si todo falla, devolver coordenadas simplificadas
8553				const errorResult = `${lat.toFixed(4)}, ${lng.toFixed(4)}`;
8554				console.log('🎯 Usando coordenadas como último recurso:', errorResult);
8555				return errorResult;
8556			}
8557		}
8558
8559		// Mover el modal de mapa al final del body para evitar problemas de desbordamiento
8560		document.addEventListener("DOMContentLoaded", function() {
8561			if (mapModal && document.body) {
8562				document.body.appendChild(mapModal);
8563			}
8564		});
8565	})();
8566</script>
8566
8567
8568<!-- Script independiente para limpiar modal si no hay botón de mapa -->
8569<script>
8570	(function() {
8571		// Función robusta para limpiar el modal
8572		function cleanupMapModal() {
8573			try {
8574				// Verificar si existe el botón del mapa
8575				const mapBtn = document.getElementById('map-search-btn');
8576
8577				if (!mapBtn) {
8578					console.log('🗑️ Botón del mapa no encontrado - removiendo modal del mapa...');
8579					// Si no existe el botón, remover el modal del mapa
8580					const mapModal = document.getElementById('map-modal');
8581					if (mapModal) {
8582						mapModal.remove();
8583						console.log('✅ Modal del mapa removido correctamente');
8584						return true; // Indica que se completó la limpieza
8585					}
8586				} else {
8587					console.log('✅ Botón del mapa encontrado - modal del mapa disponible');
8588					return true; // Indica que se completó la verificación
8589				}
8590			} catch (error) {
8591				console.error('Error al limpiar modal del mapa:', error);
8592			}
8593			return false; // Indica que no se pudo completar
8594		}
8595
8596		// Estrategia 1: Ejecutar inmediatamente si el DOM ya está listo
8597		if (document.readyState === 'loading') {
8598			// El DOM aún se está cargando, usar múltiples eventos
8599			let cleaned = false;
8600
8601			// Función que se ejecuta una sola vez
8602			function tryCleanup() {
8603				if (!cleaned && cleanupMapModal()) {
8604					cleaned = true;
8605				}
8606			}
8607
8608			// Estrategia 2: Múltiples eventos para garantizar ejecución
8609			document.addEventListener('DOMContentLoaded', tryCleanup);
8610			document.addEventListener('readystatechange', function() {
8611				if (document.readyState === 'interactive' || document.readyState === 'complete') {
8612					tryCleanup();
8613				}
8614			});
8615			window.addEventListener('load', tryCleanup);
8616
8617			// Estrategia 3: Verificación periódica como respaldo
8618			let attempts = 0;
8619			const maxAttempts = 20; // Máximo 2 segundos
8620			const checkInterval = setInterval(function() {
8621				attempts++;
8622				if (cleaned || attempts >= maxAttempts) {
8623					clearInterval(checkInterval);
8624					return;
8625				}
8626
8627				// Verificar si el DOM está listo
8628				if (document.readyState === 'interactive' || document.readyState === 'complete') {
8629					if (cleanupMapModal()) {
8630						cleaned = true;
8631						clearInterval(checkInterval);
8632					}
8633				}
8634			}, 100);
8635
8636		} else {
8637			// El DOM ya está listo, ejecutar inmediatamente
8638			cleanupMapModal();
8639		}
8640	})();
8641</script>
vendor: 1 bytes, line 8641
8641
8642<script>
8643	(function() {
8644		function run() {
8645			try {
8646				var span = document.querySelector('#PxMkAcion_Search .update-search-span');
8647				var btn = document.getElementById('PxMkAcion_Search');
8648				if (!span) return;
8649
8650				var themeHex = '#006633';
8651
8652				function parseHex(hex) {
8653					if (!hex) return null;
8654					hex = String(hex).trim();
8655					if (hex.startsWith('#')) hex = hex.slice(1);
8656					if (hex.length === 3) {
8657						hex = hex.split('').map(function(ch) {
8658							return ch + ch;
8659						}).join('');
8660					}
8661					if (hex.length !== 6) return null;
8662					var r = parseInt(hex.slice(0, 2), 16);
8663					var g = parseInt(hex.slice(2, 4), 16);
8664					var b = parseInt(hex.slice(4, 6), 16);
8665					if ([r, g, b].some(function(v) {
8666							return isNaN(v);
8667						})) return null;
8668					return {
8669						r: r,
8670						g: g,
8671						b: b
8672					};
8673				}
8674
8675				function relL(rgb) {
8676					function toLin(c) {
8677						c = c / 255;
8678						return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
8679					}
8680					var R = toLin(rgb.r),
8681						G = toLin(rgb.g),
8682						B = toLin(rgb.b);
8683					return 0.2126 * R + 0.7152 * G + 0.0722 * B;
8684				}
8685
8686				function contrast(L1, L2) {
8687					var a = Math.max(L1, L2);
8688					var b = Math.min(L1, L2);
8689					return (a + 0.05) / (b + 0.05);
8690				}
8691
8692				var rgb = parseHex(themeHex);
8693				if (!rgb) {
8694					if (btn) {
8695						var bg = window.getComputedStyle(btn).backgroundColor; // rgb(a)
8696						var m = bg && bg.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i);
8697						if (m) {
8698							rgb = {
8699								r: parseInt(m[1], 10),
8700								g: parseInt(m[2], 10),
8701								b: parseInt(m[3], 10)
8702							};
8703						}
8704					}
8705				}
8706				if (!rgb) return;
8707
8708				var Lbg = relL(rgb);
8709				var Lwhite = relL({
8710					r: 255,
8711					g: 255,
8712					b: 255
8713				});
8714				var Lblack = relL({
8715					r: 0,
8716					g: 0,
8717					b: 0
8718				});
8719				var cWhite = contrast(Lbg, Lwhite);
8720				var cBlack = contrast(Lbg, Lblack);
8721
8722				var textColor = cBlack >= cWhite ? '#000000' : '#FFFFFF';
8723				span.style.setProperty('color', textColor, 'important');
8724				if (btn) {
8725					btn.style.setProperty('color', textColor, 'important');
8726
8727					// Recolor inline SVG icons (search and loading) to match contrast color
8728					function paintInlineSVG(container, color) {
8729						try {
8730							var svgs = container.querySelectorAll('svg');
8731							svgs.forEach(function(svg) {
8732								// Support SVGs that use currentColor
8733								svg.style.setProperty('color', color, 'important');
8734								svg.setAttribute('color', color);
8735								// Force fill/stroke
8736								svg.style.setProperty('fill', color, 'important');
8737								svg.style.setProperty('stroke', color, 'important');
8738								// Update common shape elements
8739								svg.querySelectorAll('path, circle, rect, polygon, line, polyline, ellipse, g').forEach(function(node) {
8740									node.style.setProperty('fill', color, 'important');
8741									node.style.setProperty('stroke', color, 'important');
8742								});
8743
8744								// Override attributes if they exist
8745								svg.querySelectorAll('[fill]').forEach(function(node) {
8746									node.setAttribute('fill', color);
8747								});
8748								svg.querySelectorAll('[stroke]').forEach(function(node) {
8749									node.setAttribute('stroke', color);
8750								});
8751							});
8752						} catch (e) {
8753							/* ignore */
8754						}
8755					}
8756
8757					var iconLabel = btn.querySelector('.px-mk-searchicon');
8758					var loaderLabel = btn.querySelector('.px-mk-searchloader');
8759					if (iconLabel) paintInlineSVG(iconLabel, textColor);
8760					if (loaderLabel) paintInlineSVG(loaderLabel, textColor);
8761				}
8762			} catch (e) {
8763				/* ignore */
8764			}
8765		}
8766
8767		if (document.readyState === 'loading') {
8768			document.addEventListener('DOMContentLoaded', run);
8769		} else {
8770			run();
8771		}
8772	})();
8773</script>
8773			  </div>
8774			  </div></div></div> 
8775
8776
8777<div id='Overlay'  class="hidden"   onclick='activeSearch()'></div> 
8778
8779</div>
8780
8781</div>
8782		<div class="main_wraper_content" id="main_wraper_content">
8783			
8784
8785<div class="neo_template_container neo_template_ computer">
8786
8787
8788<div  class="content-bg-color"  ><div  class="bg-color top"  ></div><div  class="bg-color bottom"  ></div></div> 
8789
8790
8791<div  class="content-background"  ><div  class="background"  ></div><div  class='container-neo-slider'  Slide='HomePage' Width='1900' Height='1000' Loop='true' Effect='Fade'>
8792			  <div class="neo_template_block neo_neo_swiper pxModule_include ModuloWrap_neo_swiper" id="neo_swiper" >
8793			  
8794
8795<!-- Module Start -->
8796
8797<div class="megacontainer-neo-swiper">
8798    <div class="swiper-container-2673"> <!-- le asignamos el numero random al contenedor -->
8799     
8800            <div class="swiper-wrapper">
8801                                                <div class="swiper-slide">
8802                                    <img data-src="https://images-new.pxsol.com/S4j9OtnZ1WBumK4urVy3IhXD2Jknp9SB8v53S_1G8_k/rs:fill:1900:1000:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2F6c4bba5f60029f5743083774fcdd2e201f5568ec.jpg@jpg" class="swiper-lazy" 
8803                                         width="1900" 
8804                                         height="1000" 
8805                                         style="aspect-ratio: 1900/1000;"
8806                                         alt="Sarmiento Palace Hotel">
8807                                    <div class="swiper-lazy-preloader"></div>
8808                                                                    </div>	
8809                                                            <div class="swiper-slide">
8810                                    <img data-src="https://images-new.pxsol.com/BHhVWfWUkLCAQ1ZqnFEIxIc7EiR92iviDkhcUncbsSs/rs:fill:1900:1000:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2F606be7c8913f6cd9b1dc99058b06b1da5bf3bf3c.jpg@jpg" class="swiper-lazy" 
8811                                         width="1900" 
8812                                         height="1000" 
8813                                         style="aspect-ratio: 1900/1000;"
8814                                         alt="Sarmiento Palace Hotel">
8815                                    <div class="swiper-lazy-preloader"></div>
8816                                                                    </div>	
8817                                                            <div class="swiper-slide">
8818                                    <img data-src="https://images-new.pxsol.com/MO-qgep9lQ9SbN7jBmRunk3q9zXPGYp2agB1HqOOSbQ/rs:fill:1900:1000:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2F3164340411bf775f5f1fbf12e8a45488fcebf896.jpg@jpg" class="swiper-lazy" 
8819                                         width="1900" 
8820                                         height="1000" 
8821                                         style="aspect-ratio: 1900/1000;"
8822                                         alt="Sarmiento Palace Hotel">
8823                                    <div class="swiper-lazy-preloader"></div>
8824                                                                    </div>	
8825                                                            <div class="swiper-slide">
8826                                    <img data-src="https://images-new.pxsol.com/uyKyzY3PV9PocedrwGTn_r6nzG2Dv55wYSzzOIjXP5U/rs:fill:1900:1000:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F26661643520f3221b03ce0902d17067f72b95c0fbd4.jpg@jpg" class="swiper-lazy" 
8827                                         width="1900" 
8828                                         height="1000" 
8829                                         style="aspect-ratio: 1900/1000;"
8830                                         alt="Sarmiento Palace Hotel">
8831                                    <div class="swiper-lazy-preloader"></div>
8832                                                                    </div>	
8833                                                            <div class="swiper-slide">
8834                                    <img data-src="https://images-new.pxsol.com/l4Br7Hzt6adnOKFTZM-ObFSRD-lJ2fiiKs6UgVxmJBE/rs:fill:1900:1000:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F233289414269f2c9a1fe4e4557cd5002f6104f39522.jpg@jpg" class="swiper-lazy" 
8835                                         width="1900" 
8836                                         height="1000" 
8837                                         style="aspect-ratio: 1900/1000;"
8838                                         alt="Sarmiento Palace Hotel">
8839                                    <div class="swiper-lazy-preloader"></div>
8840                                                                    </div>	
8841                                                            <div class="swiper-slide">
8842                                    <img data-src="https://images-new.pxsol.com/ydIP7p4EuDdp0x9fCJb0F-DzhQEgcwy1AHDK8fLPcSc/rs:fill:1900:1000:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F1166447172865572dfcf49ff4f0566c35aadaeea90e.jpg@jpg" class="swiper-lazy" 
8843                                         width="1900" 
8844                                         height="1000" 
8845                                         style="aspect-ratio: 1900/1000;"
8846                                         alt="Sarmiento Palace Hotel">
8847                                    <div class="swiper-lazy-preloader"></div>
8848                                                                    </div>	
8849                                                            <div class="swiper-slide">
8850                                    <img data-src="https://images-new.pxsol.com/wNQPE56Ut81WaVK7AWq80xdfXbwRhjN4VY31iOXE-nU/rs:fill:1900:1000:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F16663538470d4c406ee5e6d1289f6f715191b439638.jpg@jpg" class="swiper-lazy" 
8851                                         width="1900" 
8852                                         height="1000" 
8853                                         style="aspect-ratio: 1900/1000;"
8854                                         alt="Sarmiento Palace Hotel">
8855                                    <div class="swiper-lazy-preloader"></div>
8856                                                                    </div>	
8857                                                            <div class="swiper-slide">
8858                                    <img data-src="https://images-new.pxsol.com/T-4C3X_3KfU_dgSgHv7_clIp40Ha3CbQuFNZdJzoLpk/rs:fill:1900:1000:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F151435785245702edfb37339afc9cdc9e7fea8900d5.jpg@jpg" class="swiper-lazy" 
8859                                         width="1900" 
8860                                         height="1000" 
8861                                         style="aspect-ratio: 1900/1000;"
8862                                         alt="Sarmiento Palace Hotel">
8863                                    <div class="swiper-lazy-preloader"></div>
8864                                                                    </div>	
8865                                        </div>
8866            <!-- Add Arrows -->
8867                        <div class="swiper-button-next swiper-button-next-2673"></div> <!-- igualmente el numero random va para las flechas de cambio de imágenes 
8867-->
8868            <div class="swiper-button-prev swiper-button-prev-2673"></div>
8869                                    
8870        </div>
8871    <!-- Así mismo para dataconfig-swiper le pasamos el numero random para identificarlo de otros -->
8872    <div class="dataconfig-swiper" data-id="2673" data-loop="true" data-speed=800 data-effect="fade" data-delay=5000 style="display:none" ></div>
8873</div>
8874
8875
8876			  </div>
8877			  </div> <img loading="lazy"  class="hidden-desktop logo-top-mobile"   lazy-src="https://files-p.pxsol.com/68/company/library/user/148449938943582335ea1aa44003cb5736119b4c552.png" alt="SarmientoPalace" > </image></div> 
8878
8879
8880<a  class="btn-arrepentimiento"   target='_blank' href="https://www.hotelsarmiento.com.ar/app/login" target="">Botón de arrepentimiento</a> 
8881
8882
8883<div  class="flex flex-wrap container-cards"  ><div  class="xs-100 sm-50 md-25 card"  ><a  class="content-items"   href="/pt/habitaciones.html" target=""><span  class='place' >Quartos</span><div  class="btn-gral"  >Recorre</div><div  class='container-neo-slider'  Slide='TopHabitaciones' Width='600' Height='600' Loop='true' Effect='Fade'>
8884			  <div class="neo_template_block neo_neo_swiper pxModule_include ModuloWrap_neo_swiper" id="neo_swiper" >
8885			  
8886
8887<!-- Module Start -->
8888
8889<div class="megacontainer-neo-swiper">
8890    <div class="swiper-container-4237"> <!-- le asignamos el numero random al contenedor -->
8891     
8892            <div class="swiper-wrapper">
8893                                        <div class="swiper-slide slide-one-pic">
8894                            <img src="https://images-new.pxsol.com/6U7oqW5WvM7Qc_U2Sxgl3S780F1YvUjmG0YZ6rabrfA/rs:fill:600:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F5047859532cba09c42703af93eb24ab361370a521e.jpg@jpg" 
8895                                 width="600" 
8896                                 height="600" 
8897                                 style="aspect-ratio: 600/600;"
8898                                 alt="Sarmiento Palace Hotel">
8899                                                    </div>	
8900                            </div>
8901            <!-- Add Arrows -->
8902                                    
8903        </div>
8904    <!-- Así mismo para dataconfig-swiper le pasamos el numero random para identificarlo de otros -->
8905    <div class="dataconfig-swiper" data-id="4237" data-loop="true" data-speed=800 data-effect="fade" data-delay=5000 style="display:none" ></div>
8906</div>
8907
8908
8909			  </div>
8910			  </div></a></div><div  class="xs-100 sm-50 md-25 card two"  ><a  class="content-items"   href="/pt/servicios.html" target=""><span  class='place' >Serviços</span><div  class="btn-gral"  >Conoce</div><div  class='container-neo-slider'  Slide='TopServicios' Width='600' Height='600' Loop='true' Effect='Fade'>
8911			  <div class="neo_template_block neo_neo_swiper pxModule_include ModuloWrap_neo_swiper" id="neo_swiper" >
8912			  
8913
8914<!-- Module Start -->
8915
8916<div class="megacontainer-neo-swiper">
8917    <div class="swiper-container-3306"> <!-- le asignamos el numero random al contenedor -->
8918     
8919            <div class="swiper-wrapper">
8920                                                <div class="swiper-slide">
8921                                    <img data-src="https://images-new.pxsol.com/klUeBZttk7PszgbwdqlcrS_YSs9EeORjaFu113t_NqA/rs:fill:600:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2Fe58f0287f47c952e0c7d9ed45467f4ccd40cd18e.jpg@jpg" class="swiper-lazy" 
8922                                         width="600" 
8923                                         height="600" 
8924                                         style="aspect-ratio: 600/600;"
8925                                         alt="Sarmiento Palace Hotel">
8926                                    <div class="swiper-lazy-preloader"></div>
8927                                                                    </div>	
8928                                                            <div class="swiper-slide">
8929                                    <img data-src="https://images-new.pxsol.com/6pYK2wrowzvT29LCJ1m2JmJsTMc7jgPufx1GpFmaLo4/rs:fill:600:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2F5e5d41a7970928aa17d72117f7152
89290d4d3a284cc.jpg@jpg" class="swiper-lazy" 
8930                                         width="600" 
8931                                         height="600" 
8932                                         style="aspect-ratio: 600/600;"
8933                                         alt="Sarmiento Palace Hotel">
8934                                    <div class="swiper-lazy-preloader"></div>
8935                                                                    </div>	
8936                                                            <div class="swiper-slide">
8937                                    <img data-src="https://images-new.pxsol.com/HvYRdnL4sOxeSpWC1TM4kZCn9Vb2MjQT127HyAetsuo/rs:fill:600:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2F606be7c8913f6cd9b1dc99058b06b1da5bf3bf3c.jpg@jpg" class="swiper-lazy" 
8938                                         width="600" 
8939                                         height="600" 
8940                                         style="aspect-ratio: 600/600;"
8941                                         alt="Sarmiento Palace Hotel">
8942                                    <div class="swiper-lazy-preloader"></div>
8943                                                                    </div>	
8944                                                            <div class="swiper-slide">
8945                                    <img data-src="https://images-new.pxsol.com/rhyZl2tNWRFDsH3CuTKuQfSspg3lIcNMi2WzwFpHaLY/rs:fill:600:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2F7d4991f13e6b77eadf4f877aa0a0b8b8359acfa6.jpg@jpg" class="swiper-lazy" 
8946                                         width="600" 
8947                                         height="600" 
8948                                         style="aspect-ratio: 600/600;"
8949                                         alt="Sarmiento Palace Hotel">
8950                                    <div class="swiper-lazy-preloader"></div>
8951                                                                    </div>	
8952                                                            <div class="swiper-slide">
8953                                    <img data-src="https://images-new.pxsol.com/6zuOZ3sxJ_DeOPKPq0CiYJMzf0IZskf92tpjcYky-8M/rs:fill:600:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F7143115464aa677dc8a47710120a11b8f6e1adeb1f.jpg@jpg" class="swiper-lazy" 
8954                                         width="600" 
8955                                         height="600" 
8956                                         style="aspect-ratio: 600/600;"
8957                                         alt="Sarmiento Palace Hotel">
8958                                    <div class="swiper-lazy-preloader"></div>
8959                                                                    </div>	
8960                                        </div>
8961            <!-- Add Arrows -->
8962                        <div class="swiper-button-next swiper-button-next-3306"></div> <!-- igualmente el numero random va para las flechas de cambio de imágenes -->
8963            <div class="swiper-button-prev swiper-button-prev-3306"></div>
8964                                    
8965        </div>
8966    <!-- Así mismo para dataconfig-swiper le pasamos el numero random para identificarlo de otros -->
8967    <div class="dataconfig-swiper" data-id="3306" data-loop="true" data-speed=800 data-effect="fade" data-delay=5000 style="display:none" ></div>
8968</div>
8969
8970
8971			  </div>
8972			  </div></a></div><div  class="xs-100 sm-50 md-25 card three"  ><a  class="content-items"   href="/pt/promos.html" target=""><span  class='place' >Promoções</span><div  class="btn-gral"  >Conoce</div><div  class='container-neo-slider'  Slide='TopPromos' Width='600' Height='600' Loop='true' Effect='Fade'>
8973			  <div class="neo_template_block neo_neo_swiper pxModule_include ModuloWrap_neo_swiper" id="neo_swiper" >
8974			  
8975
8976<!-- Module Start -->
8977
8978<div class="megacontainer-neo-swiper">
8979    <div class="swiper-container-3524"> <!-- le asignamos el numero random al contenedor -->
8980     
8981            <div class="swiper-wrapper">
8982                                                <div class="swiper-slide">
8983                                    <img data-src="https://images-new.pxsol.com/ftTb_WeoxqbFQEPrqtfJY4F6Yr4_gqy5uN8g7OpFp5M/rs:fill:600:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F21662569136d314267b7a26a144c3419c62c006a853.jpg@jpg" class="swiper-lazy" 
8984                                         width="600" 
8985                                         height="600" 
8986                                         style="aspect-ratio: 600/600;"
8987                                         alt="Sarmiento Palace Hotel">
8988                                    <div class="swiper-lazy-preloader"></div>
8989                                                                    </div>	
8990                                                            <div class="swiper-slide">
8991                                    <img data-src="https://images-new.pxsol.com/WoSETkfhquFqRvElfZsy7YOwpnmWPZuzLdQCxh7cqMk/rs:fill:600:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F2332892238675db2aeb9ebe7d1b849e6cbb9fd6913d.jpg@jpg" class="swiper-lazy" 
8992                                         width="600" 
8993                                         height="600" 
8994                                         style="aspect-ratio: 600/600;"
8995                                         alt="Sarmiento Palace Hotel">
8996                                    <div class="swiper-lazy-preloader"></div>
8997                                                                    </div>	
8998                                                            <div class="swiper-slide">
8999                                    <img data-src="https://images-new.pxsol.com/bW7RW67g6-Oc_TAN1EBaZSXbfS9M-JfbRNt3ejVlX-g/rs:fill:600:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F233289247809b64d75d552e55cb6fc73851dcf175a2.jpg@jpg" class="swiper-lazy" 
9000                                         width="600" 
9001                                         height="600" 
9002                                         style="aspect-ratio: 600/600;"
9003                                         alt="Sarmiento Palace Hotel">
9004                                    <div class="swiper-lazy-preloader"></div>
9005                                                                    </div>	
9006                                                            <div class="swiper-slide">
9007                                    <img data-src="https://images-new.pxsol.com/3xCUiGp7aRYDF52LqFMgpPHn5frVh3hHkrlNJs_sZjU/rs:fill:600:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F49990560754f1938fcc0718cf62d96ca3fa295330c.jpg@jpg" class="swiper-lazy" 
9008                                         width="600" 
9009                                         height="600" 
9010                                         style="aspect-ratio: 600/600;"
9011                                         alt="Sarmiento Palace Hotel">
9012                                    <div class="swiper-lazy-preloader"></div>
9013                                                                    </div>	
9014                                        </div>
9015            <!-- Add Arrows -->
9016                        <div class="swiper-button-next swiper-button-next-3524"></div> <!-- igualmente el numero random va para las flechas de cambio de imágenes 
9016-->
9017            <div class="swiper-button-prev swiper-button-prev-3524"></div>
9018                                    
9019        </div>
9020    <!-- Así mismo para dataconfig-swiper le pasamos el numero random para identificarlo de otros -->
9021    <div class="dataconfig-swiper" data-id="3524" data-loop="true" data-speed=800 data-effect="fade" data-delay=5000 style="display:none" ></div>
9022</div>
9023
9024
9025			  </div>
9026			  </div></a></div><div  class="xs-100 sm-50 md-25 card four"  ><a  class="content-items"   href="/pt/contacto.html" target=""><span  class='place' >Localização e contato</span><div  class="btn-gral"  >Descubre</div><div  class='container-neo-slider'  Slide='TopContacto' Width='600' Height='600' Loop='true' Effect='Fade'>
9027			  <div class="neo_template_block neo_neo_swiper pxModule_include ModuloWrap_neo_swiper" id="neo_swiper" >
9028			  
9029
9030<!-- Module Start -->
9031
9032<div class="megacontainer-neo-swiper">
9033    <div class="swiper-container-3963"> <!-- le asignamos el numero random al contenedor -->
9034     
9035            <div class="swiper-wrapper">
9036                                        <div class="swiper-slide slide-one-pic">
9037                            <img src="https://images-new.pxsol.com/dfvFdKLlS8B7qr15hHGHOGOyFrakil0P5gB2KJSBwS8/rs:fill:600:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FSarmientoPalace%2FGaleriaFotosced7b4dd74a4611ca251fd9c31333c8dbb52990a.jpg@jpg" 
9038                                 width="600" 
9039                                 height="600" 
9040                                 style="aspect-ratio: 600/600;"
9041                                 alt="Sarmiento Palace Hotel">
9042                                                    </div>	
9043                            </div>
9044            <!-- Add Arrows -->
9045                                    
9046        </div>
9047    <!-- Así mismo para dataconfig-swiper le pasamos el numero random para identificarlo de otros -->
9048    <div class="dataconfig-swiper" data-id="3963" data-loop="true" data-speed=800 data-effect="fade" data-delay=5000 style="display:none" ></div>
9049</div>
9050
9051
9052			  </div>
9053			  </div></a></div></div> 
9054
9055
9056<div  class="info-container-2 padding-xs-50"  ><div  class="container"  ><div  class="desc-hotel"  ><span  class='' >Bienvenido a</span><h1  class='' >Sarmiento Palace Hotel</h1><div  class="desc-hotel-down"  ><p  class='' >Nos encontramos en una de las zonas céntricas más seguras de Buenos Aires, a 100 metros de las famosas Avenidas Corrientes y Callao, a tres cuadras del Congreso Nacional y a pasos de varios teatros, restaurantes, complejos culturales y de entretenimientos. A menos de diez cuadras del Hotel se encuentran la Avenida 9 de Julio, el Obelisco, Recoleta y el Shopping Abasto (centro comercial más grande de la Capital enmarcado en un barrio con gran tradición de tango) junto con el Museo de los Niños, el único en su tipo de Latinoamérica. Además, a 150 metros se encuentra una estación de Metro para un rápido y económico acceso a casi todos los puntos importantes de la Ciudad.</p></div></div></div></div> 
9057
9058		<div class="neo_template_block neo_neo_promos container pxModule_include ModuloWrap_neo_promos" id="neo_promos">
9059
9060			
9061<div id="pug_list_module" class="full neo_pug_defaultlp flex flex-wrap padding-top-50 padding-bottom-50">
9062    						<div class="full neo_full flex-column flex-center text-center padding-xs-bottom-20 padding-xs-10 full">
9063				<h2 class="fontsize-20px lineh-150 full neo_full padding-xs-bottom-10 text-center full neo_promo_slider_titulo"><strong>Promociones y Vouchers seleccionados para usted</strong></h2>
9064							</div>
9065						<link rel="stylesheet" href="/includes/neo_pugs/pug_prose.css?filev=1786562821">
9066				<link rel="stylesheet" href="/neo_modules/standard_lp_motor/includes/carousel.css">
9067		
9067<script src="/neo_modules/standard_lp_motor/includes/carousel.js?filev=1778144039"></script>
9067
9068		
9068<script>
9069			document.addEventListener('click', function (e) {
9070				var trigger = e.target.closest && e.target.closest('.neo_pug_img_trigger');
9071				if (!trigger || typeof window.PxGallery !== 'function') return;
9072				var draggedGrid = trigger.closest && trigger.closest('[data-pug-suppress-click="true"]');
9073				if (draggedGrid) {
9074					draggedGrid.removeAttribute('data-pug-suppress-click');
9075					e.preventDefault();
9076					e.stopPropagation();
9077					return;
9078				}
9079				e.preventDefault();
9080				e.stopPropagation();
9081				var src = trigger.getAttribute('data-full-src') || '';
9082				var items = [{ src: src, thumb: src, alt: trigger.getAttribute('data-alt') || '' }];
9083				if (!window.pxGalleryInstance) {
9084					window.pxGalleryInstance = new window.PxGallery(items);
9085				} else {
9086					window.pxGalleryInstance.items = items;
9087					window.pxGalleryInstance.renderThumbnails();
9088				}
9089				window.pxGalleryInstance.open(0);
9090			}, true);
9091		</script>
9091
9092		
9093					<div class="neo_cart_pug_grid_supracontainer full neo_full relative" id="pugGridContainer441779" >
9094			
9095			<div class="neo_cart_pug_grid  padding-xs-bottom-20  full neo_full full" id="pugGrid441779" currentloc="website" style="display: block; margin-bottom: 15px;">
9096				                <a pugid="37790" class="flex-column neo_true_wc whitecard_nopadding neo_pug_card preserve neo_fullh padding-0 " href="/pt/promos/1750689717-last-minute-1.html" target="_blank" rel="noopener noreferrer" actionvalue="20" currency="USD" actionamounttype="percentage" actiontype="discount"  concurrencies="[&quot;[USD][ARS]"  startsale="0000-00-00" endsale="0000-00-00" showon="website,puglp,motor" currentLoc="website" content="index">
9097        <div class="neo_np_previewcard_image">
9098                            <span class="neo_pug_img_trigger" data-full-src="https://images-new.pxsol.com/k-2DPacmIN7-aJEb7ZqwdLwbmLd3yngRu9ZV0U4XdRQ/rs:fill:1600:0:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2Fa318e4801a0851c11d903d338bac11d13d3bb46d.jpg@jpg" data-alt="">
9099                    <img src="https://images-new.pxsol.com/jGyxut7R8jByWC_oiEBtjbvTxqbH0DUn0hYI-2J9b5Q/rs:fill:400:200:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2Fa318e4801a0851c11d903d338bac11d13d3bb46d.jpg@jpg" alt="">
9100                </span>
9101                    </div>
9102        <div class="neo_np_previewcard_info flex-grow flex-column padding-xs-left-20 padding-xs-right-20">
9103            <div class="padding-xs-top-20 padding-xs-bottom-15 lineh-150">
9104                <h6 style="color: #006633" class="fontsize-20px">LAST MINUTE</h6>
9105            </div>
9106            
9107                            <div class="fontsize-14px lineh-150 neo_text_light_gray pug_prose padding-xs-bottom-20" style="max-height: 8.5em; overflow: auto; margin-bottom: 20px;"><p><u><strong>LAST MINUTE EXCLUSIVA RESERVANDO DESDE NUESTRA PAGINA WEB</strong></u>&nbsp;</p><p><br></p><p>¡RESERVANDO 3 &nbsp;días o menos a la fecha de ingreso obtenes un 20% DE DESCUENTO EN TU ESTADÍA !</p><p><br></p><p><br><br><em>NO ACUMULABLE CON OTRAS PROMOCIONES</em></p><p><br></p><p><br></p></div>
9108                        <div class="flex flex-wrap neo_pug_card_parameters padding-xs-bottom-15">
9109                                                                                
9110            </div>
9111                    </div>
9112        <div class="neo_np_preview_actions flex flex-s-center flex-m-sb neo_full padding-xs-right-20 padding-xs-left-20 padding-xs-top-15 padding-xs-bottom-15 ">
9113            <div class="flex-column">
9114                                                                        <small class="neo_smalltxt" style="margin-bottom: 3px;">Descuento</small>
9115                    <div class="neo_np_preview_price fontsize-20px lineh-120">
9116                        <span>                                                        <span class="new_pug_actionvalue">20</span>                            %                                                                                </span>
9117                                            </div>
9118                            </div>
9119                            <div class="neo_naked_action pointer fontsize-16px btn-general brand" style="color: #006633">
9120                    Ver mais                    <i class="mdi mdi-arrow-right"></i>
9121                </div>
9122                    </div>
9123
9124    </a>
9125                    <a pugid="50569" class="flex-column neo_true_wc whitecard_nopadding neo_pug_card preserve neo_fullh padding-0 " href="/pt/promos/miercoles-viernes-y-sabados-3-cuotas-sin-interes.html" target="_blank" rel="noopener noreferrer" actionvalue="0" currency="ARS" actionamounttype="percentage" actiontype="free"  startsale="0000-00-00" endsale="0000-00-00" showon="website,puglp" currentLoc="website" content="index">
9126        <div class="neo_np_previewcard_image">
9127                            <span class="neo_pug_img_trigger" data-full-src="https://images-new.pxsol.com/ZSTJ3FCWCrUntlUJ3FTajRvN3zhzFcQMlVyn9s9N428/rs:fill:1600:0:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F1958734318277901f2f917a94bc5928890775ffb853.jpg@jpg" data-alt
9127="">
9128                    <img src="https://images-new.pxsol.com/-FTv2ypcKD1wvGjNZPhl1HlV3oxKlXIDmbt7qw7F47o/rs:fill:400:200:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F1958734318277901f2f917a94bc5928890775ffb853.jpg@jpg" alt="">
9129                </span>
9130                    </div>
9131        <div class="neo_np_previewcard_info flex-grow flex-column padding-xs-left-20 padding-xs-right-20">
9132            <div class="padding-xs-top-20 padding-xs-bottom-15 lineh-150">
9133                <h6 style="color: #006633" class="fontsize-20px">Miércoles, Viernes y Sábados 3 cuotas sin interés</h6>
9134            </div>
9135            
9136                            <div class="fontsize-14px lineh-150 neo_text_light_gray pug_prose padding-xs-bottom-20" style="max-height: 8.5em; overflow: auto; margin-bottom: 20px;"><p>3 CUOTAS SIN INTERÉS HASTA EL 31/10 INCLUSIVE</p><p></p><p>ABONANDO CON TARJETAS DE CRÉDITO BANCARIAS VISA O MASTERCARD LOS MIÉRCOLES, VIERNES Y SÁBADOS.</p><p></p><p>(EXCLUSIVO DE MANERA PRESENCIAL EN EL HOTEL)</p><p></p><p></p></div>
9137                        <div class="flex flex-wrap neo_pug_card_parameters padding-xs-bottom-15">
9138                                                                                
9139            </div>
9140                    </div>
9141        <div class="neo_np_preview_actions flex flex-s-center flex-m-sb neo_full padding-xs-right-20 padding-xs-left-20 padding-xs-top-15 padding-xs-bottom-15 ">
9142            <div class="flex-column">
9143                                            </div>
9144                            <div class="neo_naked_action pointer fontsize-16px btn-general brand" style="color: #006633">
9145                    Ver mais                    <i class="mdi mdi-arrow-right"></i>
9146                </div>
9147                    </div>
9148
9149    </a>
9150                    <a pugid="27047" class="flex-column neo_true_wc whitecard_nopadding neo_pug_card preserve neo_fullh padding-0 " href="/pt/promos/1718823286-2031709137774-2031709137681-2031681152732-mejor-tarifa-garantizada.html" target="_blank" rel="noopener noreferrer" actionvalue="10" currency="ARS" actionamounttype="percentage" actiontype="discount"  startsale="0000-00-00" endsale="0000-00-00" showon="puglp,motor,showcard,showcard,showcard,showcard,showcard,showcard,showcard,showcard,showcard" currentLoc="website" content="index">
9151        <div class="neo_np_previewcard_image">
9152                            <span class="neo_pug_img_trigger" data-full-src="https://images-new.pxsol.com/wQu3p_HME44VrkV9fFNk-xcN4R9thpQ5vS_KyrUfj7I/rs:fill:1600:0:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F4948334904c02e56c5fb679cd9739324ab1b562d74.jpg@jpg" data-alt="">
9153                    <img src="https://images-new.pxsol.com/ELY146qM_swkQcaO9x4BlK8cYaYcllf4czVknqspZYk/rs:fill:400:200:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F4948334904c02e56c5fb679cd9739324ab1b562d74.jpg@jpg" alt="">
9154                </span>
9155                    </div>
9156        <div class="neo_np_previewcard_info flex-grow flex-column padding-xs-left-20 padding-xs-right-20">
9157            <div class="padding-xs-top-20 padding-xs-bottom-15 lineh-150">
9158                <h6 style="color: #006633" class="fontsize-20px">Mejor tarifa garantizada</h6>
9159            </div>
9160            
9161                            <div class="fontsize-14px lineh-150 neo_text_light_gray pug_prose padding-xs-bottom-20" style="max-height: 8.5em; overflow: auto; margin-bottom: 20px;"><p><strong>Mejor tarifa garantizada</strong></p><p><br></p><p>Reservando ahora desde nuestra página, obtendrá una tarifa totalmente preferencial.</p><p><br></p><p><br></p><p>Reservá directo y obtené hasta un 10% de descuento en tu alojamiento.&nbsp;</p><p><br></p><p><br></p><p>No pierdas esta oportunidad!!</p></div>
9162                        <div class="flex flex-wrap neo_pug_card_parameters padding-xs-bottom-15">
9163                                                                                
9164            </div>
9165                    </div>
9166        <div class="neo_np_preview_actions flex flex-s-center flex-m-sb neo_full padding-xs-right-20 padding-xs-left-20 padding-xs-top-15 padding-xs-bottom-15 ">
9167            <div class="flex-column">
9168                                                                        <small class="neo_smalltxt" style="margin-bottom: 3px;">Descuento</small>
9169                    <div class="neo_np_preview_price fontsize-20px lineh-120">
9170                        <span>                                                        <span class="new_pug_actionvalue">10</span>                            %                                                                                </span>
9171                                            </div>
9172                            </div>
9173                            <div class="neo_naked_action pointer fontsize-16px btn-general brand" style="color: #006633">
9174                    Ver mais                    <i class="mdi mdi-arrow-right"></i>
9175                </div>
9176                    </div>
9177
9178    </a>
9179                    <a pugid="50515" class="flex-column neo_true_wc whitecard_nopadding neo_pug_card preserve neo_fullh padding-0 " href="/pt/promos/promo-last-minute.html" target="_blank" rel="noopener noreferrer" actionvalue="20" currency="USD" actionamounttype="percentage" actiontype="discount"  startsale="0000-00-00" endsale="0000-00-00" showon="website,puglp" currentLoc="website" content="index">
9180        <div class="neo_np_previewcard_image">
9181                            <span class="neo_pug_img_trigger" data-full-src="https://images-new.pxsol.com/5sfBtN_OC0ITkSJDHsc8iLxpoEJgZqOwm0M5RFSNw6k/rs:fill:1600:0:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F124634827387d581b915a5d99ef0dfdef2de27db2a7.png@png" data-alt="">
9182                    <img src="https://images-new.pxsol.com/WbVAY-rrZO9G53IJPEcc_uGWMAOU-WjXUzcEqyPzEB4/rs:fill:400:200:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F124634827387d581b915a5d99ef0dfdef2de27db2a7.png@png" alt="">
9183                </span>
9184                    </div>
9185        <div class="neo_np_previewcard_info flex-grow flex-column padding-xs-left-20 padding-xs-right-20">
9186            <div class="padding-xs-top-20 padding-xs-bottom-15 lineh-150">
9187                <h6 style="color: #006633" class="fontsize-20px">Promo</h6>
9188            </div>
9189            
9190                            <div class="fontsize-14px lineh-150 neo_text_light_gray pug_prose padding-xs-bottom-20" style="max-height: 8.5em; overflow: auto; margin-bottom: 20px;"><p>Alojandote de Domingos a Miércoles obtenes un descuento del &nbsp;20%</p><p><br></p><p>Te esperamos !!&nbsp;</p></div>
9191                        <div class="flex flex-wrap neo_pug_card_parameters padding-xs-bottom-15">
9192                                                                                
9193            </div>
9194                    </div>
9195        <div class="neo_np_preview_actions flex flex-s-center flex-m-sb neo_full padding-xs-right-20 padding-xs-left-20 padding-xs-top-15 padding-xs-bottom-15 ">
9196            <div class="flex-column">
9197                                                                        <small class="neo_smalltxt" style="margin-bottom: 3px;">Descuento</small>
9198                    <div class="neo_np_preview_price fontsize-20px lineh-120">
9199                        <span>                                                        <span class="new_pug_actionvalue">20</span>                            %                                                                                </span>
9200                                            </div>
9201                            </div>
9202                            <div class="neo_naked_action pointer fontsize-16px btn-general brand" style="color: #006633">
9203                    Ver mais                    <i class="mdi mdi-arrow-right"></i>
9204                </div>
9205                    </div>
9206
9207    </a>
9208    			</div>
9209
9210							<div class="siema-prev"><i class="mdi mdi-chevron-left"></i></div>
9211				<div class="siema-next"><i class="mdi mdi-chevron-right"></i></div>
9212			</div>
9213		
9214	
9215	<link rel="stylesheet" href="/includes/neo_pugs/neo_pugs.css?filev=1785418385">
9216
9217
9218			
vendor: 13,111 bytes, lines 9218-9219
9218<script>
9219			!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("Siema",[],t):"object"==typeof exports?exports.Siema=t():e.Siema=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(r){if(i[r])return i[r].exports;var n=i[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var i={};return t.m=e,t.c=i,t.d=function(e,i,r){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,"a",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,i){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=function(){function e(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,i,r){return i&&e(t.prototype,i),r&&e(t,r),t}}(),l=function(){function e(t){var i=this;if(r(this,e),this.config=e.mergeSettings(t),this.selector="string"==typeof this.config.selector?document.querySelector(this.config.selector):this.config.selector,null===this.selector)throw new Error("Something wrong with your selector 😭");this.resolveSlidesNumber(),this.selectorWidth=this.selector.offsetWidth,this.innerElements=[].slice.call(this.selector.children),this.currentSlide=this.config.loop?this.config.startIndex%this.innerElements.length:Math.max(0,Math.min(this.config.startIndex,this.innerElements.length-this.perPage)),this.transformProperty=e.webkitOrNot(),["resizeHandler","touchstartHandler","touchendHandler","touchmoveHandler","mousedownHandler","mouseupHandler","mouseleaveHandler","mousemoveHandler","clickHandler"].forEach(function(e){i[e]=i[e].bind(i)}),this.init()}return s(e,[{key:"attachEvents",value:function(){window.addEventListener("resize",this.resizeHandler),this.config.draggable&&(this.pointerDown=!1,this.drag={startX:0,endX:0,startY:0,letItGo:null,preventClick:!1},this.selector.addEventListener("touchstart",this.touchstartHandler),this.selector.addEventListener("touchend",this.touchendHandler),this.selector.addEventListener("touchmove",this.touchmoveHandler),this.selector.addEventListener("mousedown",this.mousedownHandler),this.selector.addEventListener("mouseup",this.mouseupHandler),this.selector.addEventListener("mouseleave",this.mouseleaveHandler),this.selector.addEventListener("mousemove",this.mousemoveHandler),this.selector.addEventListener("click",this.clickHandler))}},{key:"detachEvents",value:function(){window.removeEventListener("resize",this.resizeHandler),this.selector.removeEventListener("touchstart",this.touchstartHandler),this.selector.removeEventListener("touchend",this.touchendHandler),this.selector.removeEventListener("touchmove",this.touchmoveHandler),this.selector.removeEventListener("mousedown",this.mousedownHandler),this.selector.removeEventListener("mouseup",this.mouseupHandler),this.selector.removeEventListener("mouseleave",this.mouseleaveHandler),this.selector.removeEventListener("mousemove",this.mousemoveHandler),this.selector.removeEventListener("click",this.clickHandler)}},{key:"init",value:function(){this.attachEvents(),this.selector.style.overflow="hidden",this.selector.style.direction=this.config.rtl?"rtl":"ltr",this.buildSliderFrame(),this.config.onInit.call(this)}},{key:"buildSliderFrame",value:function(){var e=this.selectorWidth/this.perPage,t=this.config.loop?this.innerElements.length+2*this.perPage:this.innerElements.length;this.sliderFrame=document.createElement("div"),this.sliderFrame.style.width=e*t+"px",this.enableTransition(),this.config.draggable&&(this.selector.style.cursor="-webkit-grab");var i=document.createDocumentFragment();if(this.config.loop)for(var r=this.innerElements.length-this.perPage;r<this.innerElements.length;r++){var n=this.buildSliderFrameItem(this.innerElements[r].cloneNode(!0));i.appendChild(n)}for(var s=0;s<this.innerElements.length;s++){var l=this.buildSliderFrameItem(this.innerElements[s]);i.appendChild(l)}if(this.config.loop)for(var o=0;o<this.perPage;o++){var a=this.buildSliderFrameItem(this.innerElements[o].cloneNode(!0));i.appendChild(a)}this.sliderFrame.appendChild(i),this.selector.innerHTML="",this.selector.appendChild(this.sliderFrame),this.slideToCurrent()}},{key:"buildSliderFrameItem",value:function(e){var t=document.createElement("div");return t.style.cssFloat=this.config.rtl?"right":"left",t.style.float=this.config.rtl?"right":"left",t.style.width=(this.config.loop?100/(this.innerElements.length+2*this.perPage):100/this.innerElements.length)+"%",t.appendChild(e),t}},{key:"resolveSlidesNumber",value:function(){if("number"==typeof this.config.perPage)this.perPage=this.config.perPage;else if("object"===n(this.config.perPage)){this.perPage=1;for(var e in this.config.perPage)window.innerWidth>=e&&(this.perPage=this.config.perPage[e])}}},{key:"prev",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments[1];if(!(this.innerElements.length<=this.perPage)){var i=this.currentSlide;if(this.config.loop){if(this.currentSlide-e<0){this.disableTransition();var r=this.currentSlide+this.innerElements.length,n=this.perPage,s=r+n,l=(this.config.rtl?1:-1)*s*(this.selectorWidth/this.perPage),o=this.config.draggable?this.drag.endX-this.drag.startX:0;this.sliderFrame.style[this.transformProperty]="translate3d("+(l+o)+"px, 0, 0)",this.currentSlide=r-e}else this.currentSlide=this.currentSlide-e}else this.currentSlide=Math.max(this.currentSlide-e,0);i!==this.currentSlide&&(this.slideToCurrent(this.config.loop),this.config.onChange.call(this),t&&t.call(this))}}},{key:"next",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments[1];if(!(this.innerElements.length<=this.perPage)){var i=this.currentSlide;if(this.config.loop){if(this.currentSlide+e>this.innerElements.length-this.perPage){this.disableTransition();var r=this.currentSlide-this.innerElements.length,n=this.perPage,s=r+n,l=(this.config.rtl?1:-1)*s*(this.selectorWidth/this.perPage),o=this.config.draggable?this.drag.endX-this.drag.startX:0;this.sliderFrame.style[this.transformProperty]="translate3d("+(l+o)+"px, 0, 0)",this.currentSlide=r+e}else this.currentSlide=this.currentSlide+e}else this.currentSlide=Math.min(this.currentSlide+e,this.innerElements.length-this.perPage);i!==this.currentSlide&&(this.slideToCurrent(this.config.loop),this.config.onChange.call(this),t&&t.call(this))}}},{key:"disableTransition",value:function(){this.sliderFrame.style.webkitTransition="all 0ms "+this.config.easing,this.sliderFrame.style.transition="all 0ms "+this.config.easing}},{key:"enableTransition",value:function(){this.sliderFrame.style.webkitTransition="all "+this.config.duration+"ms "+this.config.easing,this.sliderFrame.style.transition="all "+this.config.duration+"ms "+this.config.easing}},{key:"goTo",value:function(e,t){if(!(this.innerElements.length<=this.perPage)){var i=this.currentSlide;this.currentSlide=this.config.loop?e%this.innerElements.length:Math.min(Math.max(e,0),this.innerElements.length-this.perPage),i!==this.currentSlide&&(this.slideToCurrent(),this.config.onChange.call(this),t&&t.call(this))}}},{key:"slideToCurrent",value:function(e){var t=this,i=this.config.loop?this.currentSlide+this.perPage:this.currentSlide,r=(this.config.rtl?1:-1)*i*(this.selectorWidth/this.perPage);e?requestAnimationFrame(function(){requestAnimationFrame(function(){t.enableTransition(),t.sliderFrame.style[t.transformProperty]="translate3d("+r+"px, 0, 0)"})}):this.sliderFrame.style[this.transformProperty]="translate3d("+r+"px, 0, 0)"}},{key:"updateAfterDrag",value:function(){var e=(this.config.rtl?-1:1)*(this.drag.endX-this.drag.startX),t=Math.abs(e),i=this.config.multipleDrag?Math.ceil(t/(this.selectorWidth/this.perPage)):1,r=e>0&&this.currentSlide-i<0,n=e<0&&this.currentSlide+i>this.innerElements.length-this.perPage;e>0&&t>this.config.threshold&&this.innerElements.length>this.perPage?this.prev(i):e<0&&t>this.config.threshold&&this.innerElements.length>this.perPage&&this.next(i),this.slideToCurrent(r||n)}},{key:"resizeHandler",value:function(){this.resolveSlidesNumber(),this.currentSlide+this.perPage>this.innerElements.length&&(this.currentSlide=this.innerElements.length<=this.perPage?0:this.innerElements.length-this.perPage),this.selectorWidth=this.selector.offsetWidth,this.buildSliderFrame()}},{key:"clearDrag",value:function(){this.drag={startX:0,endX:0,startY:0,letItGo:null,preventClick:this.drag.preventClick}}},{key:"touchstartHandler",value:function(e){-1!==["TEXTAREA","OPTION","INPUT","SELECT"].indexOf(e.target.nodeName)||(e.stopPropagation(),this.pointerDown=!0,this.drag.startX=e.touches[0].pageX,this.drag.startY=e.touches[0].pageY)}},{key:"touchendHandler",value:function(e){e.stopPropagation(),this.pointerDown=!1,this.enableTransition(),this.drag.endX&&this.updateAfterDrag(),this.clearDrag()}},{key:"touchmoveHandler",value:function(e){if(e.stopPropagation(),null===this.drag.letItGo&&(this.drag.letItGo=Math.abs(this.drag.startY-e.touches[0].pageY)<Math.abs(this.drag.startX-e.touches[0].pageX)),this.pointerDown&&this.drag.letItGo){e.preventDefault(),this.drag.endX=e.touches[0].pageX,this.sliderFrame.style.webkitTransition="all 0ms "+this.config.easing,this.sliderFrame.style.transition="all 0ms "+this.config.easing;var t=this.config.loop?this.currentSlide+this.perPage:this.currentSlide,i=t*(this.selectorWidth/this.perPage),r=this.drag.endX-this.drag.startX,n=this.config.rtl?i+r:i-r;this.sliderFrame.style[this.transformProperty]="translate3d("+(this.config.rtl?1:-1)*n+"px, 0, 0)"}}},{key:"mousedownHandler",value:function(e){-1!==["TEXTAREA","OPTION","INPUT","SELECT"].indexOf(e.target.nodeName)||(e.preventDefault(),e.stopPropagation(),this.pointerDown=!0,this.drag.startX=e.pageX)}},{key:"mouseupHandler",value:function(e){e.stopPropagation(),this.pointerDown=!1,this.selector.style.cursor="-webkit-grab",this.enableTransition(),this.drag.endX&&this.updateAfterDrag(),this.clearDrag()}},{key:"mousemoveHandler",value:function(e){if(e.preventDefault(),this.pointerDown){"A"===e.target.nodeName&&(this.drag.preventClick=!0),this.drag.endX=e.pageX,this.selector.style.cursor="-webkit-grabbing",this.sliderFrame.style.webkitTransition="all 0ms "+this.config.easing,this.sliderFrame.style.transition="all 0ms "+this.config.easing;var t=this.config.loop?this.currentSlide+this.perPage:this.currentSlide,i=t*(this.selectorWidth/this.perPage),r=this.drag.endX-this.drag.startX,n=this.config.rtl?i+r:i-r;this.sliderFrame.style[this.transformProperty]="translate3d("+(this.config.rtl?1:-1)*n+"px, 0, 0)"}}},{key:"mouseleaveHandler",value:function(e){this.pointerDown&&(this.pointerDown=!1,this.selector.style.cursor="-webkit-grab",this.drag.endX=e.pageX,this.drag.preventClick=!1,this.enableTransition(),this.updateAfterDrag(),this.clearDrag())}},{key:"clickHandler",value:function(e){this.drag.preventClick&&e.preventDefault(),this.drag.preventClick=!1}},{key:"remove",value:function(e,t){if(e<0||e>=this.innerElements.length)throw new Error("Item to remove doesn't exist 😭");var i=e<this.currentSlide,r=this.currentSlide+this.perPage-1===e;(i||r)&&this.currentSlide--,this.innerElements.splice(e,1),this.buildSliderFrame(),t&&t.call(this)}},{key:"insert",value:function(e,t,i){if(t<0||t>this.innerElements.length+1)throw new Error("Unable to inset it at this index 😭");if(-1!==this.innerElements.indexOf(e))throw new Error("The same item in a carousel? Really? Nope 😭");var r=t<=this.currentSlide>0&&this.innerElements.length;this.currentSlide=r?this.currentSlide+1:this.currentSlide,this.innerElements.splice(t,0,e),this.buildSliderFrame(),i&&i.call(this)}},{key:"prepend",value:function(e,t){this.insert(e,0),t&&t.call(this)}},{key:"append",value:function(e,t){this.insert(e,this.innerElements.length+1),t&&t.call(this)}},{key:"destroy",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];if(this.detachEvents(),this.selector.style.cursor="auto",e){for(var i=document.createDocumentFragment(),r=0;r<this.innerElements.length;r++)i.appendChild(this.innerElements[r]);this.selector.innerHTML="",this.selector.appendChild(i),this.selector.removeAttribute("style")}t&&t.call(this)}}],[{key:"mergeSettings",value:function(e){var t={selector:".siema",duration:200,easing:"ease-out",perPage:1,startIndex:0,draggable:!0,multipleDrag:!0,threshold:20,loop:!1,rtl:!1,onInit:function(){},onChange:function(){}},i=e;for(var r in i)t[r]=i[r];return t}},{key:"webkitOrNot",value:function(){return"string"==typeof document.documentElement.style.transform?"transform":"WebkitTransform"}}]),e}();t.default=l,e.exports=t.default}])});		</script>
9219
9220		
9220<script>
9221			try {
9222
9223
9224					let siemaPugInitAttemptsFor441779 = 0;
9225
9226					function initSiemaPug() {
9227						var pugGrid = document.querySelector('#pugGrid441779');
9228						if (!pugGrid || pugGrid.getAttribute('data-siema-initialized') === 'true') return;
9229
9230						if ($(pugGrid).is(':visible')) {
9231							// Defensa adicional: los includes compartidos pueden emitir assets. Si vuelve a
9232							// ocurrir, se mueven fuera antes de que Siema enumere los hijos como slides.
9233							Array.prototype.slice.call(pugGrid.children).forEach(function (child) {
9234								if (!child.classList.contains('neo_pug_card')) {
9235									pugGrid.parentNode.insertBefore(child, pugGrid);
9236								}
9237							});
9238
9239							if (pugGrid.children.length < 2) return;
9240
9241							$(pugGrid).children('.neo_pug_card').css({
9242								margin: '10px',
9243								height: '100%'
9244							});
9245							var siema441779 = new Siema({
9246								perPage: {
9247									0: 1,
9248									800: 3
9249								},
9250								selector: "#pugGrid441779",
9251								loop: false,
9252								draggable: true,
9253								multipleDrag: false
9254							});
9255							pugGrid.setAttribute('data-siema-initialized', 'true');
9256							pugGrid.siemaInstance = siema441779;
9257
9258							// Siema evita el click sólo cuando el target exacto es <a>. Las tarjetas tienen
9259							// imágenes y nodos internos, por lo que protegemos cualquier drag horizontal.
9260							var dragStart = null;
9261							var suppressClick = false;
9262							var resetDrag = function (x, y) {
9263								dragStart = { x: x, y: y };
9264								suppressClick = false;
9265								pugGrid.removeAttribute('data-pug-suppress-click');
9266							};
9267							var trackDrag = function (x, y) {
9268								if (!dragStart) return;
9269								var deltaX = Math.abs(x - dragStart.x);
9270								var deltaY = Math.abs(y - dragStart.y);
9271								if (deltaX > 8 && deltaX > deltaY) {
9272									suppressClick = true;
9273									pugGrid.setAttribute('data-pug-suppress-click', 'true');
9274								}
9275							};
9276
9277							pugGrid.addEventListener('mousedown', function (e) {
9278								resetDrag(e.pageX, e.pageY);
9279							}, true);
9280							pugGrid.addEventListener('mousemove', function (e) {
9281								trackDrag(e.pageX, e.pageY);
9282							}, true);
9283							pugGrid.addEventListener('touchstart', function (e) {
9284								if (e.touches.length === 1) resetDrag(e.touches[0].pageX, e.touches[0].pageY);
9285							}, true);
9286							pugGrid.addEventListener('touchmove', function (e) {
9287								if (e.touches.length === 1) trackDrag(e.touches[0].pageX, e.touches[0].pageY);
9288							}, true);
9289							pugGrid.addEventListener('click', function (e) {
9290								if (!suppressClick) return;
9291								e.preventDefault();
9292								e.stopPropagation();
9293								if (typeof e.stopImmediatePropagation === 'function') e.stopImmediatePropagation();
9294								suppressClick = false;
9295								pugGrid.removeAttribute('data-pug-suppress-click');
9296							}, true);
9297
9298							document.querySelector('#pugGridContainer441779 .siema-prev').addEventListener('click', () => siema441779.prev());
9299						document.querySelector('#pugGridContainer441779 .siema-next').addEventListener('click', () => siema441779.next());
9300					} else {
9301						// attempt to initialize again in 150ms, up to 10 times
9302						if (siemaPugInitAttemptsFor441779 <= 50) {
9303							siemaPugInitAttemptsFor441779++;
9304							setTimeout(() => {
9305								initSiemaPug();
9306							}, 150);
9307						}
9308					}
9309				}
9310
9311				if (typeof finalCallbacks === 'undefined') finalCallbacks = [];
9312				finalCallbacks.push(initSiemaPug);
9313			} catch (error) {
9314			}
9315		</script>
9315
9316	</div>
9317
9318<script>
9319    function refreshPug() {
9320        try {
9321            $('.neo_pug_card').each(function() {
9322
9323                let originalActionValue = Number($(this).attr('actionvalue'));
9324                let originalCurrency = $(this).attr('currency');
9325                let actionAmountType = $(this).attr('actionamounttype');
9326                let newActionValue = originalActionValue;
9327                let newCurrency = CurrencyTk;
9328                let pugActionType = $(this).attr('actiontype');
9329                if (pugActionType == 'free_nights') return false;
9330
9331                if (actionAmountType !== 'percentage') {
9332                    if (originalCurrency !== newCurrency) newActionValue = originalActionValue * Json_Pos.ExchangeList[`${originalCurrency}${CurrencyTk}`];
9333                    newActionValue = newActionValue.toFixed(2);
9334                    $(this).find('.pug_actionvalue').text(newActionValue);
9335                    $(this).find('.pug_currency').text(newCurrency);
9336                }
9337            })
9338
9339        } catch (error) {
9340            console.error('Ha ocurrido un error al refrescar la información de las promociónes: ', error);
9341        }
9342    }
9343</script>
9343
9344			
9345		
9346	</div>
9347
9348 
9349
9350
9351<div id='indexGallery'  class="full flex flex-center diplo_indexgal relative"  ><div  class='container-neo-slider'  Slide='Destacado' Width='1900' Height='600' Loop='true' Effect='Fade '>
9352			  <div class="neo_template_block neo_neo_swiper pxModule_include ModuloWrap_neo_swiper" id="neo_swiper" >
9353			  
9354
9355<!-- Module Start -->
9356
9357<div class="megacontainer-neo-swiper">
9358    <div class="swiper-container-1090"> <!-- le asignamos el numero random al contenedor -->
9359     
9360            <div class="swiper-wrapper">
9361                                                <div class="swiper-slide">
9362                                    <img data-src="https://images-new.pxsol.com/PpMNKBZaJ7ar-6CaaLGTsH8xqoEpwCYbfk_1_YIiYz8/rs:fill:1900:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2F98872871405b92ed2342d5ff6be5c2b50b970f20.jpg@jpg" class="swiper-lazy" 
9363                                         width="1900" 
9364                                         height="600" 
9365                                         style="aspect-ratio: 1900/600;"
9366                                         alt="Sarmiento Palace Hotel">
9367                                    <div class="swiper-lazy-preloader"></div>
9368                                                                    </div>	
9369                                                            <div class="swiper-slide">
9370                                    <img data-src="https://images-new.pxsol.com/8lVWJPyfX5cmE5tncIMQyHjCMnnfXdtBz7fmX8e339o/rs:fill:1900:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2Fb3fbf3d669c5145b4a894c44e73687b5be357210.jpg@jpg" class="swiper-lazy" 
9371                                         width="1900" 
9372                                         height="600" 
9373                                         style="aspect-ratio: 1900/600;"
9374                                         alt="Sarmiento Palace Hotel">
9375                                    <div class="swiper-lazy-preloader"></div>
9376                                                                    </div>	
9377                                                            <div class="swiper-slide">
9378                                    <img data-src="https://images-new.pxsol.com/FxjCA8vq5WBEOzPierBOoUQNXWZA4tTSdUOSx7dTkXA/rs:fill:1900:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2FP203%2Fphotos%2Fc8d01bd6eba3acb1920bfca41c7295dad20d993d.jpg@jpg" class="swiper-lazy" 
9379                                         width="1900" 
9380                                         height="600" 
9381                                         style="aspect-ratio: 1900/600;"
9382                                         alt="Sarmiento Palace Hotel">
9383                                    <div class="swiper-lazy-preloader"></div>
9384                                                                    </div>	
9385                                                            <div class="swiper-slide">
9386                                    <img data-src="https://images-new.pxsol.com/6UQ2Uaej8IUTFaeTj7UUtpaxK8JiPpBHMLQQOQMWXkE/rs:fill:1900:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F2332892238675db2aeb9ebe7d1b849e6cbb9fd6913d.jpg@jpg" class="swiper-lazy" 
9387                                         width="1900" 
9388                                         height="600" 
9389                                         style="aspect-ratio: 1900/600;"
9390                                         alt="Sarmiento Palace Hotel">
9391                                    <div class="swiper-lazy-preloader"></div>
9392                                                                    </div>	
9393                                                            <div class="swiper-slide">
9394                                    <img data-src="https://images-new.pxsol.com/nMnB2YgIOlD8ZnzihdZZgcVGDMcISEP-e0zdeKwy3kE/rs:fill:1900:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F233289247809b64d75d552e55cb6fc73851dcf175a2.jpg@jpg" class="swiper-lazy" 
9395                                         width="1900" 
9396                                         height="600" 
9397                                         style="aspect-ratio: 1900/600;"
9398                                         alt="Sarmiento Palace Hotel">
9399                                    <div class="swiper-lazy-preloader"></div>
9400                                                                    </div>	
9401                                                            <div class="swiper-slide">
9402                                    <img data-src="https://images-new.pxsol.com/56itZlen0SzT1XLm-7mHU8j6baXPbVeO6hyyi-53FKk/rs:fill:1900:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F26661643520f3221b03ce0902d17067f72b95c0fbd4.jpg@jpg" class="swiper-lazy" 
9403                                         width="1900" 
9404                                         height="600" 
9405                                         style="aspect-ratio: 1900/600;"
9406                                         alt="Sarmiento Palace Hotel">
9407                                    <div class="swiper-lazy-preloader"></div>
9408                                                                    </div>	
9409                                                            <div class="swiper-slide">
9410                                    <img data-src="https://images-new.pxsol.com/oasimm5IByiE8twwBAPJXK_CvFj8-2Imd3AnympFbTI/rs:fill:1900:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F16663538470d4c406ee5e6d1289f6f715191b439638.jpg@jpg" class="swiper-lazy" 
9411                                         width="1900" 
9412                                         height="600" 
9413                                         style="aspect-ratio: 1900/600;"
9414                                         alt="Sarmiento Palace Hotel">
9415                                    <div class="swiper-lazy-preloader"></div>
9416                                                                    </div>	
9417                                                            <div class="swiper-slide">
9418                                    <img data-src="https://images-new.pxsol.com/6RQ4VNjgrpmO0rdsNYsr8Y92t7LgNoVVpcr6LdxaNKc/rs:fill:1900:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F151435785245702edfb37339afc9cdc9e7fea8900d5.jpg@jpg" class="swiper-lazy" 
9419                                         width="1900" 
9420                                         height="600" 
9421                                         style="aspect-ratio: 1900/600;"
9422                                         alt="Sarmiento Palace Hotel">
9423                                    <div class="swiper-lazy-preloader"></div>
9424                                                                    </div>	
9425                                        </div>
9426            <!-- Add Arrows -->
9427                        <div class="swiper-button-next swiper-button-next-1090"></div> <!-- igualmente el numero random va para las flechas de cambio de imágenes 
9427-->
9428            <div class="swiper-button-prev swiper-button-prev-1090"></div>
9429                                    
9430        </div>
9431    <!-- Así mismo para dataconfig-swiper le pasamos el numero random para identificarlo de otros -->
9432    <div class="dataconfig-swiper" data-id="1090" data-loop="true" data-speed=800 data-effect="fade" data-delay=5000 style="display:none" ></div>
9433</div>
9434
9435
9436			  </div>
9437			  </div><div  class="diplo_indexgal_overlay flex flex-center"  ><div  class="diplo_contentblock flex-column flex-m-center flex-s-start"  ><div  class="diplo_heading_lower fontsize-35px fontsize-lg-60px diplo_white padding-bottom-20 lineh-120"   style='max-width: 12em;'>Descubre nuestro hotel</div><div  class="diplo_white diplo_paragraphs margin-bottom-20"  ><p  class='textleft diplo_white ' >Te invitamos a disfrutar todo el confort en el corazón de Buenos Aires</p></div><a  class="diplo_cta cta_white_outline cta_autoh padding-20 pointerInitial"   href="/pt/galeria.html" target=""><div  class="mdi mdi-image-multiple margin-right-10 fontsize-18px"  ></div><div  class=""  >Ver Fotos</div></a></div></div></div> 
9438
9439
9440<div id='heroDiploTwo'  class="full"  ><div  class="diplo_hero_half autoheight full flex flex-center  padding-top-20 padding-bottom-70"  ><div  class="diplo_main_herotxt full flex flex-center"  ><div  class="diplo_contentblock padding-top-25 padding-bottom-25 padding-lg-top-50 padding-lg-bottom-50"  ><div  class='full'  Slides='3'>
9441			  <div class="neo_template_block neo_neo_social_proof pxModule_include ModuloWrap_neo_social_proof" id="neo_social_proof" >
9442			  
9443
9444 
9445<div class="swiper-socialproof-initializer" slides="3" swiperid="neosocialproof_1116405228"></div>
9446
9447<div class="neo_socialproof_slider_titulo">Nuestros huéspedes opinan</div>
9448 
9449<div class="neo_promoswiper_container swiper-container" id="neosocialproof_1116405228">
9450
9451<div class="neo_socialproof_slider_container swiper-wrapper">
9452
9453
9454  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_548043">
9455		
9456  		<div class="neo_socialproof_score">
9457			8.3		</div>
9458			
9459		<div class="neo_socialproof_subtitle">
9460			Lo mejor del hotel:
9461		</div>
9462		<div class="neo_socialproof_slide_besttxt">
9463			Ubicación		</div>
9464						<div class="neo_socialproof_slide_name">
9465			Guillermo, Argentina		</div>
9466			</a>
9467
9468	</div>
9469
9470
9471  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_547398">
9472		
9473  		<div class="neo_socialproof_score">
9474			9		</div>
9475			
9476		<div class="neo_socialproof_subtitle">
9477			Lo mejor del hotel:
9478		</div>
9479		<div class="neo_socialproof_slide_besttxt">
9480			Habitacion silenciosa y confortable.		</div>
9481						<div class="neo_socialproof_slide_name">
9482			Lilian, Argentina		</div>
9483			</a>
9484
9485	</div>
9486
9487
9488  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_547205">
9489		
9490  		<div class="neo_socialproof_score">
9491			9.8		</div>
9492			
9493		<div class="neo_socialproof_subtitle">
9494			Lo mejor del hotel:
9495		</div>
9496		<div class="neo_socialproof_slide_besttxt">
9497			Todo muy lindo, la atención excelente, realmente la pasé más que bien. Gracias.		</div>
9498						<div class="neo_socialproof_slide_name">
9499			Ruben, Ar		</div>
9500			</a>
9501
9502	</div>
9503
9504
9505  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_546221">
9506		
9507  		<div class="neo_socialproof_score">
9508			8.8		</div>
9509			
9510		<div class="neo_socialproof_subtitle">
9511			Lo mejor del hotel:
9512		</div>
9513		<div class="neo_socialproof_slide_besttxt">
9514			la verdad que el desayuno y la atencion del personal, como así las instalaciones, son excelentes, sin duda q volveré		</div>
9515						<div class="neo_socialproof_slide_name">
9516			Dario, Argentina		</div>
9517			</a>
9518
9519	</div>
9520
9521
9522  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_545417">
9523		
9524  		<div class="neo_socialproof_score">
9525			10		</div>
9526			
9527		<div class="neo_socialproof_subtitle">
9528			Lo mejor del hotel:
9529		</div>
9530		<div class="neo_socialproof_slide_besttxt">
9531			Destaco la calidez de la atención del personal		</div>
9532						<div class="neo_socialproof_slide_name">
9533			Quinodoz, Ar		</div>
9534			</a>
9535
9536	</div>
9537
9538
9539  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_543736">
9540		
9541  		<div class="neo_socialproof_score">
9542			8		</div>
9543			
9544		<div class="neo_socialproof_subtitle">
9545			Lo mejor del hotel:
9546		</div>
9547		<div class="neo_socialproof_slide_besttxt">
9548			location and personal are very good		</div>
9549						<div class="neo_socialproof_slide_name">
9550			Barrionuevo, United States		</div>
9551			</a>
9552
9553	</div>
9554
9555
9556  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_542087">
9557		
9558  		<div class="neo_socialproof_score">
9559			10		</div>
9560			
9561		<div class="neo_socialproof_subtitle">
9562			Lo mejor del hotel:
9563		</div>
9564		<div class="neo_socialproof_slide_besttxt">
9565			siempre nos atienden diez puntos!!		</div>
9566						<div class="neo_socialproof_slide_name">
9567			Facundo, Ar		</div>
9568			</a>
9569
9570	</div>
9571
9572
9573  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_541860">
9574		
9575  		<div class="neo_socialproof_score">
9576			9.8		</div>
9577			
9578		<div class="neo_socialproof_subtitle">
9579			Lo mejor del hotel:
9580		</div>
9581		<div class="neo_socialproof_slide_besttxt">
9582			Cumprimentos pela amabilidade
9583Pela higiene, pelas instalacoes. Recomendarei sempre seu hotel aos amigos.		</div>
9584						<div class="neo_socialproof_slide_name">
9585			Neusa, Br		</div>
9586			</a>
9587
9588	</div>
9589
9590
9591  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_541713">
9592		
9593  		<div class="neo_socialproof_score">
9594			8.7		</div>
9595			
9596		<div class="neo_socialproof_subtitle">
9597			Lo mejor del hotel:
9598		</div>
9599		<div class="neo_socialproof_slide_besttxt">
9600			Lo más positivo del hotel y que hace a una estadía agradable, es el personal.  Excelente la atención de todos, en cualquier horario. Realmente el trabajonque hacen suma muchoma dejar de lado algunas cuestiones del hotel.		</div>
9601						<div class="neo_socialproof_slide_name">
9602			Sandra, Uy		</div>
9603			</a>
9604
9605	</div>
9606
9607
9608  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_540162">
9609		
9610  		<div class="neo_socialproof_score">
9611			9.3		</div>
9612			
9613		<div class="neo_socialproof_subtitle">
9614			Lo mejor del hotel:
9615		</div>
9616		<div class="neo_socialproof_slide_besttxt">
9617			Todo muy bueno.		</div>
9618						<div class="neo_socialproof_slide_name">
9619			Godoy, Ar		</div>
9620			</a>
9621
9622	</div>
9623
9624
9625  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_539977">
9626		
9627  		<div class="neo_socialproof_score">
9628			9.2		</div>
9629			
9630		<div class="neo_socialproof_subtitle">
9631			Lo mejor del hotel:
9632		</div>
9633		<div class="neo_socialproof_slide_besttxt">
9634			Excelente atención del personal Muy completo el desayuno.Gracias por hacer tan placentera nuestra estadía!!!		</div>
9635						<div class="neo_socialproof_slide_name">
9636			Gonzalez, Ar		</div>
9637			</a>
9638
9639	</div>
9640
9641
9642  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_539615">
9643		
9644  		<div class="neo_socialproof_score">
9645			8.5		</div>
9646			
9647		<div class="neo_socialproof_subtitle">
9648			Lo mejor del hotel:
9649		</div>
9650		<div class="neo_socialproof_slide_besttxt">
9651			La ubicacion. El resto mucho no puedo opinar porque fueron pocos dias de estadia.		</div>
9652						<div class="neo_socialproof_slide_name">
9653			Melisa, Argentina		</div>
9654			</a>
9655
9656	</div>
9657
9658
9659  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_538930">
9660		
9661  		<div class="neo_socialproof_score">
9662			9.7		</div>
9663			
9664		<div class="neo_socialproof_subtitle">
9665			Lo mejor del hotel:
9666		</div>
9667		<div class="neo_socialproof_slide_besttxt">
9668			Muy buena la atencion en general, buen desayuno, buena limpieza. Recomiendo, sin dudas volveria en alguna ocasion.		</div>
9669						<div class="neo_socialproof_slide_name">
9670			Federico, Argentina		</div>
9671			</a>
9672
9673	</div>
9674
9675
9676  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_538357">
9677		
9678  		<div class="neo_socialproof_score">
9679			9.2		</div>
9680			
9681		<div class="neo_socialproof_subtitle">
9682			Lo mejor del hotel:
9683		</div>
9684		<div class="neo_socialproof_slide_besttxt">
9685			Personal amable. Desayuno rico.		</div>
9686						<div class="neo_socialproof_slide_name">
9687			Sergio, Argentina		</div>
9688			</a>
9689
9690	</div>
9691
9692
9693  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_536488">
9694		
9695  		<div class="neo_socialproof_score">
9696			8.8		</div>
9697			
9698		<div class="neo_socialproof_subtitle">
9699			Lo mejor del hotel:
9700		</div>
9701		<div class="neo_socialproof_slide_besttxt">
9702			Todo muy limpio, el desayuno abundante y variado		</div>
9703						<div class="neo_socialproof_slide_name">
9704			Gabriel, Argentina		</div>
9705			</a>
9706
9707	</div>
9708
9709
9710  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_534363">
9711		
9712  		<div class="neo_socialproof_score">
9713			9.5		</div>
9714			
9715		<div class="neo_socialproof_subtitle">
9716			Lo mejor del hotel:
9717		</div>
9718		<div class="neo_socialproof_slide_besttxt">
9719			La atención de recepción buena, no tenía agua caliente y resolvieron en 5 minutos.		</div>
9720						<div class="neo_socialproof_slide_name">
9721			Nelson, Uruguay		</div>
9722			</a>
9723
9724	</div>
9725
9726
9727  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_533823">
9728		
9729  		<div class="neo_socialproof_score">
9730			9.8		</div>
9731			
9732		<div class="neo_socialproof_subtitle">
9733			Lo mejor del hotel:
9734		</div>
9735		<div class="neo_socialproof_slide_besttxt">
9736			Excelente atención de los empleados, cordiales, atentos.		</div>
9737						<div class="neo_socialproof_slide_name">
9738			Marcelo Hugo, Argentina		</div>
9739			</a>
9740
9741	</div>
9742
9743
9744  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_532650">
9745		
9746  		<div class="neo_socialproof_score">
9747			8.3		</div>
9748			
9749		<div class="neo_socialproof_subtitle">
9750			Lo mejor del hotel:
9751		</div>
9752		<div class="neo_socialproof_slide_besttxt">
9753			Soy celiaca y me resolvieron bien el tema del desayuno. Gracias		</div>
9754						<div class="neo_socialproof_slide_name">
9755			Fabian, Argentina		</div>
9756			</a>
9757
9758	</div>
9759
9760
9761  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_531454">
9762		
9763  		<div class="neo_socialproof_score">
9764			8		</div>
9765			
9766		<div class="neo_socialproof_subtitle">
9767			Lo mejor del hotel:
9768		</div>
9769		<div class="neo_socialproof_slide_besttxt">
9770			El personal muy atentos y amables.		</div>
9771						<div class="neo_socialproof_slide_name">
9772			Moreira, Ar		</div>
9773			</a>
9774
9775	</div>
9776
9777
9778  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_527936">
9779		
9780  		<div class="neo_socialproof_score">
9781			9.2		</div>
9782			
9783		<div class="neo_socialproof_subtitle">
9784			Lo mejor del hotel:
9785		</div>
9786		<div class="neo_socialproof_slide_besttxt">
9787			todo excelente		</div>
9788						<div class="neo_socialproof_slide_name">
9789			Sergio, Argentina		</div>
9790			</a>
9791
9792	</div>
9793
9794
9795  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_527488">
9796		
9797  		<div class="neo_socialproof_score">
9798			9.7		</div>
9799			
9800		<div class="neo_socialproof_subtitle">
9801			Lo mejor del hotel:
9802		</div>
9803		<div class="neo_socialproof_slide_besttxt">
9804			Me gustó mucho el hotel y la habitación, muy cómoda y el trato muy cordial. Volvería sin dudar.		</div>
9805						<div class="neo_socialproof_slide_name">
9806			Peña, Ar		</div>
9807			</a>
9808
9809	</div>
9810
9811
9812  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_527415">
9813		
9814  		<div class="neo_socialproof_score">
9815			9		</div>
9816			
9817		<div class="neo_socialproof_subtitle">
9818			Lo mejor del hotel:
9819		</div>
9820		<div class="neo_socialproof_slide_besttxt">
9821			El Personal súper atento		</div>
9822						<div class="neo_socialproof_slide_name">
9823			Juan, Ar		</div>
9824			</a>
9825
9826	</div>
9827
9828
9829  <div class="neo_socialproof_slide_item swiper-slide" id="neosocial_item_526666">
9830		
9831  		<div class="neo_socialproof_score">
9832			10		</div>
9833			
9834		<div class="neo_socialproof_subtitle">
9835			Lo mejor del hotel:
9836		</div>
9837		<div class="neo_socialproof_slide_besttxt">
9838			Me hospedé allí por la cercanía a los lugares donde debía ir a terminar de cursar una especialización. Excelente ubicación, servicio y atención del personal del hotel. Volvería y lo recomendaría siempre. Muchas gracias, me sentí muy cómoda		</div>
9839						<div class="neo_socialproof_slide_name">
9840			Lorena Melisa, Argentina		</div>
9841			</a>
9842
9843	</div>
9844
9845
9846</div>
9847
9848
9849<button type="button" class="swiper-socialproof-nav swiper-prev"><i class="mdi mdi-chevron-left"></i></button>
9850<button type="button" class="swiper-socialproof-nav swiper-next"><i class="mdi mdi-chevron-right"></i></button>
9851
9852
9853</div>
9854
9855			  </div>
9856			  </div></div></div><div  class='container-neo-slider'  Slide='FondoComentarios' Width='1900' Height='600' Loop='true' Effect='Fade'>
9857			  <div class="neo_template_block neo_neo_swiper pxModule_include ModuloWrap_neo_swiper" id="neo_swiper" >
9858			  
9859
9860<!-- Module Start -->
9861
9862<div class="megacontainer-neo-swiper">
9863    <div class="swiper-container-1021"> <!-- le asignamos el numero random al contenedor -->
9864     
9865            <div class="swiper-wrapper">
9866                                        <div class="swiper-slide slide-one-pic">
9867                            <img src="https://images-new.pxsol.com/ARPNxO9Y_UsCNGW0BfsROQ9yae7l0LLosVGzSlEyOAw/rs:fill:1900:600:1/q:80/plain/https%3A%2F%2Ffiles-p.pxsol.com%2F68%2Fcompany%2Flibrary%2Fuser%2F4948334904c02e56c5fb679cd9739324ab1b562d74.jpg@jpg" 
9868                                 width="1900" 
9869                                 height="600" 
9870                                 style="aspect-ratio: 1900/600;"
9871                                 alt="Sarmiento Palace Hotel">
9872                                                    </div>	
9873                            </div>
9874            <!-- Add Arrows -->
9875                                    
9876        </div>
9877    <!-- Así mismo para dataconfig-swiper le pasamos el numero random para 
9877identificarlo de otros -->
9878    <div class="dataconfig-swiper" data-id="1021" data-loop="true" data-speed=800 data-effect="fade" data-delay=5000 style="display:none" ></div>
9879</div>
9880
9881
9882			  </div>
9883			  </div></div></div> 
9884
9885</div>
9886
9887		</div>
9888
9889
9890		
9891		<div class="main_wraper_footer" id="main_wraper_footer">
9892			
9893
9894<div class="neo_template_container neo_template_ computer">
9895
9896
9897<div  class="megacontainer-footer"  ><div  class="container-info-footer"  ><div  class="contact"  ><div id='neo_contact_info'  class="neo_template_block neo_neo_contact_info pxModule_include ModuloWrap_neo_contact_info"  ><div  class="neo-contact-container"  ><h4  class='neo-contact-title' >Sarmiento Palace Hotel</h4><ul  class='' ><li  class='' ><div  class=""  ><i class="fas fa-phone-volume"></i> +54 11 3530 0451</div></li><li  class='' ><div  class=""  ><i class="fas fa-phone-volume"></i> +54 11 4953 0753</div></li><li  class='' ><a  class=""   target='_blank' href="https://api.whatsapp.com/send?phone=5491173613250" target=""><i class="fab fa-whatsapp"></i> +54 9 11 7361 3250 (Reservas)</a></li><li  class='' ><a  class=""   target='_blank' href="https://api.whatsapp.com/send?phone=5491124050898" target=""><i class="fab fa-whatsapp"></i> +54 9 11 24050898 (Recepción)</a></li><li  class='' ><a  class=""   target='_blank' href="https://www.google.com/maps/search/Sarmiento%20Palace%20Hotel,%20Sarmiento%201953,%20C1044AAC%20CABA,%20Argentina%20Buenos%20Aires%20-%20Argentina" target=""><i class="fas fa-map-marker-alt"></i> Sarmiento 1953, C1044AAC CABA, Argentina</a></li><li  class='' ><a class="" target='_blank' href="/cdn-cgi/l/email-protection#264f484049664e4952434a5547544b4f434852490845494b084754" target=""><i class="far fa-envelope"></i> <span class="__cf_email__" data-cfemail="3b52555d547b53544f5e57485a4956525e554f5415585456155a49">[email&#160;protected]</span></a></li></ul></div></div></div><div  class="logo"  > <img loading="lazy"  class=""   lazy-src="https://files-p.pxsol.com/68/company/library/user/148449938943582335ea1aa44003cb5736119b4c552.png" alt="SarmientoPalace" > </image></div><div  class="logo"   style='margin:0px 40px;'>
vendor: 108 bytes, line 9897
9897<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
9897<script  class=''  async='' src='https://badge.hotelstatic.com/embed.js' data-url='https://www.booking.com/hotel/ar/sarmiento-palace.html' data-size='120' data-position='inline' data-clickable='true'></script>
9897</div><div  class="logo"  ><a  class="boton-quejas"   href="/pt/librodequejas.html" target="">LIBRO DE QUEJAS ONLINE</a></div><div  class="social"  ><div  class=""  ><div  class='' >
9898			  <div class="neo_template_block neo_neo_social_links pxModule_include ModuloWrap_neo_social_links" id="neo_social_links" >
9899			  
9900
9901<div class="neo_social_links_container social_block">
9902  <ul class="neo_links_list">
9903          <li class="facebook_page">
9904        <a href="https://www.facebook.com/sarmiento.palace" target="_blank">
9905          <i class="mdi mdi-facebook"></i>
9906        </a>
9907      </li>
9908              <li class="instagram_page">
9909        <a href="https://www.instagram.com/hotelsarmientopalace/?hl=es" target="_blank">
9910          <i class="mdi mdi-instagram"></i>
9911        </a>
9912      </li>
9913                          </ul>
9914</div>
9915  <div class="wsp_floating">
9916    <a href="https://api.whatsapp.com/send?phone=5491173613250" target="_blank">
9917      <i class="mdi mdi-whatsapp"></i>
9918    </a>
9919  </div>
9920			  </div>
9921			  </div></div><div  class=""  ><div  class='' ><div class='pxModule_include  ModuloWrap_newsletter  '><div id="content_news">
9922    <div class="left full titlenewsletter">SUBSCREVA A NOSSA NEWSLETTER</div>
9923    <form id="form_suscribe" name="form_suscribe" method="post" action="/contact/newsletter">
9924        <div class="wrap_imputs">
9925            <div class="wrap_emails">
9926                <input name="email" type="text" id="email" class="input_newsletter" value="" placeholder="Digite seu email" />
9927            </div>
9928            <div class="SuscribeTitle">
9929                <div id="newsletter-recaptcha" data-sitekey="6LfWJEIUAAAAANStHukodcdKv4tnwSFLknAMB_FM"></div>
9930                <button type="submit" onClick="ga('send','event','click','boton_suscribirse','form_suscribirse');" class="boton_newsletter" id="Import">Subscrever</button>
9931                <input name="company_id" type="hidden" id="company_id" value="68" />
9932            </div> 
9933        </div>
9934    </form>
9935</div>
9936</div></div></div></div></div></div> 
9937
9938</div>
9939
9940			<div id="footer_px" class="noprint footer_px_fix" style="max-width: 100vw; box-sizing: border-box; overflow-x: hidden;">
9941    <div class="wraper_footerpx flex-column flex-center">
9942
9943        
9944        <div class="texto_footerpx">
9945            Ao usar este site, você concorda com o uso de cookies.            <a target="_blank" rel="nofollow" href="/cookiespolicies.php?pos=SarmientoPalace" class="footer_link">Política de cookies</a> | <a target="_blank" rel="nofollow" href="/terms.php?pos=SarmientoPalace" class="footer_link">Termos e Condições</a> | <a target="_blank" rel="nofollow" href="/policies.php?pos=SarmientoPalace" class="footer_link">Política de privacidade</a> | <span>Cache:
9946                2026-09-26 13:24:46 | </span><a href="" rel="nofollow" target="_blank">Textos</a> | <span class="framework_f">Framework: 3 | <span class="framework_f">Tag: <span class="tag_cookie">..</span> </span> </span>
9947        </div>
9948
9949            <div class="pxsol_link_f">
9950        <a style="text-decoration: underline !important;" target="_blank" href="https://www.pxsol.com/pos_source=SarmientoPalace" class="footer_link">Sistema Hotelero</a>
9951        por        <a href="/" target="_blank" class="footer_link footer_logo_svg" title="Sistema Hotelero">
9952            <?xml version="1.0" encoding="UTF-8" standalone="no"?>
9953<svg
9954   xmlns:dc="http://purl.org/dc/elements/1.1/"
9955   xmlns:cc="http://creativecommons.org/ns#"
9956   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9957   xmlns:svg="http://www.w3.org/2000/svg"
9958   xmlns="http://www.w3.org/2000/svg"
9959   viewBox="0 0 752.42535 358.37866"
9960   height="50px"
9961   width="23px"
9962   xml:space="preserve"
9963   id="svg2"
9964   version="1.1"><metadata
9965     id="metadata8"><rdf:RDF><cc:Work
9966         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
9967           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
9968     id="defs6"><clipPath
9969       id="clipPath18"
9970       clipPathUnits="userSpaceOnUse"><path
9971         id="path16"
9972         d="M 0,268.784 H 564.319 V 0 H 0 Z" /></clipPath></defs><g
9973     transform="matrix(1.3333333,0,0,-1.3333333,0,358.37867)"
9974     id="g10"><g
9975       id="g12"><g
9976         clip-path="url(#clipPath18)"
9977         id="g14"><g
9978           transform="translate(23.3438,154.8828)"
9979           id="g20"><path
9980             id="path22"
9981             style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
9982             d="m 0,0 h 12.405 c 11.978,0 20.768,1.891 26.369,5.674 5.601,3.781 8.4,9.691 8.4,17.728 0,7.447 -2.507,13.002 -7.521,16.666 -5.013,3.664 -12.828,5.496 -23.44,5.496 H 0 Z m 71.202,24.112 c 0,-13.534 -4.884,-23.905 -14.65,-31.115 -9.768,-7.21 -23.67,-10.814 -41.707,-10.814 H 0 V -66.309 H -23.344 V 63.294 h 41.118 c 17.841,0 31.207,-3.311 40.097,-9.929 8.886,-6.619 13.331,-16.37 13.331,-29.253" /></g><g
9983           transform="translate(325.4336,123.7686)"
9984           id="g24"><path
9985             id="path26"
9986             style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
9987             d="m 0,0 c 0,-11.524 -4.59,-20.565 -13.773,-27.126 -9.179,-6.561 -21.846,-9.84 -37.994,-9.84 -16.149,0 -29.367,2.274 -39.653,6.824 v 20.036 c 6.509,-2.78 13.43,-4.964 20.754,-6.56 7.327,-1.596 14.147,-2.392 20.462,-2.392 9.246,0 16.068,1.594 20.462,4.785 4.396,3.191 6.595,7.475 6.595,12.853 0,4.847 -2.02,8.956 -6.057,12.323 -4.039,3.369 -12.372,7.358 -25.005,11.968 -13.023,4.787 -22.204,10.252 -27.542,16.4 -5.341,6.145 -8.01,13.532 -8.01,22.161 0,10.815 4.233,19.324 12.698,25.53 8.463,6.205 19.827,9.308 34.087,9.308 13.675,0 27.284,-2.719 40.829,-8.156 L -9.572,70.829 c -12.697,4.844 -24.028,7.269 -33.99,7.269 -7.555,0 -13.285,-1.494 -17.19,-4.477 -3.906,-2.985 -5.86,-6.93 -5.86,-11.834 0,-3.369 0.781,-6.25 2.344,-8.644 1.563,-2.393 4.134,-4.653 7.716,-6.782 3.58,-2.127 10.026,-4.935 19.339,-8.421 10.484,-3.959 18.166,-7.654 23.05,-11.08 4.884,-3.429 8.464,-7.3 10.745,-11.613 C -1.14,10.933 0,5.85 0,0" /></g><g
9988           transform="translate(355.8486,153.5532)"
9989           id="g28"><path
9990             id="path30"
9991             style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
9992             d="m 0,0 c 0,-15.956 3.547,-28.057 10.646,-36.299 7.097,-8.245 17.614,-12.369 31.548,-12.369 13.87,0 24.335,4.08 31.401,12.235 7.064,8.155 10.598,20.3 10.598,36.433 0,15.897 -3.501,27.953 -10.5,36.168 C 66.693,44.382 56.26,48.49 42.39,48.49 28.391,48.49 17.826,44.382 10.694,36.168 3.564,27.953 0,15.897 0,0 m 109.001,0 c 0,-21.097 -5.811,-37.498 -17.434,-49.198 C 79.946,-60.901 63.486,-66.75 42.194,-66.75 c -21.553,0 -38.108,5.806 -49.667,17.418 -11.558,11.613 -17.334,28.116 -17.334,49.509 0,21.394 5.81,37.823 17.433,49.288 11.622,11.464 28.21,17.198 49.764,17.198 21.227,0 37.635,-5.822 49.227,-17.464 C 103.205,37.556 109.001,21.156 109.001,0" /></g><g
9993           transform="translate(480.5166,88.5742)"
9994           id="g32"><path
9995             id="path34"
9996             style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
9997             d="M 0,0 V 129.603 H 23.342 V 18.175 H 83.803 V 0 Z" /></g><g
9998           transform="translate(95.5459,218.4404)"
9999           id="g36"><path
10000             id="path38"
10001             style="fill:#ee2735;fill-opacity:1;fill-rule:nonzero;stroke:none"
10002             d="m 0,0 42.967,-58.803 -68.085,-93.3 30.263,-9.074 56.235,77.141 87.961,-120.538 46.28,-13.866 L 79.583,-59.091 159.441,50.344 112.198,36.084 60.982,-33.892 29.65,9.046 Z" /></g></g></g></g></svg>        </a>
10003    </div>
10004
10005    </div>
10006</div>
10007
10008
10009<script>
10010    function loadPxChatWidget() {
10011        const posToGetApiKey = 'SarmientoPalace';
10012        const timestamp = '1790446792';
10013        const urlToGetApiKey = `https://px-chat-widget-prod.pxsol.com/company-widget/apiKey/${posToGetApiKey}?v=${timestamp}`;
10014
10015        fetch(urlToGetApiKey, {
10016                method: 'GET',
10017                headers: {
10018                    'Content-Type': 'application/json',
10019                }
10020            })
10021            .then(response => {
10022                if (!response.ok) {
10023                    throw new Error(`HTTP error! status: ${response.status}`);
10024                }
10025                return response.json();
10026            })
10027            .then(data => {
10028                const internalKey = data?.data?.api_key;
10029                if (!internalKey) {
10030                    throw new Error('API key not found in response');
10031                }
10032
10033                const script = document.createElement('script');
10034                script.src = `https://cdn.pxsol.com/dist/chat-widget.min.js?k=${internalKey}&v=${timestamp}`;
10035                script.async = true;
10036                script.onload = () => {
10037                    console.log('PxChat widget loaded successfully');
10038                };
10039                script.onerror = (error) => {
10040                    console.error('Failed to load PxChat widget:', error);
10041                };
10042                document.body.appendChild(script);
10043            })
10044            .catch(error => {
10045                console.error('PxChat widget initialization failed:', error.message);
10046            });
10047    }
10048        document.addEventListener("DOMContentLoaded", loadPxChatWidget);
10049    </script>
10049
10050
10051<style>
10052    /* El botón flotante de WhatsApp (.wsp_floating) y el launcher del widget de chat (pxChat)
10053       se ubican ambos en la esquina inferior derecha y chocan entre sí. Cuando el chat está
10054       activo/montado, ocultamos el botón de WhatsApp para evitar la superposición. */
10055    body.px-chat-widget-active .wsp_floating { display: none !important; }
10056</style>
10057<script>
10058    (function () {
10059        // El widget pxChat monta su launcher/panel bajo #px-widget-root (clase .widget-launcher-button).
10060        function chatWidgetPresent() {
10061            return !!(
10062                document.getElementById('px-widget-root') ||
10063                document.querySelector('.widget-launcher-button, [class*="widget-launcher"]')
10064            );
10065        }
10066        var applied = false;
10067        var observer = null;
10068        var fallbackTimer = null;
10069        function apply() {
10070            if (applied || !document.body || !chatWidgetPresent()) return;
10071            document.body.classList.add('px-chat-widget-active');
10072            applied = true;
10073            if (observer) observer.disconnect();
10074            if (fallbackTimer) clearTimeout(fallbackTimer);
10075        }
10076        function start() {
10077            apply();
10078            if (applied || !('MutationObserver' in window) || !document.body) return;
10079            // El widget carga async (fetch de apiKey + inyección del 
10079<script>), así que observamos
10080            // el DOM hasta que aparezca. Si a los 20s no montó, dejamos de observar.
10081            observer = new MutationObserver(apply);
10082            observer.observe(document.body, { childList: true, subtree: true });
10083            fallbackTimer = setTimeout(function () {
10084                if (observer) observer.disconnect();
10085            }, 20000);
10086        }
10087        if (document.readyState === 'loading') {
10088            document.addEventListener('DOMContentLoaded', start);
10089        } else {
10090            start();
10091        }
10092    })();
10093</script>
10093
10094
10095<script src="https://cdn.pxsol.com/js/domready.js"></script>
vendor: 1 bytes, line 10095
10095
10096<script>
10097    var head = document.getElementsByTagName('head')[0];
10098
10099    function initializeFontAwesome() {
10100        var link = document.createElement('link');
10101        link.id = "fawesome";
10102        link.rel = 'stylesheet';
10103        link.type = 'text/css';
10104        link.href = 'https://use.fontawesome.com/releases/v5.7.1/css/all.css';
10105        head.appendChild(link);
10106    }
10107
10108    function initializeMDI() {
10109        var link = document.createElement('link');
10110        link.id = "fawesome";
10111        link.rel = 'stylesheet';
10112        link.type = 'text/css';
10113        link.href = '/css/materialdesignicons.min.css';
10114        head.appendChild(link);
10115    }
10116
10117    function initializeToast() {
10118        // check if jquery is loaded
10119        if (typeof jQuery == 'function') {
10120            let link = document.createElement('link');
10121            link.id = "jqToastCss";
10122            link.rel = 'stylesheet';
10123            link.type = 'text/css';
10124            link.href = '/includes/toast/jquery.toast.min.css';
10125            head.appendChild(link);
10126            let script = document.createElement('script');
10127            script.id = "jqToastJs";
10128            script.type = 'text/javascript';
10129            script.defer = true;
10130            script.async = true;
10131            script.src = '/includes/toast/jquery.toast.min.js';
10132            head.appendChild(script);
10133        } else {
10134            console.log('jQuery is not loaded. Toast could not be initialized.');
10135        }
10136    }
10137
10138    DomReady.ready(function() {
10139        var link = document.createElement('link');
10140        link.id = "siteCss";
10141        link.rel = 'stylesheet';
10142        link.type = 'text/css';
10143
10144                    link.href =
10145				'/css_3.css?pos=SarmientoPalace&device=computer&posv=1790446792_2025-10-27T15:48:02.000Z&filev=1782498034';
10146                            head.appendChild(link);
10147
10148        if (typeof deferFontAwesome !== "undefined") {
10149            if (!deferFontAwesome) {
10150                initializeFontAwesome();
10151            }
10152        } else {
10153            initializeFontAwesome();
10154        }
10155
10156        if (typeof deferMDI !== "undefined") {
10157            if (!deferMDI) {
10158                initializeMDI();
10159            }
10160        } else {
10161            initializeMDI();
10162        }
10163
10164        if (typeof deferToast !== "undefined") {
10165            if (!deferToast) {
10166                initializeToast();
10167            }
10168        } else {
10169            initializeToast();
10170        }
10171
10172    });
10173</script>
vendor: 1 bytes, line 10173
10173
10174<script>
10175	(function(){
10176		console.log('%c[pxChat] 🚀 Chat tracking script loaded (Chromium optimized)', 'color: #4CAF50; font-weight: bold; font-size: 14px;');
10177		window.dataLayer = window.dataLayer || [];
10178		function generateId(prefix){
10179			const rnd = ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
10180				(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
10181			);
10182			return (prefix || 'id_') + rnd;
10183		}
10184		function getPxContext(){
10185			try { return window.pxContext || {}; } catch(e){ return {}; }
10186		}
10187		function getSessionId(){
10188			const ctx = getPxContext();
10189			if (ctx.session_id) return ctx.session_id;
10190			let sid = sessionStorage.getItem('px_session_id');
10191			if (!sid){ sid = generateId('s_'); sessionStorage.setItem('px_session_id', sid); }
10192			return sid;
10193		}
10194		function getChatSessionId(){
10195			let cid = sessionStorage.getItem('px_chat_session_id');
10196			if (!cid){ cid = generateId('c_'); sessionStorage.setItem('px_chat_session_id', cid); }
10197			return cid;
10198		}
10199		function basePayload(){
10200			const ctx = getPxContext();
10201			const pos = (ctx.pos || 'SarmientoPalace') || null;
10202			const hotelId = (ctx.product_id || '203') || null;
10203			return {
10204				session_id: getSessionId(),
10205				search_id: ctx.search_id || ctx.SearchID || null,
10206				pos: pos,
10207				post: pos,
10208				hotel_id: hotelId,
10209				page_url: location.href
10210			};
10211		}
10212		function pushEvent(name, extra){
10213			const params = Object.assign({}, basePayload(), extra || {});
10214			// Dedupe: evita repetidos en ±1s por sesión/mensaje
10215			try {
10216				const keyId = params.chat_session_id || params.chat_id || '';
10217				const key = name + '|' + String(keyId);
10218				const now = Date.now();
10219				window.__px_evt_dedupe = window.__px_evt_dedupe || {};
10220				const last = window.__px_evt_dedupe[key] || 0;
10221				if (now - last < 1000) { 
10222					return; 
10223				}
10224				window.__px_evt_dedupe[key] = now;
10225			} catch(_e){
10226				console.error('[pxChat] Error in pushEvent dedupe:', _e);
10227			}
10228			// Evitar duplicados: si pxTrack existe, delegamos y NO empujamos a dataLayer aquí
10229			if (typeof window.pxTrack === 'function') {
10230				try { 
10231					console.log('[pxChat] 📤 Calling pxTrack for', name, 'with params:', params);
10232					window.pxTrack(name, params); 
10233					console.log('%c[pxChat] ✅ ' + name + ' event dispatched successfully', 'color: #4CAF50; font-weight: bold;');
10234				} catch(e){
10235					console.error('[pxChat] ❌ Error calling window.pxTrack for', name, ':', e);
10236				}
10237				return;
10238			}
10239			const payload = Object.assign({ event: name }, params);
10240			console.log('[pxChat] 📤 Pushing to dataLayer:', payload);
10241			window.dataLayer.push(payload);
10242			console.log('%c[pxChat] ✅ ' + name + ' event pushed to dataLayer', 'color: #4CAF50; font-weight: bold;');
10243		}
10244		let chatOpenTsMs = null;
10245		let chatIsOpen = false;
10246		let lastOpenPushMs = 0;
10247		let closeGuardTimer = null;
10248		let lastStateChangeMs = 0;
10249		let lastCloseCallMs = 0; // Guard para prevenir múltiples llamadas rápidas a handleChatClose
10250		let lastOpenCallMs = 0; // Guard para prevenir múltiples llamadas rápidas a handleChatOpen
10251		let MIN_CHAT_DURATION_MS = 3000; // Mínimo 3 segundos entre chat_open y chat_close (previene falsos positivos en Chrome)
10252		let OPEN_DEBOUNCE_MS = 300; // Debounce para chat_open (300ms - solo para múltiples llamadas rápidas)
10253		let CLOSE_DEBOUNCE_MS = 400; // Debounce para chat_close (400ms - solo para múltiples llamadas rápidas)
10254		let pendingOpenTimer = null; // Timer para debounce de open
10255		let pendingCloseTimer = null; // Timer para debounce de close
10256		let openCallCount = 0; // Contador de llamadas rápidas a open
10257		let closeCallCount = 0; // Contador de llamadas rápidas a close
10258		function syncChatState(){
10259			try {
10260				// Guard mínimo: no sincronizar si acabamos de cambiar estado hace menos de 200ms
10261				const now = Date.now();
10262				if (now - lastStateChangeMs < 200) {
10263					console.log('[pxChat] syncChatState throttled (' + (now - lastStateChangeMs) + 'ms ago)');
10264					return;
10265				}
10266				// Priorizar estado del launcher: clase --open
10267				// Buscar el botón con múltiples selectores
10268				const btn = document.querySelector('.widget-launcher-button') || 
10269				            document.querySelector('[class*="widget-launcher"]') ||
10270				            document.querySelector('[class*="launcher-button"]');
10271				if (btn && btn.classList) {
10272					const isOpenBtn = btn.classList.contains('widget-launcher-button--open') || 
10273					                  btn.classList.toString().indexOf('--open') !== -1;
10274					console.log('[pxChat] syncChatState: button state check:', {
10275						isOpenBtn: isOpenBtn,
10276						chatIsOpen: chatIsOpen,
10277						buttonClasses: btn.className
10278					});
10279					if (isOpenBtn && !chatIsOpen) { 
10280						console.log('[pxChat] syncChatState: button is open but chatIsOpen is false, calling handleChatOpen');
10281						lastStateChangeMs = now; 
10282						return handleChatOpen(); 
10283					}
10284					if (!isOpenBtn && chatIsOpen) { 
10285						// Guard mínimo: no cerrar si el chat se abrió hace menos de 3 segundos
10286						const startMs = chatOpenTsMs || lastOpenPushMs || null;
10287						if (startMs && (now - startMs < 3000)) {
10288							console.log('[pxChat] syncChatState: chat_close blocked - chat opened too recently (' + Math.round((now - startMs) / 1000) + 's ago, minimum 3s)');
10289							return;
10290						}
10291						// CRÍTICO: Esperar y verificar nuevamente que el botón realmente está cerrado
10292						// Esto previene disparos prematuros cuando el DOM aún se está actualizando
10293						setTimeout(function() {
10294							const btnCheck = document.querySelector('.widget-launcher-button') || 
10295							                  document.querySelector('[class*="widget-launcher"]') ||
10296							                  document.querySelector('[class*="launcher-button"]');
10297							const isStillOpen = btnCheck && btnCheck.classList && (
10298								btnCheck.classList.contains('widget-launcher-button--open') || 
10299								btnCheck.classList.toString().indexOf('--open') !== -1
10300							);
10301							const ifrCheck = findChatIframe();
10302							const isIframeVisible = isElementVisible(ifrCheck);
10303							
10304							console.log('[pxChat] syncChatState: delayed verification after button close:', {
10305								isStillOpen: isStillOpen,
10306								isIframeVisible: isIframeVisible,
10307								chatIsOpen: chatIsOpen
10308							});
10309							
10310							if (isStillOpen) {
10311								console.log('[pxChat] syncChatState: chat_close CANCELLED - button still shows as open after delay');
10312								return;
10313							}
10314							if (isIframeVisible) {
10315								console.log('[pxChat] syncChatState: chat_close CANCELLED - iframe still visible after delay');
10316								return;
10317							}
10318							if (!chatIsOpen) {
10319								console.log('[pxChat] syncChatState: chat_close CANCELLED - chatIsOpen is already false');
10320								return;
10321							}
10322							
10323							console.log('[pxChat] syncChatState: button confirmed closed after delay, calling handleChatClose');
10324							lastStateChangeMs = Date.now();
10325							handleChatClose();
10326						}, 600); // Esperar 600ms para confirmar que el DOM se actualizó completamente
10327						return;
10328					}
10329				}
10330				// CRÍTICO: NO usar iframe como fallback si hay un botón disponible
10331				// El iframe puede no ser visible incluso cuando el chat está abierto
10332				// Solo confiar en el botón launcher para determinar el estado
10333				if (!btn) {
10334					// Solo si NO hay botón, intentar buscar el botón de nuevo con un selector más amplio
10335					const btnRetry = document.querySelector('.widget-launcher-button, [class*="widget-launcher"], [class*="launcher-button"]');
10336					if (btnRetry && btnRetry.classList) {
10337						const isOpenBtnRetry = btnRetry.classList.contains('widget-launcher-button--open') || 
10338						                       btnRetry.classList.toString().indexOf('--open') !== -1;
10339						console.log('[pxChat] syncChatState: retry button found:', {
10340							isOpenBtnRetry: isOpenBtnRetry,
10341							chatIsOpen: chatIsOpen,
10342							buttonClasses: btnRetry.className
10343						});
10344						if (isOpenBtnRetry && !chatIsOpen) { 
10345							console.log('[pxChat] syncChatState: retry button is open but chatIsOpen is false, calling handleChatOpen');
10346							lastStateChangeMs = now; 
10347							return handleChatOpen(); 
10348						}
10349						if (!isOpenBtnRetry && chatIsOpen) { 
10350							// Guard mínimo: no cerrar si el chat se abrió hace menos de 3 segundos
10351							const startMs = chatOpenTsMs || lastOpenPushMs || null;
10352							if (startMs && (now - startMs < 3000)) {
10353								console.log('[pxChat] syncChatState: chat_close blocked - chat opened too recently (' + Math.round((now - startMs) / 1000) + 's ago, minimum 3s)');
10354								return;
10355							}
10356							// Verificar nuevamente antes de cerrar
10357							setTimeout(function() {
10358								const btnCheck = document.querySelector('.widget-launcher-button, [class*="widget-launcher"], [class*="launcher-button"]');
10359								const isStillOpen = btnCheck && (btnCheck.classList.contains('widget-launcher-button--open') || 
10360								                                 btnCheck.classList.toString().indexOf('--open') !== -1);
10361								
10362								if (isStillOpen || !chatIsOpen) {
10363									console.log('[pxChat] syncChatState: chat_close CANCELLED - button still open or chatIsOpen is false');
10364									return;
10365								}
10366								
10367								console.log('[pxChat] syncChatState: retry button confirmed closed after delay, calling handleChatClose');
10368								lastStateChangeMs = Date.now();
10369								handleChatClose();
10370							}, 600);
10371							return;
10372						}
10373					}
10374					
10375					// ÚLTIMO RECURSO: Solo usar iframe si NO hay botón Y el chat está abierto
10376					// Y solo para abrir, NUNCA para cerrar (el iframe no es confiable para cerrar)
10377					const ifr = findChatIframe();
10378					const visible = isElementVisible(ifr);
10379					console.log('[pxChat] syncChatState: iframe LAST RESORT check (only for opening):', {
10380						visible: visible,
10381						chatIsOpen: chatIsOpen,
10382						hasIframe: !!ifr
10383					});
10384					// Solo usar iframe para detectar apertura, NUNCA para cerrar
10385					if (visible && !chatIsOpen) { 
10386						console.log('[pxChat] syncChatState: iframe visible but chatIsOpen is false, calling handleChatOpen');
10387						lastStateChangeMs = now; 
10388						return handleChatOpen(); 
10389					}
10390					// NO usar iframe para cerrar - solo confiar en el botón
10391					if (!visible && chatIsOpen) { 
10392						console.log('[pxChat] syncChatState: iframe not visible but chatIsOpen is true - IGNORING (iframe not reliable for closing)');
10393						return; // NO hacer nada - solo el botón puede cerrar
10394					}
10395				}
10396			} catch(_e){
10397				console.error('[pxChat] syncChatState error:', _e);
10398			}
10399		}
10400		function handleChatOpen(meta){
10401			console.log('[pxChat] handleChatOpen called:', { chatIsOpen: chatIsOpen, meta: meta });
10402			
10403			// Si ya está abierto, no hacer nada
10404			if (chatIsOpen) {
10405				console.log('[pxChat] handleChatOpen skipped - chat already open');
10406				return;
10407			}
10408			
10409			const now = Date.now();
10410			
10411			// Guard mínimo: no abrir si se cerró hace menos de 500ms (solo para prevenir toggle extremo)
10412			if (lastCloseCallMs && (now - lastCloseCallMs < 500)) {
10413				console.log('[pxChat] handleChatOpen blocked - chat closed too recently (' + (now - lastCloseCallMs) + 'ms ago)');
10414				return;
10415			}
10416			
10417			// Throttling mínimo: solo prevenir llamadas duplicadas en menos de 200ms
10418			if (now - lastOpenCallMs < 200) {
10419				console.log('[pxChat] handleChatOpen throttled (too soon)');
10420				return;
10421			}
10422			
10423			lastOpenCallMs = now;
10424			
10425			// Cancelar cualquier close pendiente
10426			if (pendingCloseTimer) {
10427				clearTimeout(pendingCloseTimer);
10428				pendingCloseTimer = null;
10429				console.log('[pxChat] handleChatOpen: cancelled pending close');
10430			}
10431			
10432			// Disparar inmediatamente (sin debounce para Chromium)
10433			console.log('[pxChat] handleChatOpen: calling doChatOpen immediately');
10434			doChatOpen(meta);
10435		}
10436		
10437		function doChatOpen(meta) {
10438			// Verificar estado del botón (prioridad máxima para Chromium)
10439			// Buscar el botón con múltiples selectores
10440			const btn = document.querySelector('.widget-launcher-button') || 
10441			            document.querySelector('[class*="widget-launcher"]') ||
10442			            document.querySelector('[class*="launcher-button"]');
10443			const isActuallyOpen = btn && btn.classList && (
10444				btn.classList.contains('widget-launcher-button--open') || 
10445				btn.classList.toString().indexOf('--open') !== -1
10446			);
10447			const ifr = findChatIframe();
10448			const isIframeVisible = isElementVisible(ifr);
10449			
10450			// Log detallado para debugging en Chromium
10451			console.log('[pxChat] doChatOpen called:', {
10452				isActuallyOpen: isActuallyOpen,
10453				isIframeVisible: isIframeVisible,
10454				chatIsOpen: chatIsOpen,
10455				hasButton: !!btn,
10456				buttonClasses: btn ? btn.className : 'no button'
10457			});
10458			
10459			// Si el botón existe y dice que está abierto, proceder
10460			// Si no hay botón pero el iframe es visible, también proceder
10461			if (!isActuallyOpen && !isIframeVisible && btn) {
10462				console.warn('[pxChat] doChatOpen: button exists but not showing as open, proceeding anyway');
10463			}
10464			
10465			// Guardar timestamp ANTES de cambiar el estado (importante para Chrome)
10466			const now = Date.now();
10467			chatOpenTsMs = now;
10468			lastOpenPushMs = now;
10469			chatIsOpen = true;
10470			const chat_session_id = (meta && (meta.chat_session_id || meta.session_id)) || getChatSessionId();
10471			
10472			// Log para debugging
10473			console.log('[pxChat] 🚀 FIRING chat_open event:', {
10474				chatOpenTsMs: chatOpenTsMs,
10475				lastOpenPushMs: lastOpenPushMs,
10476				timestamp: now,
10477				chat_session_id: chat_session_id
10478			});
10479			pushEvent('chat_open', { chat_session_id });
10480		}
10481		function handleChatMessage(meta){
10482			const chat_id = meta && (meta.chat_id || meta.message_id) || null;
10483			const message_type = meta && (meta.message_type || meta.type) || null;
10484			const payload = { chat_id, message_type };
10485			pushEvent('chat_message', payload);
10486		}
10487		function handleChatClose(meta){
10488			console.log('[pxChat] handleChatClose called:', { chatIsOpen: chatIsOpen, meta: meta });
10489			
10490			// Si ya está cerrado, no hacer nada
10491			if (!chatIsOpen) {
10492				console.log('[pxChat] handleChatClose skipped - chat already closed');
10493				return;
10494			}
10495			
10496			const now = Date.now();
10497			
10498			// Guard crítico: prevenir que chat_close se dispare inmediatamente después de chat_open
10499			// Aumentado a 3 segundos para evitar disparos prematuros
10500			const startMs = chatOpenTsMs || lastOpenPushMs || null;
10501			if (startMs && (now - startMs < 3000)) {
10502				console.log('[pxChat] handleChatClose blocked - chat opened too recently (' + Math.round((now - startMs) / 1000) + 's ago, minimum 3s required)');
10503				return;
10504			}
10505			
10506			// Verificación adicional: asegurarse de que el botón realmente está cerrado
10507			// Buscar el botón con múltiples selectores
10508			const btn = document.querySelector('.widget-launcher-button') || 
10509			            document.querySelector('[class*="widget-launcher"]') ||
10510			            document.querySelector('[class*="launcher-button"]');
10511			const isActuallyOpen = btn && btn.classList && (
10512				btn.classList.contains('widget-launcher-button--open') || 
10513				btn.classList.toString().indexOf('--open') !== -1
10514			);
10515			if (isActuallyOpen) {
10516				console.log('[pxChat] handleChatClose blocked - button still shows as open');
10517				return;
10518			}
10519			
10520			// Throttling mínimo: solo prevenir llamadas duplicadas en menos de 200ms
10521			if (now - lastCloseCallMs < 200) {
10522				console.log('[pxChat] handleChatClose throttled (too soon)');
10523				return;
10524			}
10525			
10526			lastCloseCallMs = now;
10527			
10528			// Cancelar cualquier open pendiente
10529			if (pendingOpenTimer) {
10530				clearTimeout(pendingOpenTimer);
10531				pendingOpenTimer = null;
10532				console.log('[pxChat] handleChatClose: cancelled pending open');
10533			}
10534			
10535			// Disparar inmediatamente (sin debounce para Chromium)
10536			console.log('[pxChat] handleChatClose: calling doChatClose immediately');
10537			doChatClose(meta, startMs);
10538		}
10539		
10540		function doChatClose(meta, startMs) {
10541			// Verificar estado del botón (prioridad máxima para Chromium)
10542			// Buscar el botón con múltiples selectores
10543			const btn = document.querySelector('.widget-launcher-button') || 
10544			            document.querySelector('[class*="widget-launcher"]') ||
10545			            document.querySelector('[class*="launcher-button"]');
10546			const isActuallyOpen = btn && btn.classList && (
10547				btn.classList.contains('widget-launcher-button--open') || 
10548				btn.classList.toString().indexOf('--open') !== -1
10549			);
10550			const ifr = findChatIframe();
10551			const isIframeVisible = isElementVisible(ifr);
10552			
10553			// Log detallado para debugging en Chromium
10554			console.log('[pxChat] doChatClose called:', {
10555				isActuallyOpen: isActuallyOpen,
10556				isIframeVisible: isIframeVisible,
10557				chatIsOpen: chatIsOpen,
10558				hasButton: !!btn,
10559				buttonClasses: btn ? btn.className : 'no button',
10560				startMs: startMs
10561			});
10562			
10563			// CRÍTICO: Solo proceder si el chat realmente está cerrado
10564			// Si hay un botón, confiar solo en el botón (no en el iframe)
10565			if (btn) {
10566				if (isActuallyOpen) {
10567					console.warn('[pxChat] doChatClose BLOCKED - button still shows as open');
10568					return;
10569				}
10570				// Si hay botón y no está abierto, proceder (ignorar iframe)
10571				console.log('[pxChat] doChatClose: button exists and is closed, proceeding');
10572			} else {
10573				// Solo si NO hay botón, verificar iframe
10574				if (isIframeVisible) {
10575					console.warn('[pxChat] doChatClose BLOCKED - iframe still visible (no button found)');
10576					return;
10577				}
10578				console.log('[pxChat] doChatClose: no button found, iframe not visible, proceeding');
10579			}
10580			
10581			// Guardar timestamp ANTES de cambiar el estado (importante para Chrome)
10582			const now = Date.now();
10583			const endMs = now;
10584			// Calcular duración antes de resetear variables
10585			const duration_sec = startMs ? Math.max(0, Math.round((endMs - startMs) / 1000)) : null;
10586			// Ahora sí cambiar el estado
10587			chatIsOpen = false;
10588			const chat_session_id = (meta && (meta.chat_session_id || meta.session_id)) || getChatSessionId();
10589			
10590			// Log para debugging
10591			console.log('[pxChat] 🚀 FIRING chat_close event:', {
10592				startMs: startMs,
10593				endMs: endMs,
10594				duration_sec: duration_sec,
10595				chatOpenTsMs: chatOpenTsMs,
10596				lastOpenPushMs: lastOpenPushMs,
10597				calculated: endMs - startMs + 'ms',
10598				chat_session_id: chat_session_id
10599			});
10600			pushEvent('chat_close', { chat_session_id, duration_sec });
10601			// Resetear timestamp inmediatamente (ya calculamos la duración)
10602			chatOpenTsMs = null;
10603			lastOpenPushMs = 0;
10604		}
10605		function isElementVisible(el){
10606			if (!el) return false;
10607			const cs = window.getComputedStyle ? window.getComputedStyle(el) : null;
10608			if (!cs || cs.display === 'none' || cs.visibility === 'hidden' || cs.opacity === '0') return false;
10609			const r = el.getBoundingClientRect();
10610			return !!(r.width && r.height);
10611		}
10612		function findChatIframe(){
10613			try {
10614				const ifrs = document.querySelectorAll('iframe');
10615				for (let i = 0; i < ifrs.length; i++){
10616					const n = ifrs[i];
10617					if (isChatIframe(n)) return n;
10618				}
10619			} catch(_e){}
10620			return null;
10621		}
10622		// Detect launcher button presence (instala watcher; no toggle directo)
10623		document.addEventListener('click', function(ev){
10624			try {
10625				// Detectar click en el botón de cerrar del header
10626				let closeBtn = null;
10627				if (ev.composedPath) {
10628					const path = ev.composedPath();
10629					for (let i = 0; i < path.length; i++) {
10630						const n = path[i];
10631						if (n && n.classList && n.classList.contains && n.classList.contains('widget-header-close')) { 
10632							closeBtn = n; 
10633							break; 
10634						}
10635					}
10636				}
10637				if (!closeBtn && ev.target && ev.target.closest) {
10638					closeBtn = ev.target.closest('.widget-header-close');
10639				}
10640				
10641				// Si se hizo click en el botón de cerrar, esperar a que el DOM se actualice
10642				if (closeBtn && chatIsOpen) {
10643					console.log('[pxChat] Close button clicked, waiting for DOM update...');
10644					// Esperar más tiempo para que el widget actualice el estado del botón
10645					setTimeout(function() {
10646						const launcherBtn = document.querySelector('.widget-launcher-button');
10647						const isStillOpen = launcherBtn && launcherBtn.classList && launcherBtn.classList.contains('widget-launcher-button--open');
10648						console.log('[pxChat] After close button click, launcher state:', {
10649							isStillOpen: isStillOpen,
10650							chatIsOpen: chatIsOpen
10651						});
10652						if (!isStillOpen && chatIsOpen) {
10653							console.log('[pxChat] Close button clicked and launcher is now closed, calling handleChatClose');
10654							handleChatClose();
10655						}
10656					}, 500); // Esperar 500ms para que el DOM se actualice
10657					return;
10658				}
10659				
10660				// Detectar click en el botón launcher
10661				let btn = null;
10662				if (ev.composedPath) {
10663					const path = ev.composedPath();
10664					for (let i = 0; i < path.length; i++) {
10665						const n = path[i];
10666						if (n && n.classList && n.classList.contains && n.classList.contains('widget-launcher-button')) { btn = n; break; }
10667					}
10668				}
10669				if (!btn && ev.target && ev.target.closest) {
10670					btn = ev.target.closest('.widget-launcher-button');
10671				}
10672				if (btn) { 
10673					installButtonListener(btn); 
10674					// Si el botón tiene --open, está abierto; si no, está cerrado
10675					const isOpen = btn.classList.contains('widget-launcher-button--open');
10676					if (isOpen && !chatIsOpen) {
10677						// Chat se está abriendo
10678						console.log('[pxChat] Launcher button clicked (opening), calling handleChatOpen');
10679						setTimeout(function() { handleChatOpen(); }, 300);
10680					} else if (!isOpen && chatIsOpen) {
10681						// Chat se está cerrando
10682						console.log('[pxChat] Launcher button clicked (closing), waiting for DOM update...');
10683						setTimeout(function() {
10684							const launcherBtn = document.querySelector('.widget-launcher-button');
10685							const isStillOpen = launcherBtn && launcherBtn.classList && launcherBtn.classList.contains('widget-launcher-button--open');
10686							if (!isStillOpen && chatIsOpen) {
10687								console.log('[pxChat] Launcher button clicked and confirmed closed, calling handleChatClose');
10688								handleChatClose();
10689							}
10690						}, 500); // Esperar 500ms para confirmar que está cerrado
10691					}
10692				}
10693			} catch(_e){
10694				console.error('[pxChat] Error in click listener:', _e);
10695			}
10696		}, true);
10697		// Keyboard open on launcher
10698		document.addEventListener('keydown', function(ev){
10699			try {
10700				if (ev.key !== 'Enter' && ev.key !== ' ') return;
10701				let btn = null;
10702				if (ev.composedPath) {
10703					const path = ev.composedPath();
10704					for (let i = 0; i < path.length; i++) {
10705						const n = path[i];
10706						if (n && n.classList && n.classList.contains && n.classList.contains('widget-launcher-button')) { btn = n; break; }
10707					}
10708				}
10709				if (!btn && ev.target && ev.target.closest) {
10710					btn = ev.target.closest('.widget-launcher-button');
10711				}
10712				if (btn) { 
10713					installButtonListener(btn); 
10714					// Delay mínimo para dar tiempo al widget a actualizar la clase (Chromium)
10715					setTimeout(syncChatState, 200);
10716				}
10717			} catch(_e){}
10718		}, true);
10719		// Bridge postMessage events from the widget iframe
10720		window.addEventListener('message', function(ev){
10721			const d = ev.data;
10722			try {
10723				if (!d) return;
10724				if (typeof d === 'object') {
10725					const type = d.type || d.event || d.name || d.px_chat_event;
10726					if (!type) return;
10727					const payload = d.payload || d.meta || d;
10728					switch (String(type)) {
10729						case 'chat_opened':
10730						case 'widget_opened':
10731						case 'open':
10732							return handleChatOpen(payload);
10733						case 'message_sent':
10734						case 'chat_message':
10735						case 'message':
10736						case 'message_received':
10737						case 'new_message':
10738							// Extraer message_id del payload
10739							const messageId = payload && (payload.message_id || payload.messageId || payload.id || payload.chat_id);
10740							const messageType = payload && (payload.type || payload.message_type || 'text');
10741							const from = payload && (payload.from || payload.user_id || payload.userId);
10742							if (messageId) {
10743								detectChatMessage(messageId, messageType, from);
10744							} else {
10745								return handleChatMessage(payload);
10746							}
10747							return;
10748						case 'chat_closed':
10749						case 'widget_closed':
10750						case 'close':
10751							return handleChatClose(payload);
10752					}
10753					// También buscar en propiedades del objeto directamente
10754					if (d.message_id || d.messageId || d.id) {
10755						const messageId = d.message_id || d.messageId || d.id;
10756						const messageType = d.type || d.message_type || 'text';
10757						const from = d.from || d.user_id || d.userId;
10758						detectChatMessage(messageId, messageType, from);
10759					}
10760				}
10761				if (typeof d === 'string' && d.indexOf('px-chat:') === 0) {
10762					const parts = d.split(':');
10763					const type = parts[1];
10764					let payload = null;
10765					if (parts[2]) { try { payload = JSON.parse(parts.slice(2).join(':')); } catch(_e){} }
10766					if (type === 'open') return handleChatOpen(payload);
10767					if (type === 'message') {
10768						if (payload && (payload.message_id || payload.messageId || payload.id)) {
10769							detectChatMessage(payload.message_id || payload.messageId || payload.id, payload.type || 'text', payload.from);
10770						} else {
10771							return handleChatMessage(payload);
10772						}
10773						return;
10774					}
10775					if (type === 'close') return handleChatClose(payload);
10776				}
10777			} catch(_e){}
10778		});
10779		// Message detection: interceptar mensajes del widget
10780		let lastMessageIds = new Set(); // Track mensajes ya procesados para evitar duplicados
10781		let lastMessageTime = 0;
10782		const MESSAGE_THROTTLE_MS = 500; // Máximo 1 mensaje cada 500ms
10783		
10784		function detectChatMessage(messageId, messageType, from) {
10785			if (!messageId) {
10786				console.debug('[pxChat] detectChatMessage: no messageId provided');
10787				return;
10788			}
10789			
10790			// Evitar duplicados usando messageId (verificar primero)
10791			if (messageId && lastMessageIds.has(messageId)) {
10792				console.debug('[pxChat] detectChatMessage: message already processed', messageId);
10793				return;
10794			}
10795			
10796			// Throttling: evitar procesar mensajes muy rápidos
10797			const now = Date.now();
10798			const timeSinceLast = now - lastMessageTime;
10799			if (timeSinceLast < MESSAGE_THROTTLE_MS) {
10800				console.debug('[pxChat] detectChatMessage: throttled', timeSinceLast, 'ms since last');
10801				return;
10802			}
10803			
10804			// Permitir trackear mensajes incluso si el chat no está visualmente abierto
10805			// Los mensajes pueden llegar cuando el chat está minimizado pero activo
10806			// En Chromium, el chat puede estar activo sin que chatIsOpen sea true
10807			const hasChatSession = getChatSessionId() !== null;
10808			const shouldProcess = hasChatSession || chatIsOpen;
10809			
10810			if (!shouldProcess) {
10811				// Si no hay sesión y el chat no está abierto, intentar una vez más después de un delay
10812				console.debug('[pxChat] detectChatMessage: no session/open, will retry', { hasChatSession, chatIsOpen });
10813				setTimeout(function() {
10814					const retryHasSession = getChatSessionId() !== null;
10815					const retryIsOpen = chatIsOpen;
10816					if ((retryHasSession || retryIsOpen) && messageId && !lastMessageIds.has(messageId)) {
10817						console.debug('[pxChat] detectChatMessage: retry after delay', { retryHasSession, retryIsOpen });
10818						detectChatMessage(messageId, messageType, from);
10819					} else {
10820						console.debug('[pxChat] detectChatMessage: retry failed - conditions not met');
10821					}
10822				}, 1500); // Aumentado a 1.5s para dar más tiempo en Chromium
10823				return;
10824			}
10825			
10826			// Limpiar Set si tiene más de 100 mensajes (evitar memory leak)
10827			if (lastMessageIds.size > 100) {
10828				lastMessageIds.clear();
10829			}
10830			
10831			if (messageId) {
10832				lastMessageIds.add(messageId);
10833			}
10834			lastMessageTime = now;
10835			
10836			// Disparar evento
10837			try {
10838				const payload = { 
10839					chat_id: messageId, 
10840					message_type: messageType || 'text', 
10841					from: from 
10842				};
10843				console.debug('[pxChat] detectChatMessage: processing message', payload);
10844				handleChatMessage(payload);
10845			} catch(e) {
10846				console.error('[pxChat] ❌ Error processing message:', e);
10847			}
10848		}
10849		
10850		// Listener para eventos personalizados que el widget podría disparar
10851		document.addEventListener('px-chat-message', function(ev) {
10852			try {
10853				const data = ev.detail || ev.data || {};
10854				detectChatMessage(data.message_id || data.messageId || data.id, data.type || data.message_type, data.from);
10855			} catch(_e){}
10856		});
10857		
10858		// Interceptar logs de console.log para detectar mensajes de Pusher
10859		// El widget loguea mensajes con formato específico que podemos interceptar
10860		try {
10861			const originalConsoleLog = console.log;
10862			let isProcessing = false; // Flag para evitar recursión
10863			let processedMessageIds = new Set(); // Track mensajes ya procesados por el interceptor
10864			
10865			console.log = function(...args) {
10866				// Llamar al console.log original primero (siempre)
10867				originalConsoleLog.apply(console, args);
10868				
10869				// Evitar procesamiento recursivo
10870				if (isProcessing) return;
10871				
10872				try {
10873					isProcessing = true;
10874					
10875					let detectedMessageId = null;
10876					let detectedMessageType = 'text';
10877					let detectedFrom = null;
10878					
10879					// Buscar message_id en los argumentos directamente (mejorado para Chromium)
10880					for (let i = 0; i < args.length; i++) {
10881						const arg = args[i];
10882						if (typeof arg === 'object' && arg !== null && !Array.isArray(arg)) {
10883							// Buscar directamente en el objeto
10884							if (arg.message_id || arg.messageId || arg.id) {
10885								detectedMessageId = arg.message_id || arg.messageId || arg.id;
10886								detectedMessageType = arg.type || arg.message_type || 'text';
10887								detectedFrom = arg.from || arg.user_id || arg.userId || null;
10888								break;
10889							}
10890							// Buscar en rawData (estructura anidada común en Pusher)
10891							if (arg.rawData && typeof arg.rawData === 'object') {
10892								if (arg.rawData.message_id || arg.rawData.messageId || arg.rawData.id) {
10893									detectedMessageId = arg.rawData.message_id || arg.rawData.messageId || arg.rawData.id;
10894									detectedMessageType = arg.rawData.type || arg.rawData.message_type || 'text';
10895									detectedFrom = arg.rawData.from || arg.rawData.user_id || arg.rawData.userId || null;
10896									break;
10897								}
10898							}
10899							// Buscar en propiedades anidadas (para Chromium que puede tener estructura diferente)
10900							try {
10901								for (let key in arg) {
10902									if (arg.hasOwnProperty(key) && typeof arg[key] === 'object' && arg[key] !== null) {
10903										if (arg[key].message_id || arg[key].messageId || arg[key].id) {
10904											detectedMessageId = arg[key].message_id || arg[key].messageId || arg[key].id;
10905											detectedMessageType = arg[key].type || arg[key].message_type || 'text';
10906											detectedFrom = arg[key].from || arg[key].user_id || arg[key].userId || null;
10907											break;
10908										}
10909									}
10910								}
10911								if (detectedMessageId) break;
10912							} catch(_e) {}
10913						}
10914					}
10915					
10916					// Si no encontramos en objetos, buscar en strings (solo si contiene patrones de Pusher)
10917					if (!detectedMessageId) {
10918						const logStr = args.map(arg => {
10919							if (typeof arg === 'string') return arg;
10920							if (typeof arg === 'object' && arg !== null) {
10921								try { return JSON.stringify(arg); } catch(_e) { return String(arg); }
10922							}
10923							return String(arg);
10924						}).join(' ');
10925						
10926						// Solo procesar si contiene patrones específicos de Pusher
10927						if ((logStr.indexOf('[Pusher] 📨 MENSAJE RECIBIDO') !== -1 || 
10928						     logStr.indexOf('[Pusher] 📨 Mensaje recibido') !== -1 ||
10929						     logStr.indexOf('[Pusher] Body completo:') !== -1 ||
10930						     logStr.indexOf('[Pusher]') !== -1) &&
10931						     (logStr.indexOf('message_id') !== -1 || logStr.indexOf('messageId') !== -1)) {
10932							
10933							// Intentar extraer message_id del string (múltiples formatos)
10934							try {
10935								// Formato: "message_id": "xxx"
10936								let messageIdMatch = logStr.match(/["']message_id["']\s*:\s
10936*["']([^"']+)["']/);
10937								if (!messageIdMatch) {
10938									// Formato: messageId: "xxx"
10939									messageIdMatch = logStr.match(/["']messageId["']\s*:\s*["']([^"']+)["']/);
10940								}
10941								if (!messageIdMatch) {
10942									// Formato: message_id: xxx (sin comillas)
10943									messageIdMatch = logStr.match(/message_id["']?\s*:\s*["']?([a-zA-Z0-9\-_]+)/);
10944								}
10945								if (messageIdMatch && messageIdMatch[1]) {
10946									detectedMessageId = messageIdMatch[1];
10947									console.debug('[pxChat] Detected message_id from log string:', detectedMessageId);
10948								}
10949							} catch(_e) {}
10950						}
10951					}
10952					
10953					// Procesar solo si encontramos un messageId y no lo hemos procesado antes
10954					if (detectedMessageId && !processedMessageIds.has(detectedMessageId)) {
10955						processedMessageIds.add(detectedMessageId);
10956						// Limpiar Set si tiene más de 50 mensajes
10957						if (processedMessageIds.size > 50) {
10958							processedMessageIds.clear();
10959						}
10960						
10961						console.debug('[pxChat] Detected message from Pusher log:', {
10962							messageId: detectedMessageId,
10963							messageType: detectedMessageType,
10964							from: detectedFrom
10965						});
10966						
10967						setTimeout(function() {
10968							detectChatMessage(detectedMessageId, detectedMessageType, detectedFrom);
10969						}, 300); // Aumentado a 300ms para dar tiempo a que se establezca la sesión
10970					}
10971				} catch(e) {
10972					// Silenciar errores en el interceptor para no romper otros logs
10973					console.debug('[pxChat] Error in console.log interceptor:', e);
10974				} finally {
10975					isProcessing = false;
10976				}
10977			};
10978			
10979			originalConsoleLog('[pxChat] Console.log interceptor installed for Pusher message detection');
10980		} catch(e) {
10981			console.error('[pxChat] Error setting up console.log interceptor:', e);
10982		}
10983		
10984		// MutationObserver para detectar mensajes en el DOM del chat (dentro del iframe)
10985		// Nota: Esto solo funciona si tenemos acceso al contenido del iframe (mismo origen)
10986		try {
10987			const chatMessageObserver = new MutationObserver(function(mutations) {
10988				if (!chatIsOpen) return;
10989				
10990				for (let i = 0; i < mutations.length; i++) {
10991					const mutation = mutations[i];
10992					if (mutation.addedNodes && mutation.addedNodes.length > 0) {
10993						for (let j = 0; j < mutation.addedNodes.length; j++) {
10994							const node = mutation.addedNodes[j];
10995							if (node.nodeType === 1) { // Element node
10996								// Buscar elementos que parezcan mensajes de chat
10997								// Selectores comunes: .message, .chat-message, [data-message-id], etc.
10998								const messageEl = node.classList && (
10999									node.classList.contains('message') ||
11000									node.classList.contains('chat-message') ||
11001									node.classList.contains('msg') ||
11002									node.getAttribute('data-message-id')
11003								) ? node : (node.querySelector && (
11004									node.querySelector('.message') ||
11005									node.querySelector('.chat-message') ||
11006									node.querySelector('[data-message-id]')
11007								));
11008								
11009								if (messageEl) {
11010									const messageId = messageEl.getAttribute('data-message-id') || 
11011									                  messageEl.getAttribute('data-id') ||
11012									                  messageEl.id ||
11013									                  null;
11014									const messageType = messageEl.getAttribute('data-type') || 
11015									                    messageEl.getAttribute('data-message-type') ||
11016									                    'text';
11017									const from = messageEl.getAttribute('data-from') || null;
11018									
11019									if (messageId) {
11020										detectChatMessage(messageId, messageType, from);
11021									}
11022								}
11023							}
11024						}
11025					}
11026				}
11027			});
11028			
11029			// Observar el iframe del chat cuando esté disponible
11030			function observeChatIframe() {
11031				const ifr = findChatIframe();
11032				if (ifr && ifr.contentDocument && ifr.contentDocument.body) {
11033					try {
11034						chatMessageObserver.observe(ifr.contentDocument.body, {
11035							childList: true,
11036							subtree: true
11037						});
11038						console.debug('[pxChat] Message observer installed on chat iframe');
11039					} catch(e) {
11040						// Cross-origin: no podemos acceder al contenido del iframe
11041						console.debug('[pxChat] Cannot observe iframe content (cross-origin)');
11042					}
11043				}
11044			}
11045			
11046			// Intentar observar cuando el iframe se carga
11047			const ifr = findChatIframe();
11048			if (ifr) {
11049				if (ifr.contentDocument && ifr.contentDocument.body) {
11050					observeChatIframe();
11051				} else {
11052					ifr.addEventListener('load', observeChatIframe);
11053				}
11054			}
11055			
11056			// También intentar cuando se detecta un nuevo iframe
11057			const iframeObserver = new MutationObserver(function() {
11058				const ifr = findChatIframe();
11059				if (ifr && !ifr.__px_chat_message_observed) {
11060					ifr.__px_chat_message_observed = true;
11061					if (ifr.contentDocument && ifr.contentDocument.body) {
11062						observeChatIframe();
11063					} else {
11064						ifr.addEventListener('load', observeChatIframe);
11065					}
11066				}
11067			});
11068			iframeObserver.observe(document.body, { childList: true, subtree: true });
11069		} catch(e) {
11070			console.error('[pxChat] Error setting up message observer:', e);
11071		}
11072		
11073		// Expose helpers for manual triggers if needed
11074		window.pxChatOpen = function(meta){ handleChatOpen(meta || {}); };
11075		window.pxChatMessage = function(meta){ handleChatMessage(meta || {}); };
11076		window.pxChatClose = function(meta){ handleChatClose(meta || {}); };
11077		// Expose message detection function for external use
11078		window.pxChatDetectMessage = function(messageId, messageType, from) {
11079			detectChatMessage(messageId, messageType, from);
11080		};
11081		// Robust DOM observer: button presence and iframe lifecycle
11082		const observedIframes = new Set();
11083		function isChatIframe(node){
11084			if (!node || node.nodeName !== 'IFRAME') return false;
11085			try {
11086				const src = node.getAttribute('src') || '';
11087				return /pxsol|chat|widget/i.test(src);
11088			} catch(_e){ return false; }
11089		}
11090		function installButtonListener(btn){
11091			if (!btn || btn.__px_chat_hooked) return;
11092			btn.__px_chat_hooked = true;
11093			try {
11094				btn.__px_open_state = !!(btn.classList && btn.classList.contains('widget-launcher-button--open'));
11095				// NO sincronizar estado inicial aquí - solo observar cambios futuros
11096				let buttonChangeTimer = null;
11097				const ob = new MutationObserver(function(muts){
11098					for (let i = 0; i < muts.length; i++){
11099						const m = muts[i];
11100						if (m.type === 'attributes' && m.attributeName === 'class') {
11101							const isOpen = btn.classList.contains('widget-launcher-button--open');
11102							// Solo disparar si realmente cambió el estado
11103							if (isOpen !== btn.__px_open_state) {
11104								const now = Date.now();
11105								if (now - lastStateChangeMs < 300) {
11106									console.debug('[pxChat] MutationObserver: change throttled');
11107									return; // Ignorar cambios muy rápidos
11108								}
11109								
11110								// Procesar inmediatamente (sin debounce para Chromium)
11111								if (buttonChangeTimer) {
11112									clearTimeout(buttonChangeTimer);
11113								}
11114								// Delay mínimo solo para asegurar que el DOM se actualizó
11115								buttonChangeTimer = setTimeout(function() {
11116									processButtonStateChange(btn, now);
11117									buttonChangeTimer = null;
11118								}, 50); // Delay mínimo de 50ms para Chromium
11119							}
11120						}
11121					}
11122				});
11123				ob.observe(btn, { attributes: true, attributeFilter: ['class'] });
11124				btn.__px_chat_observer = ob;
11125			} catch(_e){}
11126		}
11127		
11128		function processButtonStateChange(btn, timestamp) {
11129			// Verificar que el estado realmente cambió
11130			const currentIsOpen = btn.classList.contains('widget-launcher-button--open') || 
11131			                      btn.classList.toString().indexOf('--open') !== -1;
11132			console.log('[pxChat] processButtonStateChange:', {
11133				currentIsOpen: currentIsOpen,
11134				previousState: btn.__px_open_state,
11135				chatIsOpen: chatIsOpen
11136			});
11137			
11138			if (currentIsOpen === btn.__px_open_state) {
11139				console.log('[pxChat] MutationObserver: state unchanged, skipping');
11140				return;
11141			}
11142			
11143			btn.__px_open_state = currentIsOpen;
11144			lastStateChangeMs = timestamp || Date.now();
11145			
11146			if (currentIsOpen) { 
11147				console.log('[pxChat] MutationObserver: button opened, calling handleChatOpen');
11148				handleChatOpen(); 
11149			} else { 
11150				// Verificar que chatIsOpen es true antes de intentar cerrar
11151				if (!chatIsOpen) {
11152					console.log('[pxChat] MutationObserver: button closed but chatIsOpen is already false, skipping');
11153					return;
11154				}
11155				// Guard mínimo: no cerrar si el chat se abrió hace menos de 3 segundos
11156				const finalNow = Date.now();
11157				const startMs = chatOpenTsMs || lastOpenPushMs || null;
11158				if (startMs && (finalNow - startMs < 3000)) {
11159					console.log('[pxChat] MutationObserver: chat_close blocked - chat opened too recently (' + Math.round((finalNow - startMs) / 1000) + 's ago, minimum 3s)');
11160					return;
11161				}
11162				
11163				// CRÍTICO: Esperar y verificar nuevamente que el botón realmente perdió la clase --open
11164				// Esto previene disparos prematuros cuando el DOM aún se está actualizando
11165				setTimeout(function() {
11166					const btnCheck = document.querySelector('.widget-launcher-button') || 
11167					                  document.querySelector('[class*="widget-launcher"]') ||
11168					                  document.querySelector('[class*="launcher-button"]');
11169					const isStillOpen = btnCheck && btnCheck.classList && (
11170						btnCheck.classList.contains('widget-launcher-button--open') || 
11171						btnCheck.classList.toString().indexOf('--open') !== -1
11172					);
11173					
11174					console.log('[pxChat] MutationObserver: delayed verification after button close:', {
11175						isStillOpen: isStillOpen,
11176						chatIsOpen: chatIsOpen,
11177						hasButton: !!btnCheck
11178					});
11179					
11180					// Solo proceder si el botón realmente está cerrado
11181					// Si hay botón, confiar solo en el botón (no en el iframe)
11182					if (isStillOpen) {
11183						console.log('[pxChat] MutationObserver: chat_close CANCELLED - button still shows as open after delay');
11184						return;
11185					}
11186					// Solo verificar iframe si NO hay botón
11187					if (!btnCheck) {
11188						const ifr = findChatIframe();
11189						const isIframeVisible = isElementVisible(ifr);
11190						if (isIframeVisible) {
11191							console.log('[pxChat] MutationObserver: chat_close CANCELLED - iframe still visible after delay (no button found)');
11192							return;
11193						}
11194					}
11195					if (!chatIsOpen) {
11196						console.log('[pxChat] MutationObserver: chat_close CANCELLED - chatIsOpen is already false');
11197						return;
11198					}
11199					
11200					console.log('[pxChat] MutationObserver: button confirmed closed after delay, calling handleChatClose');
11201					handleChatClose(); 
11202				}, 600); // Esperar 600ms para confirmar que el DOM se actualizó completamente
11203			}
11204		}
11205		
11206		function scanExisting(){
11207			try {
11208				const btn = document.querySelector('.widget-launcher-button');
11209				if (btn) installButtonListener(btn);
11210				document.querySelectorAll('iframe').forEach(function(ifr){
11211					if (isChatIframe(ifr) && !observedIframes.has(ifr)) {
11212						observedIframes.add(ifr);
11213						// Delay más largo para evitar falsos positivos
11214						setTimeout(syncChatState, 800);
11215					}
11216				});
11217			} catch(_e){}
11218		}
11219		const mo = new MutationObserver(function(mutations){
11220			let anyRemoval = false;
11221			for (const m of mutations) {
11222				if (m.type === 'childList') {
11223					// Added nodes
11224					m.addedNodes && m.addedNodes.forEach(function(n){
11225						try {
11226							if (!(n instanceof Element)) return;
11227							if (n.classList && n.classList.contains('widget-launcher-button')) {
11228								installButtonListener(n);
11229							}
11230							if (isChatIframe(n) && !observedIframes.has(n)) { observedIframes.add(n); setTimeout(syncChatState, 800); }
11231							// Deep scan
11232							n.querySelectorAll && n.querySelectorAll('.widget-launcher-button,iframe').forEach(function(x){
11233								if (x.classList && x.classList.contains('widget-launcher-button')) installButtonListener(x);
11234								if (isChatIframe(x) && !observedIframes.has(x)) { observedIframes.add(x); setTimeout(syncChatState, 800); }
11235							});
11236						} catch(_e){}
11237					});
11238					// Removed nodes
11239					if (m.removedNodes && m.removedNodes.length) {
11240						anyRemoval = true;
11241					}
11242				}
11243			}
11244			if (anyRemoval) {
11245				// Check if any observed iframe is gone
11246				const still = new Set();
11247				observedIframes.forEach(function(ifr){
11248					if (document.body && document.body.contains(ifr)) {
11249						still.add(ifr);
11250					} else {
11251						// Delay más largo cuando se remueve el iframe (chat cerrado)
11252						setTimeout(syncChatState, 500);
11253					}
11254				});
11255				observedIframes.clear();
11256				still.forEach(function(x){ observedIframes.add(x); });
11257			}
11258		});
11259		// Poller de respaldo acotado: solo durante una ventana corta post-load
11260		// para evitar loops eternos si no aparece el botón.
11261		const CHAT_FALLBACK_POLL_INTERVAL_MS = 500;
11262		const CHAT_FALLBACK_POLL_MAX_MS_AFTER_LOAD = 2000;
11263		let chatFallbackPollIntervalId = null;
11264		let chatFallbackPollStartMs = null;
11265		
11266		function stopChatFallbackPoller(reason) {
11267			if (!chatFallbackPollIntervalId) return;
11268			clearInterval(chatFallbackPollIntervalId);
11269			chatFallbackPollIntervalId = null;
11270			console.log('[pxChat] Polling stopped:', reason);
11271		}
11272		
11273		function runChatFallbackPollTick() {
11274			const btn = document.querySelector('.widget-launcher-button') || 
11275			            document.querySelector('[class*="widget-launcher"]') ||
11276			            document.querySelector('[class*="launcher-button"]');
11277			// Solo ejecutar syncChatState si NO hay botón (el botón tiene su propio observer)
11278			if (!btn) {
11279				console.log('[pxChat] Polling syncChatState (no button found)');
11280				syncChatState();
11281				return;
11282			}
11283			
11284			console.debug('[pxChat] Polling skipped - button found, using MutationObserver instead');
11285			stopChatFallbackPoller('button found');
11286		}
11287		
11288		function startChatFallbackPoller() {
11289			if (chatFallbackPollIntervalId) return;
11290			chatFallbackPollStartMs = Date.now();
11291			runChatFallbackPollTick(); // Tick inicial inmediato
11292			chatFallbackPollIntervalId = setInterval(function() {
11293				if (Date.now() - chatFallbackPollStartMs > CHAT_FALLBACK_POLL_MAX_MS_AFTER_LOAD) {
11294					stopChatFallbackPoller('load + ' + CHAT_FALLBACK_POLL_MAX_MS_AFTER_LOAD + 'ms timeout');
11295					return;
11296				}
11297				runChatFallbackPollTick();
11298			}, CHAT_FALLBACK_POLL_INTERVAL_MS);
11299		}
11300		
11301		// Ejecutar solo post-load (o inmediatamente si la página ya terminó de cargar)
11302		if (document.readyState === 'complete') {
11303			startChatFallbackPoller();
11304		} else {
11305			window.addEventListener('load', function onLoadStartChatFallbackPoller() {
11306				window.removeEventListener('load', onLoadStartChatFallbackPoller);
11307				startChatFallbackPoller();
11308			});
11309		}
11310		try {
11311			mo.observe(document.documentElement || document, { childList: true, subtree: true });
11312			// Initial scan after load tick
11313			if (document.readyState === 'loading') {
11314				document.addEventListener('DOMContentLoaded', scanExisting);
11315			} else {
11316				setTimeout(scanExisting, 0);
11317			}
11318		} catch(_e){}
11319	})();
11320</script>
vendor: 1 bytes, line 11320
11320
11321<script>
11322	// Override para evitar espejo de chat_* al dataLayer y evitar doble track
11323	(function(){
11324		if (typeof window.gtag === 'function') {
11325			window.gtag = function(){
11326				try { window.dataLayer.push(arguments); } catch(_e){}
11327			};
11328		}
11329		// Redefinir pxTrack: usa gtag si existe; sino, dataLayer
11330		window.pxTrack = function(eventName, params){
11331			params = params || {};
11332			if (typeof window.gtag === 'function') {
11333				try { window.gtag('event', eventName, params); } catch(_e){}
11334			} else {
11335				try { window.dataLayer.push(Object.assign({ event: eventName }, params)); } catch(_e){}
11336			}
11337		};
11338	})();
11339</script>
11339
11340</script>
11340		</div>
11341
11342
11343		<div id="ContainerRD" class="nodisplay">
11344			<div class="flex flex-center fullheight">
11345				<div id="ContainerRDInner">
11346					<div id="Loader" class="fullheight flex flex-center">
11347						<img class="animated slideInUp" src="https://cdn.pxsol.com/css/images/logo_loginrd.png" />
11348					</div>
11349					<div id="CloseRDContainer"><i class="fa fa-times" aria-hidden="true"></i></div>
11350					<iframe style="width: 100%; height: 100%" src="" id="IframeRD" scrolling="no">
11351
11352					</iframe>
11353				</div>
11354			</div>
11355		</div>
11356
11357		<div id="CortinaCargando" align="center" class="Loading nodisplay">
11358			<div class="linear-activity">
11359				<div class="indeterminate"></div>
11360			</div>
11361		</div>
11362
11363		<div id="dialogBox" title="..." class="nodisplay">
11364			<p><span class="ui-icon ui-icon-alert alerticon"></span>...</p>
11365		</div>
11366
11367						
11367<script src='/js_3.js?pos=SarmientoPalace&amp;device=computer&amp;filev=1790284695&amp;posv=1790446792_2025-10-27T15:48:02.000Z_2025-10-27T15:48:02.000Z' defer="true" async></script>
11367
11368
11369		<div id="diccionario">
11370					</div>
11371
11372	</div>
11372<script>
11373	window.currentContent = "index";
11374	window.currentDevice = "desktop";
11375	console.log('CurrentState', window.currentContent, window.currentDevice);
11376</script>
11376
11377
11378    
11378<script src="/neo_modules/neo_popup/js.js?v=121790284695"></script>
11378
11379<!-- End Popup code -->
11380<div class="EndError left full" style="max-width: 100vw; overflow: auto;">
11381	</div>
11382
11383
11384<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"7d975d1d5f324af98acd3f46caefc6c0","r":1,"spa":2}' crossorigin="anonymous"></script>
11384
11385</body>
11386<div id="dialogBox" title="..." class="nodisplay">
11387	<p><span class="ui-icon ui-icon-alert alerticon"></span>...</p>
11388</div>
11389
11390
11391
11392
11393</html>
11394
11395

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.