PageSourceSearch

https://www.junipersardinia.com/pass/

html junipersardinia.com collected 2026-10-09 23:14:08 UTC 78,732 bytes, 1,161 lines download raw bytes

1<!DOCTYPE html>
2<html lang="it-IT">
3<head>
4	<meta charset="UTF-8">
5	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">
6	<meta name="theme-color" content="#f5f0ea">
7	<title>Juniper SardiniaSeason Pass | Juniper Sardinia</title>
8
9	<meta name='robots' content='max-image-preview:large' />
10
11<!-- JNP SEO -->
12<meta name="description" content="Juniper Sardinia — Il club a Cannigione, in Sardegna. Serate, djset, tavoli VIP e molto altro.">
13<link rel="canonical" href="https://www.junipersardinia.com/pass/">
14<meta property="og:site_name" content="Juniper Sardinia">
15<meta property="og:type"      content="website">
16<meta property="og:url"       content="https://www.junipersardinia.com/pass/">
17<meta property="og:title"     content="Season Pass | Juniper Sardinia">
18<meta property="og:locale"    content="it_IT">
19<meta property="og:description" content="Juniper Sardinia — Il club a Cannigione, in Sardegna. Serate, djset, tavoli VIP e molto altro.">
20<meta property="og:image"        content="https://www.junipersardinia.com/wp-content/themes/juniper-club/assets/images/og-image.jpg">
21<meta property="og:image:width"  content="1200">
22<meta property="og:image:height" content="630">
23<meta property="og:image:alt"    content="Season Pass | Juniper Sardinia">
24<meta name="twitter:card"        content="summary_large_image">
25<meta name="twitter:site"        content="@junipersardinia">
26<meta name="twitter:title"       content="Season Pass | Juniper Sardinia">
27<meta name="twitter:description" content="Juniper Sardinia — Il club a Cannigione, in Sardegna. Serate, djset, tavoli VIP e molto altro.">
28<meta name="twitter:image"       content="https://www.junipersardinia.com/wp-content/themes/juniper-club/assets/images/og-image.jpg">
29<script type="application/ld+json">{"@context":"https://schema.org","@type":"NightClub","name":"Juniper Sardinia","url":"https://www.junipersardinia.com","logo":"https://www.junipersardinia.com/wp-content/themes/juniper-club/assets/images/juniper_logo_square_white.png","address":{"@type":"PostalAddress","streetAddress":"Lungomare Laconia 137, loc. Tanca Manna","addressLocality":"Cannigione","addressRegion":"SS","postalCode":"07021","addressCountry":"IT"},"geo":{"@type":"GeoCoordinates","latitude":41.1358265,"longitude":9.4325782},"sameAs":["https://www.instagram.com/juniper.sardinia/","https://www.facebook.com/juniper.sardinia/"]}</script>
29
30<!-- /JNP SEO -->
31
32<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.junipersardinia.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.junipersardinia.com%2Fpass%2F" />
33<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.junipersardinia.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.junipersardinia.com%2Fpass%2F&#038;format=xml" />
34<style id="wp-img-auto-sizes-contain-inline-css">
35img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
36/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
37</style>
38<style id="wp-emoji-styles-inline-css">
39
40	img.wp-smiley, img.emoji {
41		display: inline !important;
42		border: none !important;
43		box-shadow: none !important;
44		height: 1em !important;
45		width: 1em !important;
46		margin: 0 0.07em !important;
47		vertical-align: -0.1em !important;
48		background: none !important;
49		padding: 0 !important;
50	}
51/*# sourceURL=wp-emoji-styles-inline-css */
52</style>
53<style id="wp-block-library-inline-css">
54:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
54--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
55
56/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
57</style>
58<style id="classic-theme-styles-inline-css">
59/*! This file is auto-generated */
60.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
61/*# sourceURL=/wp-includes/css/classic-themes.min.css */
62</style>
63
64<style id="global-styles-inline-css">
65:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
650) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
65.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
66/*# sourceURL=global-styles-inline-css */
67</style>
68
69<link rel='stylesheet' id='contact-form-7-css' href='https://www.junipersardinia.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.1.7' media='all' />
70<style id="jnp-newsletter-form-inline-css">
71
72		.jnp-nl-form { max-width: 480px; }
73		.jnp-nl-form-row { display: flex; gap: 8px; }
74		.jnp-nl-form--stacked .jnp-nl-form-row { flex-direction: column; }
75		.jnp-nl-input {
76			flex: 1 1 auto;
77			padding: 12px 16px;
78			border: 1.5px solid #ddd;
79			border-radius: 8px;
80			font-size: 14px;
81		}
82		.jnp-nl-submit {
83			display: inline-flex;
84			align-items: center;
85			justify-content: center;
86			gap: 6px;
87			padding: 12px 22px;
88			background: #000;
89			color: #fff;
90			border: none;
91			border-radius: 8px;
92			font-weight: 700;
93			font-size: 14px;
94			cursor: pointer;
95			white-space: nowrap;
96		}
97		.jnp-nl-submit:disabled { opacity: 0.6; cursor: default; }
98		.jnp-nl-message { margin: 10px 0 0; font-size: 13px; }
99		.jnp-nl-message--success { color: #2a7d46; }
100		.jnp-nl-message--error { color: #b3261e; }
101	
102/*# sourceURL=jnp-newsletter-form-inline-css */
103</style>
104<link rel='stylesheet' id='jnp-tables-front-css' href='https://www.junipersardinia.com/wp-content/plugins/jnp-tables/frontend/tables.css?ver=1.0' media='all' />
105<link rel='stylesheet' id='jnp-wa-widget-css' href='https://www.junipersardinia.com/wp-content/plugins/jnp-whatsapp/assets/css/widget.css?ver=1.0' media='all' />
106<link rel='stylesheet' id='bootstrap-css-css' href='https://www.junipersardinia.com/wp-content/themes/juniper-club/assets/css/bootstrap.min.css?ver=7.1.3' media='all' />
107<link rel='stylesheet' id='juniper-style-css' href='https://www.junipersardinia.com/wp-content/themes/juniper-club/style.css?ver=7.1.3' media='all' />
108<link rel='stylesheet' id='jnp-ticket-sheet-css' href='https://www.junipersardinia.com/wp-content/themes/juniper-club/assets/css/jnp-ticket-sheet.css?ver=1.0' media='all' />
109<link rel='stylesheet' id='uacf7-frontend-style-css' href='https://www.junipersardinia.com/wp-content/plugins/ultimate-addons-for-contact-form-7/assets/css/uacf7-frontend.css?ver=3.5.52' media='all' />
110<link rel='stylesheet' id='uacf7-form-style-css' href='https://www.junipersardinia.com/wp-content/plugins/ultimate-addons-for-contact-form-7/assets/css/form-style.css?ver=3.5.52' media='all' />
111<link rel='stylesheet' id='uacf7-multistep-style-css' href='https://www.junipersardinia.com/wp-content/plugins/ultimate-addons-for-contact-form-7/addons/multistep/assets/css/multistep.css?ver=3.5.52' media='all' />
112<script id="jquery-core-js" src="https://www.junipersardinia.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 112
112
113<script id="jquery-migrate-js" src="https://www.junipersardinia.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
113
114<link rel="https://api.w.org/" href="https://www.junipersardinia.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.junipersardinia.com/wp-json/wp/v2/pages/657" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.junipersardinia.com/xmlrpc.php?rsd" />
115<meta name="generator" content="WordPress 7.1.3" />
116<link rel="canonical" href="https://www.junipersardinia.com/pass/" />
117<link rel='shortlink' href='https://www.junipersardinia.com/?p=657' />
118
119<!-- JNP i18n hreflang -->
120<link rel="alternate" hreflang="it" href="https://www.junipersardinia.com/pass/" />
121<link rel="alternate" hreflang="en" href="https://www.junipersardinia.com/en/pass/" />
122<link rel="alternate" hreflang="x-default" href="https://www.junipersardinia.com/pass/" />
123	<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 123-124
123
124<script async src="https://www.googletagmanager.com/gtag/js?id=
124G-FCDFDPHV6F
vendor: 12 bytes, line 124
124"></script>
125<script>
126  
vendor: 134 bytes, lines 126-130
126window.dataLayer = window.dataLayer || [];
127  function gtag(){dataLayer.push(arguments);}
128  gtag('js', new Date());
129
130  gtag('config', '
130G-FCDFDPHV6F
vendor: 4 bytes, line 130
130');
131</script>
131
132
133<!-- Meta Pixel Code -->
134<script>
vendor: 390 bytes, line 134
134!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '
1341568665267441649
vendor: 29 bytes, line 134
134'); fbq('track', 'PageView');
134</script>
134<noscript> <img height="1" width="1" src="https://www.facebook.com/tr?id=1568665267441649&ev=PageView&noscript=1"/></noscript><!-- End Meta Pixel Code -->
135
136<script type="text/javascript">
137	jQuery(document).ready(function($) {
138		var $hamburger = $(".hamburger");
139		var $sidemenu = $("#top-navbar-slide-menu");
140		var $body = $("body");
141
142		$hamburger.on("click", function(e) {
143			$hamburger.toggleClass("is-active");
144			$sidemenu.toggleClass("in");
145			$body.toggleClass("open-menu");
146		});
147
148		$('a[title]').removeAttr('title');
149	});
150</script>
150	<link rel="icon" type="image/png" href="https://www.junipersardinia.com/wp-content/themes/juniper-club/favicon.png">
151</head>
152<body class="wp-singular page-template page-template-page-season-pass page-template-page-season-pass-php page page-id-657 wp-theme-juniper-club">
153
154<main>
155
156	
157<header>
158	<nav id="top-navbar" class="navbar navbar-fixed-top navbar-mobile visible-xs visible-sm visible-md affix-top" data-spy="affix" data-offset-top="60" role="navigation">
159		<div id="top-navbar" class="container-nav">
160			<div class="text-left">
161				<div class="navbar-right-actions">
162					<button class="hamburger hamburger--slider" type="button">
163						<span class="hamburger-box">
164							<span class="hamburger-inner"></span>
165						</span>
166					</button>
167									</div>
168				<a class="navbar-logo-mobile" href="https://www.junipersardinia.com/"></a>
169				<div class="scrolldown-content hide">
170					<a class="btn btn-default btn-get-in-touch btn-get-in-touch-mobile" href="https://www.junipersardinia.com/contacts/">
171						<i class="las la-sms"></i>
172					</a>
173				</div>
174				<!--<a class="btn btn-default btn-store btn-store-mobile pull-right" href="https://www.junipersardinia.com/events-calendar/">
175					CALENDAR
176				</a>-->
177			</div>
178		</div>
179		<div id="top-navbar-slide-menu">
180			<ul class="nav navbar-nav">
181				
182					<li id="menu-item-297" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-297"><a href="https://www.junipersardinia.com/">Home</a></li>
183<li id="menu-item-367" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-367"><a href="https://www.junipersardinia.com/events-calendar/">Eventi</a></li>
184<li id="menu-item-736" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-657 current_page_item menu-item-736"><a href="https://www.junipersardinia.com/pass/" aria-current="page">Season Pass</a></li>
185<li id="menu-item-696" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-696"><a href="https://www.junipersardinia.com/photos/">Foto</a></li>
186<li id="menu-item-424" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-424"><a href="https://www.junipersardinia.com/contacts/">Contatti</a></li>
187
188					<li class="menu-item"><a href="https://www.junipersardinia.com/login/">Accedi</a></li>
189								
190			</ul>
191			<div style="padding: 0 20px; font-size: 20px;">
192				<h4>Residenze</h4>
193				<p><a href="https://www.junipersardinia.com/events/summer-2026/">Summer 2026</a></p><p><a href="https://www.junipersardinia.com/events/saturdays/">Saturdays</a></p><p><a href="https://www.junipersardinia.com/events/ovestclub/">Ovestclub</a></p><p><a href="https://www.junipersardinia.com/events/la-fruteria/">La Fruteria</a></p><p><a href="https://www.junipersardinia.com/events/timori-halloween-festival/">Timori Halloween Festival</a></p><p><a href="https://www.junipersardinia.com/events/playground/">Playground</a></p>			</div>
194
195			<!-- Mobile Language Switcher -->
196			<div class="jnp-lang-switch-mobile" style="padding: 20px 20px 30px;">
197									<a href="https://www.junipersardinia.com/pass/"
198					   class="jnp-lang-link active"
199					   hreflang="it"
200					>IT</a>
201									<a href="https://www.junipersardinia.com/en/pass/"
202					   class="jnp-lang-link"
203					   hreflang="en"
204					>EN</a>
205							</div>
206		</div>
207	</nav>
208
209	<style>
210	/* Mobile language switcher */
211	.jnp-lang-switch-mobile {
212		display: flex;
213		gap: 8px;
214	}
215	.jnp-lang-switch-mobile .jnp-lang-link {
216		font-size: 16px;
217		font-weight: 600;
218		padding: 6px 14px;
219		border-radius: 20px;
220		text-decoration: none;
221		color: #333;
222		opacity: 0.4;
223		transition: opacity 0.2s;
224	}
225	.jnp-lang-switch-mobile .jnp-lang-link.active {
226		opacity: 1;
227		background: #f0f0f0;
228		font-weight: 800;
229	}
230	/* Desktop language switcher */
231	.jnp-lang-switch-desktop {
232		margin-left: 5px;
233	}
234	.jnp-lang-switch-desktop .btn {
235		padding: 6px 10px;
236		font-size: 13px;
237		min-width: auto;
238	}
239	</style>
240
241	<nav class="navbar navbar-fixed-top navbar-desktop hidden-xs hidden-sm hidden-md affix-top" data-spy="affix" data-offset-top="180" role="navigation">
242		<div id="top-navbar" class="container-nav clearfix">
243			<a class="navbar-logo" href="https://www.junipersardinia.com/">JUNIPER</a>
244			<div id="menu-main" class="collapse navbar-collapse pull-left"><ul id="menu-juniper-club-menu-1" class="nav navbar-nav"><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" 
244class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-297"><a title="Home" href="https://www.junipersardinia.com/">Home</a></li>
245<li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-367"><a title="Eventi" href="https://www.junipersardinia.com/events-calendar/">Eventi</a></li>
246<li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-657 current_page_item menu-item-736 active"><a title="Season Pass" href="https://www.junipersardinia.com/pass/">Season Pass</a></li>
247<li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-696"><a title="Foto" href="https://www.junipersardinia.com/photos/">Foto</a></li>
248<li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-424"><a title="Contatti" href="https://www.junipersardinia.com/contacts/">Contatti</a></li>
249</ul></div>
250			<div class="btn-toolbar pull-right" style="margin-top: 22px;">
251
252				<!---->
253									<a class="btn btn-primary navbar-book-reserve btn-group hide" href="https://www.junipersardinia.com/contacts/">
254					Contattaci <i class="las la-arrow-right"></i>
255				</a>
256
257				<!-- Account Dropdown Menu (Only for Logged-in Users) -->
258				
259				<!-- Hamburger for desktop drawer -->
260				<button class="hidden hamburger hamburger--slider desktop-hamburger btn-group" type="button" style="margin: 7px 20px 0 20px; vertical-align: middle;"> 
261					<span class="hamburger-box">
262						<span class="hamburger-inner"></span>
263					</span>
264				</button>
265			</div>
266		</div>
267	</nav>
268
269	<!-- Desktop Side Drawer -->
270	<div id="desktop-drawer" class="hidden-xs hidden-sm hidden-md">
271		<div class="desktop-drawer-overlay"></div>
272		<div class="desktop-drawer-panel">
273			<button class="desktop-drawer-close" type="button">
274				<i class="las la-times"></i>
275			</button>
276			<ul class="nav">
277								<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-297"><a href="https://www.junipersardinia.com/">Home</a></li>
278<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-367"><a href="https://www.junipersardinia.com/events-calendar/">Eventi</a></li>
279<li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-657 current_page_item menu-item-736"><a href="https://www.junipersardinia.com/pass/" aria-current="page">Season Pass</a></li>
280<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-696"><a href="https://www.junipersardinia.com/photos/">Foto</a></li>
281<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-424"><a href="https://www.junipersardinia.com/contacts/">Contatti</a></li>
282			</ul>
283			<div class="desktop-drawer-events">
284				<h4>Residenze</h4>
285									<p><a href="https://www.junipersardinia.com/events/summer-2026/">Summer 2026</a></p>
286									<p><a href="https://www.junipersardinia.com/events/saturdays/">Saturdays</a></p>
287									<p><a href="https://www.junipersardinia.com/events/ovestclub/">Ovestclub</a></p>
288									<p><a href="https://www.junipersardinia.com/events/la-fruteria/">La Fruteria</a></p>
289									<p><a href="https://www.junipersardinia.com/events/timori-halloween-festival/">Timori Halloween Festival</a></p>
290									<p><a href="https://www.junipersardinia.com/events/playground/">Playground</a></p>
291							</div>
292		</div>
293	</div>
294
295	
295<script>
296		// Desktop drawer toggle
297		document.addEventListener('DOMContentLoaded', function() {
298			var drawer = document.getElementById('desktop-drawer');
299			if (!drawer) return;
300
301			var openBtn = document.querySelector('.desktop-hamburger');
302			var closeBtn = drawer.querySelector('.desktop-drawer-close');
303			var overlay = drawer.querySelector('.desktop-drawer-overlay');
304
305			function open() {
306				drawer.classList.add('open');
307				document.body.classList.add('open-menu');
308				openBtn.classList.add('is-active');
309			}
310
311			function close() {
312				drawer.classList.remove('open');
313				document.body.classList.remove('open-menu');
314				openBtn.classList.remove('is-active');
315			}
316
317			if (openBtn) openBtn.addEventListener('click', function() {
318				drawer.classList.contains('open') ? close() : open();
319			});
320			if (closeBtn) closeBtn.addEventListener('click', close);
321			if (overlay) overlay.addEventListener('click', close);
322		});		
323	</script>
323	
324	
325<div class="modal fade" id="quickEventsModal" tabindex="-1" role="dialog" aria-labelledby="quickEventsModalLabel" aria-hidden="true">
326	<div class="modal-dialog modal-quick-events" role="document">
327		<div class="modal-content">
328
329			<div class="modal-header">
330				<button type="button" class="close" data-dismiss="modal" aria-label="Close">
331					<i class="las la-times" aria-hidden="true"></i>
332				</button>
333				<p class="modal-venue-label">Juniper Club &mdash; Costa Smeralda</p>
334				<h4 class="modal-title" id="quickEventsModalLabel">Prossimi eventi</h4>
335			</div>
336
337			<div class="modal-body">
338
339									<p class="quick-events-empty">Nessun evento in programma</p>
340				
341				<div class="quick-events-footer">
342					<a href="https://www.junipersardinia.com/events-calendar/" class="quick-events-all-link">
343						Tutti gli eventi &rarr;
344					</a>
345				</div>
346
347			</div><!-- /.modal-body -->
348		</div><!-- /.modal-content -->
349	</div><!-- /.modal-dialog -->
350</div><!-- /#quickEventsModal --></header>
351	<header class="navbar navbar-default hide">
352		<div class="container">
353			<div class="navbar-header">
354				<a class="navbar-brand" href="https://www.junipersardinia.com/">
355					Juniper Sardinia				</a>
356			</div>
357		</div>
358	</header>
359<main id="jnp-season-pass-page" style="min-height:100vh;background:#0d0d1a;padding:60px 0 120px;">
360	<div class="container">
361		<div style="max-width:580px;margin:0 auto;">
362
363			<!-- Header -->
364			<div style="text-align:center;margin-bottom:48px;">
365				<div style="display:inline-block;background:#8E0633;color:#fff;padding:6px 20px;border-radius:40px;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:20px;">
366					Season Pass 2026				</div>
367				<h1 style="color:#fff;font-size:clamp(28px,5vw,42px);font-weight:800;margin:0 0 16px;line-height:1.1;">
368					Il tuo pass per l'estate				</h1>
369				<p style="color:rgba(255,255,255,.6);font-size:16px;margin:0;">
370					Residenti e lavoratori di Arzachena e dei comuni limitrofi hanno accesso a tariffe speciali e vantaggi esclusivi.				</p>
371			</div>
372
373			<!-- Resume banner -->
374			<div id="jnp-resume-banner" style="display:none;background:rgba(142,6,51,.15);border:1px solid rgba(142,6,51,.4);border-radius:12px;padding:16px 20px;margin-bottom:24px;color:rgba(255,255,255,.8);font-size:14px;line-height:1.5;">
375				👋 Bentornato! Sei quasi alla fine — carica i tuoi documenti per completare la richiesta.			</div>
376
377			<!-- Resume error -->
378			<div id="jnp-resume-error" style="display:none;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:16px 20px;margin-bottom:24px;color:#fca5a5;font-size:14px;line-height:1.5;">
379				⚠️ 			</div>
380
381			<!-- Step indicator -->
382			<div id="jnp-step-indicator" style="display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:48px;">
383									<div class="jnp-step" data-step="1" style="display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;">
384						<div class="jnp-step-dot" style="width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.1);color:rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:all .3s;">
385							1						</div>
386						<div style="font-size:11px;color:rgba(255,255,255,.4);text-align:center;transition:all .3s;">Tipo</div>
387					</div>
388										<div style="flex:1;height:1px;background:rgba(255,255,255,.1);margin-bottom:22px;"></div>
389														<div class="jnp-step" data-step="2" style="display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;">
390						<div class="jnp-step-dot" style="width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.1);color:rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:all .3s;">
391							2						</div>
392						<div style="font-size:11px;color:rgba(255,255,255,.4);text-align:center;transition:all .3s;">Dettagli</div>
393					</div>
394										<div style="flex:1;height:1px;background:rgba(255,255,255,.1);margin-bottom:22px;"></div>
395														<div class="jnp-step" data-step="3" style="display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;">
396						<div class="jnp-step-dot" style="width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.1);color:rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:all .3s;">
397							3						</div>
398						<div style="font-size:11px;color:rgba(255,255,255,.4);text-align:center;transition:all .3s;">Documenti</div>
399					</div>
400										<div style="flex:1;height:1px;background:rgba(255,255,255,.1);margin-bottom:22px;"></div>
401														<div class="jnp-step" data-step="4" style="display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;">
402						<div class="jnp-step-dot" style="width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.1);color:rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:all .3s;">
403							4						</div>
404						<div style="font-size:11px;color:rgba(255,255,255,.4);text-align:center;transition:all .3s;">Fatto</div>
405					</div>
406												</div>
407
408			<!-- ===== STEP 1: Pass Type ===== -->
409			<div id="jnp-step-1" class="jnp-step-panel">
410				<div style="background:rgba(255,255,255,.04);border-radius:24px;padding:32px;">
411					<h2 style="color:#fff;margin:0 0 8px;font-size:22px;">Che tipo di pass vuoi richiedere?</h2>
412					<p style="color:rgba(255,255,255,.5);margin:0 0 32px;font-size:14px;">Seleziona l'opzione che ti descrive meglio.</p>
413
414					<div style="display:grid;grid-template-columns:1fr 1fr;gap:16px;">
415
416						<button type="button" class="jnp-type-btn" data-type="resident"
417								style="background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.1);border-radius:20px;padding:28px 20px;cursor:pointer;text-align:center;transition:all .2s;">
418							<div style="font-size:36px;margin-bottom:12px;">🏠</div>
419							<div style="color:#fff;font-weight:700;font-size:16px;margin-bottom:6px;">Residente</div>
420							<div style="color:rgba(255,255,255,.45);font-size:12px;line-height:1.5;">Sei residente ad Arzachena o in un comune limitrofo.</div>
421						</button>
422
423						<button type="button" class="jnp-type-btn" data-type="worker"
424								style="background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.1);border-radius:20px;padding:28px 20px;cursor:pointer;text-align:center;transition:all .2s;">
425							<div style="font-size:36px;margin-bottom:12px;">💼</div>
426							<div style="color:#fff;font-weight:700;font-size:16px;margin-bottom:6px;">Lavoratore</div>
427							<div style="color:rgba(255,255,255,.45);font-size:12px;line-height:1.5;">Lavori ad Arzachena o in zona questa stagione.</div>
428						</button>
429
430					</div>
431				</div>
432			</div>
433
434			<!-- ===== STEP 2: Personal Details ===== -->
435			<div id="jnp-step-2" class="jnp-step-panel" style="display:none;">
436				<div style="background:rgba(255,255,255,.04);border-radius:24px;padding:32px;">
437
438					<!-- Pass type badge (dynamic) -->
439					<div style="display:flex;align-items:center;gap:12px;margin-bottom:28px;">
440						<div id="jnp-type-badge" style="display:inline-block;padding:5px 16px;border-radius:40px;font-size:12px;font-weight:700;letter-spacing:1px;"></div>
441						<button type="button" id="jnp-change-type" style="background:none;border:none;color:rgba(255,255,255,.4);font-size:12px;cursor:pointer;text-decoration:underline;">
442							Cambia tipo						</button>
443					</div>
444
445					<h2 style="color:#fff;margin:0 0 28px;font-size:22px;">I tuoi dati</h2>
446
447					<div style="display:flex;flex-direction:column;gap:20px;">
448
449						<div class="jnp-field">
450							<label style="color:rgba(255,255,255,.7);font-size:13px;font-weight:600;display:block;margin-bottom:8px;">
451								Nome completo *
452							</label>
453							<input type="text" id="jnp-full-name" autocomplete="name"
454								   style="width:100%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 16px;color:#fff;font-size:15px;box-sizing:border-box;outline:none;"
455								   placeholder="Come sul tuo documento"
456								   value="">
457						</div>
458
459						<div class="jnp-field">
460							<label style="color:rgba(255,255,255,.7);font-size:13px;font-weight:600;display:block;margin-bottom:8px;">
461								Email *
462							</label>
463														<input type="email" id="jnp-email" autocomplete="email"
464								   style="width:100%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 16px;color:#fff;font-size:15px;box-sizing:border-box;outline:none;"
465								   placeholder="[email protected]">
466													</div>
467
468						<div class="jnp-field">
469							<label style="color:rgba(255,255,255,.7);font-size:13px;font-weight:600;display:block;margin-bottom:8px;">
470								Telefono *
471							</label>
472							<input type="tel" id="jnp-phone" autocomplete="tel"
473								   style="width:100%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 16px;color:#fff;font-size:15px;box-sizing:border-box;outline:none;"
474								   placeholder="+39 333 123 4567"
475								   value="">
476						</div>
477
478						<div class="jnp-field">
479							<label style="color:rgba(255,255,255,.7);font-size:13px;font-weight:600;display:block;margin-bottom:8px;">
480								Comune di residenza							</label>
481							<input type="text" id="jnp-city" autocomplete="address-level2"
482								   style="width:100%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 16px;color:#fff;font-size:15px;box-sizing:border-box;outline:none;"
483								   placeholder="Es. Arzachena, Olbia, La Maddalena...">
484						</div>
485
486						<!-- Worker-only fields -->
487						<div id="jnp-worker-fields" style="display:none;flex-direction:column;gap:20px;">
488							<div class="jnp-field">
489								<label style="color:rgba(255,255,255,.7);font-size:13px;font-weight:600;display:block;margin-bottom:8px;">
490									Datore di lavoro *
491								</label>
492								<input type="text" id="jnp-employer"
493									   style="width:100%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 16px;color:#fff;font-size:15px;box-sizing:border-box;outline:none;"
494									   placeholder="Nome dell&#039;azienda o locale">
495							</div>
496							<div class="jnp-field">
497								<label style="color:rgba(255,255,255,.7);font-size:13px;font-weight:600;display:block;margin-bottom:8px;">
498									Ruolo *
499								</label>
500								<input type="text" id="jnp-job-role"
501									   style="width:100%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 16px;color:#fff;font-size:15px;box-sizing:border-box;outline:none;"
502									   placeholder="Es. Barista, Receptionist...">
503							</div>
504						</div>
505
506						<!-- Resident-only fields -->
507						<!-- Age + Terms -->
508						<div style="background:rgba(255,255,255,.04);border-radius:16px;padding:20px;
508display:flex;flex-direction:column;gap:16px;">
509
510							<label style="display:flex;align-items:flex-start;gap:12px;cursor:pointer;">
511								<input type="checkbox" id="jnp-age-confirm"
512									   style="width:20px;height:20px;margin-top:1px;accent-color:#8E0633;flex-shrink:0;">
513								<span style="color:rgba(255,255,255,.8);font-size:14px;line-height:1.5;">
514									Dichiaro di avere almeno 18 anni di eta.								</span>
515							</label>
516
517							<label style="display:flex;align-items:flex-start;gap:12px;cursor:pointer;">
518								<input type="checkbox" id="jnp-terms-accept"
519									   style="width:20px;height:20px;margin-top:1px;accent-color:#8E0633;flex-shrink:0;">
520								<span style="color:rgba(255,255,255,.8);font-size:14px;line-height:1.5;">
521									Ho letto e accetto i <a href="https://www.junipersardinia.com/termini/" target="_blank" style="color:#8E0633;">Termini e Condizioni</a>.								</span>
522							</label>
523
524							<label style="display:flex;align-items:flex-start;gap:12px;cursor:pointer;">
525								<input type="checkbox" id="jnp-marketing-opt"
526									   style="width:20px;height:20px;margin-top:1px;accent-color:#8E0633;flex-shrink:0;">
527								<span style="color:rgba(255,255,255,.5);font-size:13px;line-height:1.5;">
528									Accetto di ricevere comunicazioni promozionali da Juniper. (Opzionale)								</span>
529							</label>
530
531						</div>
532
533					</div><!-- /fields -->
534
535					<!-- Error display -->
536					<div id="jnp-step2-errors" style="display:none;background:rgba(142,6,51,.15);border:1px solid rgba(142,6,51,.4);border-radius:12px;padding:16px;margin-top:20px;"></div>
537
538					<button type="button" id="jnp-step2-submit"
539							class="jnp-pass-btn"
540							style="width:100%;margin-top:28px;">
541						Continua					</button>
542
543				</div>
544			</div>
545
546			<!-- ===== STEP 3: Document Upload ===== -->
547			<div id="jnp-step-3" class="jnp-step-panel" style="display:none;">
548				<div style="background:rgba(255,255,255,.04);border-radius:24px;padding:32px;">
549
550					<!-- Transition banner — shown when arriving from Step 2 -->
551					<div style="background:linear-gradient(135deg,rgba(142,6,51,.25),rgba(142,6,51,.1));border:1px solid rgba(142,6,51,.5);border-radius:16px;padding:20px 24px;margin-bottom:28px;display:flex;align-items:flex-start;gap:16px;">
552						<div style="font-size:32px;line-height:1;flex-shrink:0;">📎</div>
553						<div>
554							<div style="color:#fff;font-size:16px;font-weight:700;margin-bottom:6px;">Quasi fatto! Ora carica il tuo documento d'identità</div>
555							<div style="color:rgba(255,255,255,.65);font-size:13px;line-height:1.6;">La tua richiesta è stata registrata. Per completarla e avviarla alla revisione devi caricare il documento d'identità qui sotto. Senza di esso la richiesta non verrà presa in considerazione.</div>
556						</div>
557					</div>
558
559					<h2 style="color:#fff;margin:0 0 8px;font-size:22px;">Verifica identita</h2>
560					<p style="color:rgba(255,255,255,.5);margin:0 0 16px;font-size:14px;">Carica i documenti richiesti. Verranno esaminati entro 24 ore.</p>
561
562					<div style="background:rgba(142,6,51,.15);border:1px solid rgba(142,6,51,.35);border-radius:12px;padding:12px 16px;margin-bottom:24px;font-size:13px;color:rgba(255,255,255,.7);line-height:1.5;">
563						⚠️ Il caricamento dei documenti è obbligatorio per completare la richiesta. La tua richiesta non verrà presa in considerazione senza documenti.					</div>
564
565					<!-- ID Document — always shown -->
566					<div class="jnp-upload-block" style="margin-bottom:24px;">
567						<label style="color:rgba(255,255,255,.8);font-size:14px;font-weight:600;display:block;margin-bottom:6px;">
568							🪪 Documento d'identita *
569						</label>
570						<p style="color:rgba(255,255,255,.4);font-size:12px;margin:0 0 12px;">Carta d'identita, patente, passaporto o tessera sanitaria. Deve essere in corso di validita.</p>
571						<label id="jnp-id-upload-label"
572							   style="display:block;border:2px dashed rgba(255,255,255,.15);border-radius:16px;padding:24px;text-align:center;cursor:pointer;transition:border-color .2s;">
573							<div style="font-size:28px;margin-bottom:8px;">📎</div>
574							<div id="jnp-id-upload-text" style="color:rgba(255,255,255,.5);font-size:13px;">Tocca per scegliere o fotografare il documento</div>
575							<input type="file" id="jnp-doc-id" name="doc_id" accept="image/*,application/pdf" capture="environment" style="display:none;">
576						</label>
577					</div>
578
579					<!-- Resident: address question -->
580					<div id="jnp-address-question" style="display:none;margin-bottom:24px;">
581						<div style="background:rgba(255,255,255,.04);border-radius:16px;padding:20px;">
582							<p style="color:rgba(255,255,255,.8);font-size:14px;font-weight:600;margin:0 0 16px;">
583								Il tuo documento mostra il tuo indirizzo di residenza in Sardegna?							</p>
584							<div style="display:flex;flex-direction:column;gap:12px;">
585								<label style="display:flex;align-items:center;gap:10px;cursor:pointer;">
586									<input type="radio" name="id_on_address" value="1" checked
587										   style="accent-color:#8E0633;width:18px;height:18px;">
588									<span style="color:rgba(255,255,255,.8);font-size:14px;">Si, l'indirizzo e visibile sul documento che ho caricato.</span>
589								</label>
590								<label style="display:flex;align-items:center;gap:10px;cursor:pointer;">
591									<input type="radio" name="id_on_address" value="0"
592										   style="accent-color:#8E0633;width:18px;height:18px;">
593									<span style="color:rgba(255,255,255,.8);font-size:14px;">No, voglio caricare un documento aggiuntivo.</span>
594								</label>
595							</div>
596						</div>
597					</div>
598
599					<!-- Resident: supplementary address doc -->
600					<div id="jnp-address-upload-block" style="display:none;margin-bottom:24px;">
601						<label style="color:rgba(255,255,255,.8);font-size:14px;font-weight:600;display:block;margin-bottom:6px;">
602							🏠 Documento di residenza *
603						</label>
604						<p style="color:rgba(255,255,255,.4);font-size:12px;margin:0 0 12px;">Bolletta, estratto conto bancario o lettera ufficiale con indirizzo.</p>
605						<label id="jnp-address-upload-label"
606							   style="display:block;border:2px dashed rgba(255,255,255,.15);border-radius:16px;padding:24px;text-align:center;cursor:pointer;transition:border-color .2s;">
607							<div style="font-size:28px;margin-bottom:8px;">📎</div>
608							<div id="jnp-address-upload-text" style="color:rgba(255,255,255,.5);font-size:13px;">Tocca per scegliere o fotografare il documento</div>
609							<input type="file" id="jnp-doc-address" name="doc_address" accept="image/*,application/pdf" capture="environment" style="display:none;">
610						</label>
611					</div>
612
613					<!-- Worker: work document -->
614					<div id="jnp-work-upload-block" style="display:none;margin-bottom:24px;">
615						<label style="color:rgba(255,255,255,.8);font-size:14px;font-weight:600;display:block;margin-bottom:6px;">
616							💼 Documento di lavoro *
617						</label>
618						<p style="color:rgba(255,255,255,.4);font-size:12px;margin:0 0 12px;">Contratto di lavoro o busta paga della stagione corrente.</p>
619						<label id="jnp-work-upload-label"
620							   style="display:block;border:2px dashed rgba(255,255,255,.15);border-radius:16px;padding:24px;text-align:center;cursor:pointer;transition:border-color .2s;">
621							<div style="font-size:28px;margin-bottom:8px;">📎</div>
622							<div id="jnp-work-upload-text" style="color:rgba(255,255,255,.5);font-size:13px;">Tocca per scegliere o fotografare il documento</div>
623							<input type="file" id="jnp-doc-work" name="doc_work" accept="image/*,application/pdf" capture="environment" style="display:none;">
624						</label>
625					</div>
626
627					<p style="color:rgba(255,255,255,.3);font-size:12px;text-align:center;margin:0 0 24px;line-height:1.6;">
628						🔒 I documenti sono trattati in modo riservato, non condivisi con terzi e eliminati a fine stagione.					</p>
629
630					<!-- Error display -->
631					<div id="jnp-step3-errors" style="display:none;background:rgba(142,6,51,.15);border:1px solid rgba(142,6,51,.4);border-radius:12px;padding:16px;margin-bottom:20px;"></div>
632
633					<button type="button" id="jnp-step3-submit"
634							class="jnp-pass-btn"
635							style="width:100%;">
636						Invia documenti					</button>
637
638					<!-- Upload progress -->
639					<div id="jnp-upload-progress" style="display:none;margin-top:20px;">
640						<div style="display:flex;align-items:center;gap:12px;margin-bottom:10px;">
641							<div class="jnp-upload-spinner"></div>
642							<span id="jnp-upload-status" style="font-size:13px;color:rgba(255,255,255,.6);">
643								Caricamento...							</span>
644						</div>
645						<div style="background:rgba(255,255,255,.1);border-radius:100px;height:6px;overflow:hidden;">
646							<div id="jnp-upload-bar"
647								 style="height:100%;width:0%;background:linear-gradient(90deg,#8E0633,#c0103f);border-radius:100px;transition:width .2s ease;"></div>
648						</div>
649						<div id="jnp-upload-pct" style="font-size:11px;color:rgba(255,255,255,.3);text-align:right;margin-top:4px;">0%</div>
650					</div>
651
652				</div>
653			</div>
654
655			<!-- ===== STEP 4: Done ===== -->
656			<div id="jnp-step-4" class="jnp-step-panel" style="display:none;">
657				<div style="background:rgba(255,255,255,.04);border-radius:24px;padding:48px 32px;text-align:center;">
658					<div style="font-size:64px;margin-bottom:24px;">🎉</div>
659					<h2 style="color:#fff;font-size:26px;margin:0 0 16px;">Richiesta inviata!</h2>
660					<p style="color:rgba(255,255,255,.6);font-size:15px;margin:0 0 32px;line-height:1.7;">
661						Grazie per aver richiesto il tuo Season Pass. Esamineremo i tuoi documenti e ti invieremo una notifica via email entro 24 ore.					</p>
662					<div style="background:rgba(255,255,255,.06);border-radius:16px;padding:20px;margin-bottom:32px;display:inline-block;">
663						<div style="font-size:12px;color:rgba(255,255,255,.4);margin-bottom:4px;">Codice pass</div>
664						<div id="jnp-final-code" style="font-family:monospace;font-size:22px;color:#fff;letter-spacing:3px;"></div>
665					</div>
666					<p style="color:rgba(255,255,255,.4);font-size:13px;margin:0 0 28px;">
667						Controlla anche la cartella spam se non ricevi la nostra email.					</p>
668															<a href="https://www.junipersardinia.com/events/"
669					   style="display:inline-block;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);padding:14px 28px;border-radius:40px;font-weight:700;font-size:14px;text-decoration:none;font-family:Raleway,sans-serif;">
670						Vedi gli eventi					</a>
671									</div>
672			</div>
673
674		</div><!-- /max-width -->
675	</div><!-- /container -->
676</main>
677
678<style>
679/* Type selection cards — original style */
680.jnp-type-btn:hover,
681.jnp-type-btn.selected {
682	border-color: #8E0633 !important;
683	background: rgba(142,6,51,.15) !important;
684}
685
686/* Primary CTA button — matches site style */
687.jnp-pass-btn {
688	display: block;
689	background: linear-gradient(135deg, #8E0633, #c0143c);
690	color: #fff !important;
691	border: none;
692	border-radius: 40px;
693	padding: 16px 32px;
694	font-size: 16px;
695	font-weight: 800;
696	font-family: Raleway, sans-serif;
697	letter-spacing: .3px;
698	cursor: pointer;
699	text-align: center;
700	box-shadow: 0 4px 18px rgba(142,6,51,.35);
701	transition: box-shadow .2s, transform .1s, opacity .2s;
702	-webkit-tap-highlight-color: transparent;
703}
704.jnp-pass-btn:hover {
705	box-shadow: 0 6px 24px rgba(142,6,51,.5);
706	transform: translateY(-1px);
707}
708.jnp-pass-btn:active {
709	transform: translateY(0) scale(.98);
710	box-shadow: 0 2px 10px rgba(142,6,51,.3);
711}
712.jnp-pass-btn:disabled {
713	opacity: .55;
714	cursor: not-allowed;
715	transform: none;
716	box-shadow: none;
717}
718
719/* Step indicator */
720.jnp-step.active .jnp-step-dot {
721	background: #8E0633 !important;
722	color: #fff !important;
723}
724.jnp-step.done .jnp-step-dot {
725	background: #16a34a !important;
726	color: #fff !important;
727}
728.jnp-step.active .jnp-step-dot + div,
729.jnp-step.done .jnp-step-dot + div {
730	color: rgba(255,255,255,.8) !important;
731}
732
733/* Input focus */
734input[type=text]:focus,
735input[type=email]:focus,
736input[type=tel]:focus {
737	border-color: rgba(142,6,51,.6) !important;
738}
739
740/* Upload drop zone hover */
741.jnp-upload-label-hover {
742	border-color: rgba(142,6,51,.5) !important;
743}
744.jnp-upload-spinner {
745	width: 18px;
746	height: 18px;
747	border: 2px solid rgba(255,255,255,.15);
748	border-top-color: rgba(255,255,255,.7);
749	border-radius: 50%;
750	animation: jnp-spin .7s linear infinite;
751	flex-shrink: 0;
752}
753@keyframes jnp-spin {
754	to { transform: rotate(360deg); }
755}
756</style>
757
758<script>
759(function () {
760	const ajaxUrl  = 'https://www.junipersardinia.com/wp-admin/admin-ajax.php';
761	const nonce1   = '0b9b57e04e';
762	const nonce2   = '6c6ca9382e';
763
764	let currentStep = 1;
765	let selectedType = '';
766	let passId = '';
767	let passCode = '';
768
769	
770	// ---- Step indicator ----
771	function updateStepIndicator(step) {
772		document.querySelectorAll('.jnp-step').forEach(function (el) {
773			const n = parseInt(el.dataset.step);
774			el.classList.remove('active', 'done');
775			if (n === step) el.classList.add('active');
776			if (n < step)  el.classList.add('done');
777		});
778	}
779
780	function showStep(n) {
781		document.querySelectorAll('.jnp-step-panel').forEach(function (el) {
782			el.style.display = 'none';
783		});
784		const panel = document.getElementById('jnp-step-' + n);
785		if (panel) panel.style.display = 'block';
786		currentStep = n;
787		updateStepIndicator(n);
788		window.scrollTo({ top: 0, behavior: 'smooth' });
789	}
790
791	updateStepIndicator(1);
792
793	// ---- Step 1: Type selection ----
794	document.querySelectorAll('.jnp-type-btn').forEach(function (btn) {
795		btn.addEventListener('click', function () {
796			selectedType = this.dataset.type;
797			document.querySelectorAll('.jnp-type-btn').forEach(function (b) {
798				b.classList.remove('selected');
799			});
800			this.classList.add('selected');
801
802			// Update badge on step 2
803			const badge = document.getElementById('jnp-type-badge');
804			if (selectedType === 'resident') {
805				badge.textContent = '🏠 Residente';
806				badge.style.background = '#1a4fa0';
807				badge.style.color = '#fff';
808			} else {
809				badge.textContent = '💼 Lavoratore';
810				badge.style.background = '#8E0633';
811				badge.style.color = '#fff';
812			}
813
814			// Show/hide type-specific fields
815			document.getElementById('jnp-worker-fields').style.display = selectedType === 'worker' ? 'flex' : 'none';
816
817			setTimeout(function () { showStep(2); }, 180);
818		});
819	});
820
821	document.getElementById('jnp-change-type').addEventListener('click', function () {
822		showStep(1);
823	});
824
825	// ---- Step 2: Form submission ----
826	document.getElementById('jnp-step2-submit').addEventListener('click', function () {
827		const btn = this;
828		const errorBox = document.getElementById('jnp-step2-errors');
829		errorBox.style.display = 'none';
830		btn.disabled = true;
831		btn.textContent = 'Attendere...';
832
833		const data = new FormData();
834		data.append('action',       'jnp_pass_register');
835		data.append('nonce',        nonce1);
836		data.append('pass_type',    selectedType);
837		data.append('full_name',    document.getElementById('jnp-full-name').value.trim());
838		data.append('email',        document.getElementById('jnp-email').value.trim());
839		data.append('phone',        document.getElementById('jnp-phone').value.trim());
840		data.append('city',         document.getElementById('jnp-city')?.value.trim() || '');
841		data.append('employer',     document.getElementById('jnp-employer')?.value.trim() || '');
842		data.append('job_role',     document.getElementById('jnp-job-role')?.value.trim() || '');
843
844		if (document.getElementById('jnp-age-confirm').checked)    data.append('age_confirmed', '1');
845		if (document.getElementById('jnp-terms-accept').checked)   data.append('terms_accepted', '1');
846		if (document.getElementById('jnp-marketing-opt').checked)  data.append('marketing_opt', '1');
847
848		fetch(ajaxUrl, { method: 'POST', body: data })
849			.then(function (r) { return r.json(); })
850			.then(function (res) {
851				btn.disabled = false;
852				btn.textContent = 'Continua';
853
854				if (res.success) {
855					passId   = res.data.pass_id;
856					passCode = res.data.pass_code;
857
858					// Configure step 3 upload fields
859					document.getElementById('jnp-address-question').style.display =
860						selectedType === 'resident' ? 'block' : 'none';
861					document.getElementById('jnp-work-upload-block').style.display =
862						selectedType === 'worker' ? 'block' : 'none';
863
864					showStep(3);
865				} else {
866					const msgs = res.data.messages || ['Si e verificato un errore. Riprova.'];
867					errorBox.innerHTML = msgs.map(function (m) {
868						return '<p style="margin:0 0 4px;color:#f87171;font-size:13px;">• ' + m + '</p>';
869					}).join('');
870					errorBox.style.display = 'block';
871				}
872			})
873			.catch(function () {
874				btn.disabled = false;
875				btn.textContent = 'Continua';
876				errorBox.innerHTML = '<p style="margin:0;color:#f87171;font-size:13px;">Errore di rete. Controlla la connessione e riprova.</p>';
877				errorBox.style.display = 'block';
878			});
879	});
880
881	// ---- Step 3: Address radio toggle ----
882	document.querySelectorAll('input[name="id_on_address"]').forEach(function (radio) {
883		radio.addEventListener('change', function () {
884			const showExtra = this.value === '0';
885			document.getElementById('jnp-address-upload-block').style.display = showExtra ? 'block' : 'none';
886		});
887	});
888
889	// ---- File upload label feedback ----
890	function bindFileLabel(inputId, textId) {
891		const input = document.getElementById(inputId);
892		const text  = document.getElementById(textId);
893		if (!input || !text) return;
894		input.addEventListener('change', function () {
895			if (this.files && this.files[0]) {
896				text.textContent = '✓ ' + this.files[0].name;
897				text.style.color = '#4ade80';
898			}
899		});
900	}
901	bindFileLabel('jnp-doc-id',      'jnp-id-upload-text');
902	bindFileLabel('jnp-doc-address', 'jnp-address-upload-text');
903	bindFileLabel('jnp-doc-work',    'jnp-work-upload-text');
904
905	// ---- Step 3: Document upload submission ----
906	document.getElementById('jnp-step3-submit').addEventListener('click', function () {
907		const btn      = this;
908		const errorBox = document.getElementById('jnp-step3-errors');
909		errorBox.style.display = 'none';
910
911		// ── Client-side validation ─────────────────────────────
912		const validationErrors = [];
913		const docId = document.getElementById('jnp-doc-id');
914
915		if (!docId.files[0]) {
916			validationErrors.push('Il documento d\'identita e obbligatorio.');
917		}
918
919		if (selectedType === 'worker') {
920			const docWork = document.getElementById('jnp-doc-work');
921			if (!docWork.files[0]) {
922				validationErrors.push('Il documento di lavoro e obbligatorio.');
923			}
924		}
925
926		if (selectedType === 'resident') {
927			const idOnAddress = document.querySelector('input[name="id_on_address"]:checked')?.value || '1';
928			if (idOnAddress === '0') {
929				const docAddr = document.getElementById('jnp-doc-address');
930				if (!docAddr.files[0]) {
931					validationErrors.push('Il documento di residenza e obbligatorio.');
932				}
933			}
934		}
935
936		if (validationErrors.length) {
937			errorBox.innerHTML = validationErrors.map(function (m) {
938				return '<p style="margin:0 0 4px;color:#f87171;font-size:13px;">• ' + m + '</p>';
939			}).join('');
940			errorBox.style.display = 'block';
941			return;
942		}
943		// ── End validation ─────────────────────────────────────
944
945		btn.disabled    = true;
946		btn.textContent = 'Caricamento...';
947
948		// Lock all file inputs and upload areas
949		const uploadLabels = document.querySelectorAll('#jnp-step-3 label[id$="-upload-label"]');
950		const fileInputs   = document.querySelectorAll('#jnp-step-3 input[type="file"]');
951		uploadLabels.forEach(function (el) { el.style.pointerEvents = 'none'; el.style.opacity = '0.45'; });
952		fileInputs.forEach(function (el) { el.disabled = true; });
953
954		function unlockUploads() {
955			uploadLabels.forEach(function (el) { el.style.pointerEvents = ''; el.style.opacity = ''; });
956			fileInputs.forEach(function (el) { el.disabled = false; });
957		}
958
959		// Build FormData
960		const idOnAddress = document.querySelector('input[name="id_on_address"]:checked')?.value || '1';
961		const data = new FormData();
962		data.append('action',        'jnp_pass_upload_docs');
963		data.append('nonce',         nonce2);
964		data.append('pass_id',       passId);
965		data.append('pass_type',     selectedType);
966		data.append('id_on_address', idOnAddress);
967		if (docId.files[0]) data.append('doc_id', docId.files[0]);
968		if (selectedType === 'worker') {
969			const docWork = document.getElementById('jnp-doc-work');
970			if (docWork.files[0]) data.append('doc_work', docWork.files[0]);
971		}
972		if (selectedType === 'resident' && idOnAddress === '0') {
973			const docAddr = document.getElementById('jnp-doc-address');
974			if (docAddr.files[0]) data.append('doc_address', docAddr.files[0]);
975		}
976
977		// Show progress UI
978		const progressEl = document.getElementById('jnp-upload-progress');
979		const barEl      = document.getElementById('jnp-upload-bar');
980		const pctEl      = document.getElementById('jnp-upload-pct');
981		const statusEl   = document.getElementById('jnp-upload-status');
982		progressEl.style.display = 'block';
983
984		// Use XHR instead of fetch for upload progress tracking
985		const xhr = new XMLHttpRequest();
986
987		xhr.upload.addEventListener('progress', function (e) {
988			if (e.lengthComputable) {
989				const pct = Math.round(e.loaded / e.total * 100);
990				barEl.style.width = pct + '%';
991				pctEl.textContent = pct + '%';
992				if (pct === 100) {
993					statusEl.textContent = 'Elaborazione in corso...';
994				}
995			}
996		});
997
998		xhr.addEventListener('load', function () {
999			let res;
1000			try { res = JSON.parse(xhr.responseText); } catch(e) { res = null; }
1001
1002			if (res && res.success) {
1003				barEl.style.width = '100%';
1004				pctEl.textContent = '100%';
1005				document.getElementById('jnp-final-code').textContent = passCode;
1006				setTimeout(function () { showStep(4); }, 300);
1007			} else {
1008				btn.disabled = false;
1009				btn.textContent = 'Invia documenti';
1010				progressEl.style.display = 'none';
1011				barEl.style.width = '0%';
1012				unlockUploads();
1013				const msgs = (res && res.data && res.data.messages) || ['Si e verificato un errore. Riprova.'];
1014				errorBox.innerHTML = msgs.map(function (m) {
1015					return '<p style="margin:0 0 4px;color:#f87171;font-size:13px;">• ' + m + '</p>';
1016				}).join('');
1017				errorBox.style.display = 'block';
1018			}
1019		});
1020
1021		xhr.addEventListener('error', function () {
1022			btn.disabled = false;
1023			btn.textContent = 'Invia documenti';
1024			progressEl.style.display = 'none';
1025			barEl.style.width = '0%';
1026			unlockUploads();
1027			errorBox.innerHTML = '<p style="margin:0;color:#f87171;font-size:13px;">Errore di rete. Controlla la connessione e riprova.</p>';
1028			errorBox.style.display = 'block';
1029		});
1030
1031		xhr.open('POST', ajaxUrl);
1032		xhr.send(data);
1033	});
1034
1035	
1036	
1037})();
1038</script>
1038
1039
1040<footer class="footer">
1041	<div class="container-sm">
1042		<div class="row margin-bottom-80">
1043			<div class="col-xs-12 col-sm-4 text-center">
1044				<div class="margin-bottom-20">
1045					<img class="img-responsive img-logo-footer" src="https://www.junipersardinia.com/wp-content/themes/juniper-club/assets/images/juniper_logo_vertical_black.png" alt="Juniper Club Logo">
1046				</div>
1047				<ul class="list-inline" style="font-size: 50px;">
1048					<li><a href="https://www.instagram.com/juniper.sardinia/" target="_blank"><i class="lab la-instagram"></i></a></li>
1049					<li><a href="https://www.facebook.com/juniper.sardinia/" target="_blank"><i class="lab la-facebook"></i></a></li>
1050				</ul>
1051			</div>
1052			<div class="col-xs-12 col-sm-5 col-sm-offset-3">
1053				<div class="margin-bottom-30">
1054					<div class="margin-bottom-10">
1055						<h4>INDIRIZZO</h4>
1056						Lungomare Laconia 137, loc. Tanca Manna
1057						<br>07021 Cannigione (SS)
1058						<br>Sardinia
1059					</div>
1060					<a class="btn btn-sm btn-primary" href="https://www.google.com/maps/dir//Juniper+Club,+Cannigione,+SS/@41.1358838,9.3913786,11832m/data=!3m1!1e3!4m9!4m8!1m0!1m5!1m1!1s0x12d943fba6ea0da7:0xd3110405b8770c0e!2m2!1d9.4325782!2d41.1358265!3e0?entry=ttu&g_ep=EgoyMDI1MDczMC4wIKXMDSoASAFQAw%3D%3D" target="_blank"><i class="las la-location-arrow"></i> Indicazioni Stradali</a>
1061				</div>
1062				<div class="margin-bottom-30">
1063					<div class="margin-bottom-10">
1064						<h4>CONTATTI</h4>
1065						Per prenotazioni, collaborazioni o informazioni generali, contattaci tramite il modulo Contatti o inviaci un DM su Instagram.					</div>
1066					<a class="btn btn-sm btn-primary" href="https://www.junipersardinia.com/contacts/"><i class="las la-envelope"></i> Modulo di Contatto</a>
1067				</div>
1068			</div>
1069		</div>
1070
1071		<!-- Language Switcher -->
1072		<div class="text-center margin-bottom-20">
1073							<a href="https://www.junipersardinia.com/pass/"
1074				   class="jnp-lang-link-footer active"
1075				   hreflang="it"
1076				>IT</a>
1077							<a href="https://www.junipersardinia.com/en/pass/"
1078				   class="jnp-lang-link-footer"
1079				   hreflang="en"
1080				>EN</a>
1081					</div>
1082
1083		<div class="text-center">
1084			<p>&copy; 2022 - 2026 Pevero Group Srls. Tutti i diritti riservati.</p>
1085		</div>
1086	</div>
1087	<div class="footer-credit">
1088		Sito web realizzato da		<a href="https://www.nurawa.com" target="_blank" rel="noopener">
1089			Nurawa Web Agency
1090		</a>
1091	</div>
1092</footer>
1093
1094<script type="speculationrules">
1095{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/juniper-club/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
1096</script>
vendor: 1 bytes, line 1096
1096
1097<script id="wp-hooks-js" src="https://www.junipersardinia.com/wp-includes/js/dist/hooks.min.js?ver=f0f188028580e8dc1255"></script>
vendor: 1 bytes, line 1097
1097
1098<script id="wp-i18n-js" src="https://www.junipersardinia.com/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216"></script>
vendor: 1 bytes, line 1098
1098
1099<script id="wp-i18n-js-after">
1100wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
1101//# sourceURL=wp-i18n-js-after
1102</script>
vendor: 1 bytes, line 1102
1102
1103<script id="swv-js" src="https://www.junipersardinia.com/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.1.7"></script>
vendor: 1 bytes, line 1103
1103
1104<script id="contact-form-7-js-translations">
1105( function( domain, translations ) {
1106	var localeData = translations.locale_data[ domain ] || translations.locale_data.messages;
1107	localeData[""].domain = domain;
1108	wp.i18n.setLocaleData( localeData, domain );
1109} )( "contact-form-7", {"translation-revision-date":"2026-05-15 07:25:09+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"it"},"This contact form is placed in the wrong place.":["Questo modulo di contatto \u00e8 posizionato nel posto sbagliato."],"Error:":["Errore:"]}},"comment":{"reference":"includes\/js\/index.js"}} );
1110//# sourceURL=contact-form-7-js-translations
1111</script>
vendor: 1 bytes, line 1111
1111
1112<script id="contact-form-7-js-before">
1113var wpcf7 = {
1114    "api": {
1115        "root": "https:\/\/www.junipersardinia.com\/wp-json\/",
1116        "namespace": "contact-form-7\/v1"
1117    }
1118};
1119//# sourceURL=contact-form-7-js-before
1120</script>
vendor: 1 bytes, line 1120
1120
1121<script id="contact-form-7-js" src="https://www.junipersardinia.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.1.7"></script>
vendor: 1 bytes, line 1121
1121
1122<script id="jnp-tables-front-js-extra">
1123var jnpTables = {"restUrl":"https://www.junipersardinia.com/wp-json/jnp-tables/v1/","nonce":"00c83f9eef","lang":"it","isLoggedIn":"","loginUrl":"https://www.junipersardinia.com/login","i18n":{"step1_title":"Choose your table","step2_title":"Enhance your night","step2_subtitle":"Add bottles & packages to your reservation. Prices are pre-book rates \u2014 cheaper than on the night.","skip_extras":"Skip \u2014 no extras","add_to_order":"Add","added":"Added \u2713","remove":"Remove","save_vs_door":"vs door price","your_order":"Your order","extras_total":"Extras","grand_total":"Total","pay_now_cta":"Continue to checkout","step3_title":"Your details","available":"Available","sold_out":"Sold out","unavailable":"Unavailable","capacity":"Capacity","min_spend":"Minimum spend","pay_now":"Pay now to book","fully_redeemable":"Fully redeemable at the venue","redeemable_conditions":"The deposit is credited in full toward your drinks & bottle service on the night. A minimum spend applies per table \u2014 see our \u003Ca href=\"/terms\" target=\"_blank\" style=\"color:inherit;text-decoration:underline;\"\u003EReservation Terms\u003C/a\u003E for full conditions.","party_size":"Choose your party size","select_table":"Select this table","book_now":"Book now","at_venue":"at venue","save":"Save","order_summary":"Order summary","continue":"Continue","back":"Back","pay":"Pay deposit","first_name":"First name","last_name":"Last name","email":"Email","phone":"Phone","notes":"Reservation notes (optional)","celebrating":"Are you celebrating something?","guests":"Guests","tc_accept":"I accept the terms and conditions","marketing_consent":"I want to receive news and promotions from Juniper Club","info_title":"Before you arrive","balance_due":"Balance due on arrival","deposit_label":"Deposit (deducted from your bill)","total_label":"Total commitment","pax":"pax","bottles":"Bottles","packages":"Packages","sodas":"Sodas & Mixers","featured":"Featured","early_bird_badge":"Book now & save","error_required":"Please fill in all required fields.","error_tc":"Please accept the terms and conditions.","processing":"Processing...","on_request_badge":"On Request","instant_badge":"Instant Booking","request_now":"Request table","request_submit":"Send request","request_sent":"Request sent \u2014 we'll be in touch within 24 hours.","on_request_info":"This table is available on request. Submit your details and we'll confirm availability and send you a payment link."}};
1124//# sourceURL=jnp-tables-front-js-extra
1125</script>
vendor: 1 bytes, line 1125
1125
1126<script id="jnp-tables-front-js" src="https://www.junipersardinia.com/wp-content/plugins/jnp-tables/frontend/tables.js?ver=1.0"></script>
vendor: 1 bytes, line 1126
1126
1127<script id="jnp-wa-widget-js-extra">
1128var jnpWa = {"restUrl":"https://www.junipersardinia.com/wp-json/","nonce":"00c83f9eef","lang":"it","i18n":{"opening_hours":"wa.opening_hours","upcoming_events":"wa.upcoming_events","closed":"wa.closed","today":"wa.today","get_directions":"wa.get_directions","send":"wa.send","sending":"wa.sending","sent":"wa.sent","send_error":"wa.send_error","address":"wa.address","phone":"wa.phone","email":"wa.email","instagram":"wa.instagram","dress_code":"wa.dress_code","min_age":"wa.min_age","reserve_prefix":"wa.reserve_prefix","days":{"monday":"wa.day_mon","tuesday":"wa.day_tue","wednesday":"wa.day_wed","thursday":"wa.day_thu","friday":"wa.day_fri","saturday":"wa.day_sat","sunday":"wa.day_sun"}},"strings":{"greeting":"Ciao! \ud83d\udc4b Sono l'assistente del Juniper Club. Come posso aiutarti?"}};
1129//# sourceURL=jnp-wa-widget-js-extra
1130</script>
vendor: 1 bytes, line 1130
1130
1131<script id="jnp-wa-widget-js" src="https://www.junipersardinia.com/wp-content/plugins/jnp-whatsapp/assets/js/widget.js?ver=1.0"></script>
vendor: 1 bytes, line 1131
1131
1132<script id="bootstrap-js-js" src="https://www.junipersardinia.com/wp-content/themes/juniper-club/assets/js/bootstrap.min.js"></script>
vendor: 1 bytes, line 1132
1132
1133<script id="jnp-ticket-sheet-js" src="https://www.junipersardinia.com/wp-content/themes/juniper-club/assets/js/jnp-ticket-sheet.js?ver=1.0"></script>
vendor: 1 bytes, line 1133
1133
1134<script id="uacf7-cf-script-js-extra">
1135var uacf7_cf_object = [];
1136//# sourceURL=uacf7-cf-script-js-extra
1137</script>
vendor: 1 bytes, line 1137
1137
1138<script id="uacf7-cf-script-js" src="https://www.junipersardinia.com/wp-content/plugins/ultimate-addons-for-contact-form-7/addons/conditional-field/js/uacf7-cf-script.js?ver=3.5.52"></script>
vendor: 1 bytes, line 1138
1138
1139<script id="uacf7-multistep-js-extra">
1140var uacf7_multistep_obj = {"ajax_url":"https://www.junipersardinia.com/wp-admin/admin-ajax.php","nonce":"640bb6d9a0"};
1141//# sourceURL=uacf7-multistep-js-extra
1142</script>
vendor: 1 bytes, line 1142
1142
1143<script id="uacf7-multistep-js" src="https://www.junipersardinia.com/wp-content/plugins/ultimate-addons-for-contact-form-7/addons/multistep/assets/js/multistep.js?ver=3.5.52"></script>
vendor: 1 bytes, line 1143
1143
1144<script id="uacf7-progressbar-js" src="https://www.junipersardinia.com/wp-content/plugins/ultimate-addons-for-contact-form-7/addons/multistep/assets/js/progressbar.js?ver=3.5.52"></script>
vendor: 1 bytes, line 1144
1144
1145<script id="uacf7-signature-public-assets-js-extra">
1146var uacf7_sign_obj = {"message_notice":"Please sign first and confirm your signature before form submission","message_success":"Signature Confirmed"};
1147//# sourceURL=uacf7-signature-public-assets-js-extra
1148</script>
vendor: 1 bytes, line 1148
1148
1149<script id="uacf7-signature-public-assets-js" src="https://www.junipersardinia.com/wp-content/plugins/ultimate-addons-for-contact-form-7/addons/signature/assets/public/js/signature.js?ver=3.5.52"></script>
vendor: 1 bytes, line 1149
1149
1150<script id="uacf7-sign-lib.min-js" src="https://www.junipersardinia.com/wp-content/plugins/ultimate-addons-for-contact-form-7/addons/signature/assets/public/js/sign-lib.min.js?ver=3.5.52"></script>
vendor: 1 bytes, line 1150
1150
1151<script id="wp-emoji-settings" type="application/json">
1152{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.junipersardinia.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.3"}}
1153</script>
vendor: 1 bytes, line 1153
1153
1154<script type="module">
1155/*! This file is auto-generated */
1156var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
1157//# sourceURL=https://www.junipersardinia.com/wp-includes/js/wp-emoji-loader.min.js
1158</script>
1158
1159</main>
1160</body>
1161</html>

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