@ctonti/ask-golf-veneto 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{app-DWg095Qd.mjs → app-Bc1Wuyn1.mjs} +49 -14
- package/dist/app-Bc1Wuyn1.mjs.map +1 -0
- package/dist/browser.js +700 -480
- package/dist/browser.js.map +1 -1
- package/dist/exports/client.mjs +1 -1
- package/dist/exports/registry.mjs +1 -1
- package/dist/globals.css +1 -0
- package/dist/index.mjs +1 -1
- package/dist/registry-YcWNxjzA.mjs +1385 -0
- package/dist/registry-YcWNxjzA.mjs.map +1 -0
- package/dist/styles.css +797 -251
- package/package.json +2 -2
- package/dist/app-DWg095Qd.mjs.map +0 -1
- package/dist/registry-Bq-3Pbqd.mjs +0 -1211
- package/dist/registry-Bq-3Pbqd.mjs.map +0 -1
package/dist/browser.js
CHANGED
|
@@ -29996,6 +29996,10 @@ const Music2 = createLucideIcon("music-2", [["circle", {
|
|
|
29996
29996
|
d: "M12 18V2l7 4",
|
|
29997
29997
|
key: "g04rme"
|
|
29998
29998
|
}]]);
|
|
29999
|
+
const Navigation = createLucideIcon("navigation", [["polygon", {
|
|
30000
|
+
points: "3 11 22 2 13 21 11 13 3 11",
|
|
30001
|
+
key: "1ltx0t"
|
|
30002
|
+
}]]);
|
|
29999
30003
|
const OctagonX = createLucideIcon("octagon-x", [
|
|
30000
30004
|
["path", {
|
|
30001
30005
|
d: "m15 9-6 6",
|
|
@@ -30074,6 +30078,13 @@ const Plus = createLucideIcon("plus", [["path", {
|
|
|
30074
30078
|
d: "M12 5v14",
|
|
30075
30079
|
key: "s699le"
|
|
30076
30080
|
}]]);
|
|
30081
|
+
const Quote = createLucideIcon("quote", [["path", {
|
|
30082
|
+
d: "M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",
|
|
30083
|
+
key: "rib7q0"
|
|
30084
|
+
}], ["path", {
|
|
30085
|
+
d: "M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",
|
|
30086
|
+
key: "1ymkrd"
|
|
30087
|
+
}]]);
|
|
30077
30088
|
const Ruler = createLucideIcon("ruler", [
|
|
30078
30089
|
["path", {
|
|
30079
30090
|
d: "M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z",
|
|
@@ -69125,20 +69136,55 @@ function Chat$1({ appKey, apiKey, ...props }) {
|
|
|
69125
69136
|
//#region src/components/intro.tsx
|
|
69126
69137
|
function Intro() {
|
|
69127
69138
|
const { PromptIntro } = (0, import_react.useContext)(ComponentsContext);
|
|
69128
|
-
const { contents } = (0, import_react.useContext)(ChatContext);
|
|
69139
|
+
const { contents, append } = (0, import_react.useContext)(ChatContext);
|
|
69129
69140
|
const title = contents.intro?.title || "Progetta la tua <em>vacanza golf</em> in Veneto";
|
|
69130
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.
|
|
69131
|
-
className: "relative flex min-h-[calc(100vh-
|
|
69132
|
-
children:
|
|
69133
|
-
className: "
|
|
69134
|
-
|
|
69135
|
-
|
|
69136
|
-
|
|
69137
|
-
|
|
69138
|
-
|
|
69139
|
-
|
|
69141
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", {
|
|
69142
|
+
className: "relative flex min-h-[calc(100vh-80px)] w-full flex-col items-center justify-center py-12 px-6 bg-[#faf8f3] text-[#213f31] overflow-hidden",
|
|
69143
|
+
children: [
|
|
69144
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute -top-24 -right-24 w-96 h-96 rounded-full bg-[#213f31]/5 pointer-events-none" }),
|
|
69145
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute -bottom-24 -left-24 w-96 h-96 rounded-full bg-[#478264]/5 pointer-events-none" }),
|
|
69146
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69147
|
+
className: "relative z-10 w-full max-w-4xl mx-auto flex flex-col items-center gap-8 text-center",
|
|
69148
|
+
children: [
|
|
69149
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69150
|
+
className: "inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#213f31]/10 border border-[#213f31]/20",
|
|
69151
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-2 h-2 rounded-full bg-[#34674e]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69152
|
+
className: "text-[#213f31] font-sans text-xs font-semibold uppercase tracking-[0.25em]",
|
|
69153
|
+
children: "Concierge Ufficiale Golf in Veneto"
|
|
69154
|
+
})]
|
|
69155
|
+
}),
|
|
69156
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", {
|
|
69157
|
+
className: "text-4xl @md:text-6xl @lg:text-7xl font-normal leading-[1.15] font-heading italic text-[#213f31] drop-shadow-sm max-w-3xl",
|
|
69158
|
+
dangerouslySetInnerHTML: { __html: title }
|
|
69159
|
+
}),
|
|
69160
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69161
|
+
className: "font-sans text-[#213f31]/80 text-base @md:text-lg max-w-2xl font-light leading-relaxed",
|
|
69162
|
+
children: "Un consulente dedicato per disegnare il tuo itinerario su misura: campi da golf affiliati, eccellenze enogastronomiche, arte e relax."
|
|
69163
|
+
}),
|
|
69164
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69165
|
+
className: "w-full max-w-2xl mt-2 bg-white rounded-2xl p-4 shadow-xl border border-[#e8d9c0]",
|
|
69166
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PromptIntro, {})
|
|
69167
|
+
}),
|
|
69168
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69169
|
+
className: "flex flex-wrap items-center justify-center gap-2.5 mt-2 max-w-3xl",
|
|
69170
|
+
children: [
|
|
69171
|
+
"5 giorni tra golf d'eccellenza e Prosecco",
|
|
69172
|
+
"Weekend romantico: Golf al Lido & Venezia",
|
|
69173
|
+
"Golf, Terme ed Enogastronomia nei Colli Euganei",
|
|
69174
|
+
"Tour dei migliori 15 Golf Club del Veneto"
|
|
69175
|
+
].map((prompt, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
|
|
69176
|
+
type: "button",
|
|
69177
|
+
onClick: () => append?.({
|
|
69178
|
+
role: "user",
|
|
69179
|
+
content: prompt
|
|
69180
|
+
}),
|
|
69181
|
+
className: "px-4 py-2 rounded-full bg-[#213f31]/5 hover:bg-[#213f31] text-[#213f31] hover:text-[#faf8f3] text-xs font-medium border border-[#213f31]/15 transition-all duration-200 cursor-pointer shadow-sm",
|
|
69182
|
+
children: prompt
|
|
69183
|
+
}, i))
|
|
69184
|
+
})
|
|
69185
|
+
]
|
|
69140
69186
|
})
|
|
69141
|
-
|
|
69187
|
+
]
|
|
69142
69188
|
});
|
|
69143
69189
|
}
|
|
69144
69190
|
//#endregion
|
|
@@ -69526,34 +69572,41 @@ const Link = ({ props }) => {
|
|
|
69526
69572
|
const HeroViaggio = ({ props }) => {
|
|
69527
69573
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69528
69574
|
"data-type": "hero-viaggio",
|
|
69529
|
-
className: cn$1("relative flex flex-col items-center justify-center py-
|
|
69530
|
-
children: [props.imageSrc
|
|
69575
|
+
className: cn$1("relative flex flex-col items-center justify-center py-24 @md:py-32 px-8 bg-[#213f31] text-white overflow-hidden rounded-2xl shadow-2xl border border-white/10"),
|
|
69576
|
+
children: [props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69531
69577
|
className: "absolute inset-0 z-0",
|
|
69532
69578
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
69533
69579
|
src: props.imageSrc,
|
|
69534
69580
|
alt: "",
|
|
69535
69581
|
className: "w-full h-full object-cover"
|
|
69536
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-
|
|
69582
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-b from-[#213f31]/90 via-[#213f31]/70 to-[#213f31]/90 mix-blend-multiply" })]
|
|
69583
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69584
|
+
className: "absolute inset-0 z-0 bg-gradient-to-br from-[#213f31] to-[#12241b]",
|
|
69585
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-[url('https://www.transparenttextures.com/patterns/cubes.png')] opacity-20 mix-blend-overlay" })
|
|
69537
69586
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69538
|
-
className: "relative z-10 flex flex-col items-center text-center max-w-4xl mx-auto space-y-
|
|
69587
|
+
className: "relative z-10 flex flex-col items-center text-center max-w-4xl mx-auto space-y-8",
|
|
69539
69588
|
children: [
|
|
69589
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-16 h-px bg-[#e8d9c0]/50 mb-4" }),
|
|
69540
69590
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", {
|
|
69541
|
-
className: "font-heading text-[
|
|
69591
|
+
className: "font-heading text-[40px] @md:text-[64px] @lg:text-[80px] italic leading-[1.1] drop-shadow-lg text-[#faf8f3]",
|
|
69542
69592
|
children: props.title
|
|
69543
69593
|
}),
|
|
69544
69594
|
props.tagline && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69545
|
-
className: "font-sans
|
|
69595
|
+
className: "font-sans font-light uppercase tracking-[0.2em] text-[#e8d9c0] text-sm @md:text-base max-w-2xl drop-shadow",
|
|
69546
69596
|
children: props.tagline
|
|
69547
69597
|
}),
|
|
69598
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-16 h-px bg-[#e8d9c0]/50 mt-4" }),
|
|
69548
69599
|
props.stats && props.stats.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69549
|
-
className: "flex flex-wrap items-center justify-center gap-
|
|
69550
|
-
children: props.stats.map((stat, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("
|
|
69551
|
-
className: "
|
|
69552
|
-
children: [
|
|
69553
|
-
|
|
69554
|
-
|
|
69555
|
-
|
|
69556
|
-
|
|
69600
|
+
className: "flex flex-wrap items-center justify-center gap-6 pt-8",
|
|
69601
|
+
children: props.stats.map((stat, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69602
|
+
className: "flex flex-col items-center bg-white/5 backdrop-blur-md border border-white/10 rounded-xl px-6 py-4 min-w-[120px]",
|
|
69603
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69604
|
+
className: "font-heading italic text-3xl @md:text-4xl text-[#e8d9c0] mb-1",
|
|
69605
|
+
children: stat.value
|
|
69606
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69607
|
+
className: "font-sans text-[10px] uppercase tracking-widest text-white/70 font-semibold",
|
|
69608
|
+
children: stat.label
|
|
69609
|
+
})]
|
|
69557
69610
|
}, i))
|
|
69558
69611
|
})
|
|
69559
69612
|
]
|
|
@@ -69608,32 +69661,52 @@ const ICON_MAP = {
|
|
|
69608
69661
|
const ConceptCard = ({ props }) => {
|
|
69609
69662
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69610
69663
|
"data-type": "concept-card",
|
|
69611
|
-
className: cn$1("bg-
|
|
69612
|
-
children: [
|
|
69613
|
-
className: "
|
|
69614
|
-
|
|
69615
|
-
className: "
|
|
69616
|
-
children: props.debrief
|
|
69617
|
-
})
|
|
69618
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69619
|
-
className: "flex-1 flex flex-col justify-center space-y-6",
|
|
69620
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", {
|
|
69621
|
-
className: "font-heading italic text-foreground text-lg @md:text-xl leading-snug",
|
|
69664
|
+
className: cn$1("bg-[#faf8f3] rounded-2xl border border-[#e8d9c0] shadow-lg overflow-hidden flex flex-col p-8 @md:p-10 space-y-8 @md:space-y-0 @md:flex-row @md:gap-12 relative"),
|
|
69665
|
+
children: [
|
|
69666
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-0 right-0 w-32 h-32 bg-[#e8d9c0]/20 rounded-bl-full -z-0" }),
|
|
69667
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69668
|
+
className: "flex-1 relative z-10 flex flex-col justify-center space-y-6 @md:border-r border-[#e8d9c0] @md:pr-10",
|
|
69622
69669
|
children: [
|
|
69623
|
-
"
|
|
69624
|
-
|
|
69625
|
-
|
|
69670
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69671
|
+
className: "flex items-center gap-2 mb-2",
|
|
69672
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-8 h-px bg-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69673
|
+
className: "text-[10px] uppercase tracking-widest font-bold text-[#478264]",
|
|
69674
|
+
children: "Il Concept"
|
|
69675
|
+
})]
|
|
69676
|
+
}),
|
|
69677
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69678
|
+
className: "relative",
|
|
69679
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Quote, { className: "w-8 h-8 text-[#e8d9c0] absolute -top-4 -left-2 -z-10 opacity-50" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", {
|
|
69680
|
+
className: "font-heading italic text-[#213f31] text-2xl @md:text-3xl leading-snug",
|
|
69681
|
+
children: [
|
|
69682
|
+
"“",
|
|
69683
|
+
props.concept,
|
|
69684
|
+
"”"
|
|
69685
|
+
]
|
|
69686
|
+
})]
|
|
69687
|
+
}),
|
|
69688
|
+
props.themes && props.themes.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69689
|
+
className: "flex flex-wrap gap-2 pt-2",
|
|
69690
|
+
children: props.themes.map((theme, i) => {
|
|
69691
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69692
|
+
className: "flex items-center gap-1.5 bg-white border border-[#e8d9c0] text-[#213f31] text-[10px] uppercase tracking-widest font-bold px-3 py-1.5 rounded-sm shadow-sm",
|
|
69693
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ICON_MAP[theme.icon.toLowerCase()] || Circle, { className: "w-3.5 h-3.5 text-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: theme.label })]
|
|
69694
|
+
}, i);
|
|
69695
|
+
})
|
|
69696
|
+
})
|
|
69626
69697
|
]
|
|
69627
|
-
}),
|
|
69628
|
-
|
|
69629
|
-
|
|
69630
|
-
|
|
69631
|
-
|
|
69632
|
-
|
|
69633
|
-
|
|
69634
|
-
|
|
69635
|
-
|
|
69636
|
-
|
|
69698
|
+
}),
|
|
69699
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69700
|
+
className: "flex-1 relative z-10 flex flex-col justify-center",
|
|
69701
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69702
|
+
className: "text-[10px] uppercase tracking-widest font-bold text-[#213f31]/40 mb-3",
|
|
69703
|
+
children: "La Visione"
|
|
69704
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69705
|
+
className: "text-[#213f31]/80 font-sans leading-relaxed text-sm @md:text-base",
|
|
69706
|
+
children: props.debrief
|
|
69707
|
+
})]
|
|
69708
|
+
})
|
|
69709
|
+
]
|
|
69637
69710
|
});
|
|
69638
69711
|
};
|
|
69639
69712
|
//#endregion
|
|
@@ -69666,219 +69739,276 @@ const ConceptCardSkeleton = (_props) => {
|
|
|
69666
69739
|
const LOGISTICS_ICON_MAP = {
|
|
69667
69740
|
car: Car,
|
|
69668
69741
|
train: TramFront,
|
|
69669
|
-
ship: Ship
|
|
69742
|
+
ship: Ship,
|
|
69743
|
+
default: Navigation
|
|
69670
69744
|
};
|
|
69671
69745
|
const DayPlan = ({ props }) => {
|
|
69672
|
-
if (!props.sections) return null;
|
|
69673
69746
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69674
69747
|
"data-type": "day-plan",
|
|
69675
|
-
className: cn$1("flex flex-col w-full shadow-
|
|
69748
|
+
className: cn$1("flex flex-col w-full shadow-xl rounded-2xl overflow-hidden border border-[#e8d9c0]/50 bg-[#faf8f3]"),
|
|
69676
69749
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69677
|
-
className: "
|
|
69678
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69679
|
-
className: "flex items-center justify-between z-10",
|
|
69680
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69681
|
-
className: "font-sans uppercase tracking-wider text-primary-foreground/60 text-xs font-semibold",
|
|
69682
|
-
children: ["Giorno ", props.dayNumber]
|
|
69683
|
-
}), props.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69684
|
-
className: "flex items-center gap-1 text-primary-foreground/80 text-sm",
|
|
69685
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.location })]
|
|
69686
|
-
})]
|
|
69687
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
|
|
69688
|
-
className: "font-heading text-primary-foreground text-2xl @md:text-3xl z-10 leading-tight",
|
|
69689
|
-
children: props.title
|
|
69690
|
-
})]
|
|
69691
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69692
|
-
className: "bg-card rounded-b-xl px-6 py-2 border border-t-0 border-border",
|
|
69750
|
+
className: "relative overflow-hidden bg-[#213f31] px-8 py-10 flex flex-col gap-4",
|
|
69693
69751
|
children: [
|
|
69694
|
-
|
|
69695
|
-
|
|
69696
|
-
|
|
69697
|
-
|
|
69698
|
-
|
|
69699
|
-
|
|
69700
|
-
|
|
69701
|
-
|
|
69702
|
-
|
|
69703
|
-
|
|
69704
|
-
|
|
69705
|
-
|
|
69706
|
-
|
|
69707
|
-
|
|
69708
|
-
|
|
69709
|
-
|
|
69710
|
-
|
|
69711
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69712
|
-
className: "text-xs font-medium bg-muted px-2 py-0.5 rounded text-foreground",
|
|
69713
|
-
children: [props.sections.golf.holes, " Holes"]
|
|
69714
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69715
|
-
className: "text-xs font-medium bg-muted px-2 py-0.5 rounded text-foreground",
|
|
69716
|
-
children: ["Par ", props.sections.golf.par]
|
|
69717
|
-
})]
|
|
69718
|
-
}),
|
|
69719
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69720
|
-
className: "text-sm text-foreground/80 leading-relaxed",
|
|
69721
|
-
children: props.sections.golf.description
|
|
69722
|
-
}),
|
|
69723
|
-
props.sections.golf.highlight && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69724
|
-
className: "text-sm italic text-accent font-serif mt-1",
|
|
69725
|
-
children: props.sections.golf.highlight
|
|
69726
|
-
})
|
|
69727
|
-
]
|
|
69752
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 opacity-10 bg-[url('https://www.transparenttextures.com/patterns/cubes.png')] mix-blend-overlay" }),
|
|
69753
|
+
props.imageSrc && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69754
|
+
className: "absolute inset-0 z-0",
|
|
69755
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
69756
|
+
src: props.imageSrc,
|
|
69757
|
+
alt: "",
|
|
69758
|
+
className: "w-full h-full object-cover opacity-40 mix-blend-luminosity"
|
|
69759
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-[#213f31] to-transparent" })]
|
|
69760
|
+
}),
|
|
69761
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69762
|
+
className: "flex items-center justify-between z-10",
|
|
69763
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69764
|
+
className: "font-sans uppercase tracking-[0.25em] text-[#e8d9c0] text-[10px] font-bold bg-[#e8d9c0]/10 px-3 py-1 rounded-sm backdrop-blur-sm border border-[#e8d9c0]/20",
|
|
69765
|
+
children: ["Giorno ", props.dayNumber]
|
|
69766
|
+
}), props.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69767
|
+
className: "flex items-center gap-1.5 text-[#e8d9c0] text-xs font-medium uppercase tracking-widest bg-black/20 px-3 py-1 rounded-sm backdrop-blur-sm",
|
|
69768
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.location })]
|
|
69728
69769
|
})]
|
|
69729
69770
|
}),
|
|
69730
|
-
|
|
69731
|
-
className: "
|
|
69771
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
|
|
69772
|
+
className: "font-heading text-white text-4xl @md:text-5xl z-10 leading-tight italic mt-2 drop-shadow-md",
|
|
69773
|
+
children: props.title
|
|
69774
|
+
})
|
|
69775
|
+
]
|
|
69776
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69777
|
+
className: "bg-[#faf8f3] px-6 @md:px-8 py-4",
|
|
69778
|
+
children: [
|
|
69779
|
+
props.golf && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69780
|
+
className: "py-8 border-b border-[#e8d9c0]/60 last:border-0 relative",
|
|
69781
|
+
children: [
|
|
69782
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute left-0 top-8 w-1 h-12 bg-[#478264] rounded-r-md -ml-6 @md:-ml-8" }),
|
|
69783
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69784
|
+
className: "flex items-center gap-2 mb-4",
|
|
69785
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Flag, { className: "w-5 h-5 text-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
69786
|
+
className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#478264]",
|
|
69787
|
+
children: "Golf Experience"
|
|
69788
|
+
})]
|
|
69789
|
+
}),
|
|
69790
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69791
|
+
className: "space-y-4 pl-2 @md:pl-4",
|
|
69792
|
+
children: [
|
|
69793
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69794
|
+
className: "font-heading text-3xl text-[#213f31]",
|
|
69795
|
+
children: props.golf.clubName
|
|
69796
|
+
}),
|
|
69797
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69798
|
+
className: "flex gap-2",
|
|
69799
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69800
|
+
className: "text-xs font-semibold uppercase tracking-wider bg-white px-3 py-1.5 rounded-md text-[#213f31] border border-[#e8d9c0] shadow-sm",
|
|
69801
|
+
children: [props.golf.holes, " Buche"]
|
|
69802
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69803
|
+
className: "text-xs font-semibold uppercase tracking-wider bg-white px-3 py-1.5 rounded-md text-[#213f31] border border-[#e8d9c0] shadow-sm",
|
|
69804
|
+
children: ["Par ", props.golf.par]
|
|
69805
|
+
})]
|
|
69806
|
+
}),
|
|
69807
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69808
|
+
className: "text-base text-[#213f31]/80 leading-relaxed font-sans",
|
|
69809
|
+
children: props.golf.description
|
|
69810
|
+
}),
|
|
69811
|
+
props.golf.highlight && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69812
|
+
className: "bg-white p-4 rounded-xl border border-[#e8d9c0] shadow-sm mt-4 inline-block",
|
|
69813
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
69814
|
+
className: "text-base italic text-[#478264] font-heading text-xl",
|
|
69815
|
+
children: [
|
|
69816
|
+
"\"",
|
|
69817
|
+
props.golf.highlight,
|
|
69818
|
+
"\""
|
|
69819
|
+
]
|
|
69820
|
+
})
|
|
69821
|
+
})
|
|
69822
|
+
]
|
|
69823
|
+
})
|
|
69824
|
+
]
|
|
69825
|
+
}),
|
|
69826
|
+
props.explore && props.explore.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69827
|
+
className: "py-8 border-b border-[#e8d9c0]/60 last:border-0 relative",
|
|
69732
69828
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69733
|
-
className: "flex items-center gap-2 mb-
|
|
69734
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Compass, { className: "w-
|
|
69735
|
-
className: "font-sans font-
|
|
69736
|
-
children: "
|
|
69829
|
+
className: "flex items-center gap-2 mb-5",
|
|
69830
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Compass, { className: "w-5 h-5 text-[#213f31]/50" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
69831
|
+
className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#213f31]/50",
|
|
69832
|
+
children: "Esplora"
|
|
69737
69833
|
})]
|
|
69738
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("
|
|
69739
|
-
className: "
|
|
69740
|
-
children: props.
|
|
69741
|
-
className: "flex flex-col
|
|
69742
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.
|
|
69743
|
-
className: "
|
|
69744
|
-
children:
|
|
69745
|
-
|
|
69746
|
-
|
|
69747
|
-
|
|
69834
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69835
|
+
className: "grid grid-cols-1 @md:grid-cols-2 gap-5 pl-0 @md:pl-4",
|
|
69836
|
+
children: props.explore.map((attr, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69837
|
+
className: "bg-white p-5 rounded-xl border border-[#e8d9c0] shadow-sm flex flex-col gap-3 transition-shadow hover:shadow-md",
|
|
69838
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69839
|
+
className: "flex items-start justify-between gap-3",
|
|
69840
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69841
|
+
className: "font-heading text-2xl text-[#213f31] leading-tight",
|
|
69842
|
+
children: attr.name
|
|
69843
|
+
}), attr.type && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69844
|
+
className: "text-[9px] uppercase tracking-widest font-bold bg-[#faf8f3] text-[#213f31] border border-[#e8d9c0] px-2 py-1 rounded-full whitespace-nowrap",
|
|
69845
|
+
children: attr.type
|
|
69846
|
+
})]
|
|
69847
|
+
}), attr.description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69848
|
+
className: "text-sm text-[#213f31]/70 leading-relaxed",
|
|
69849
|
+
children: attr.description
|
|
69748
69850
|
})]
|
|
69749
69851
|
}, i))
|
|
69750
69852
|
})]
|
|
69751
69853
|
}),
|
|
69752
|
-
props.
|
|
69753
|
-
className: "py-
|
|
69854
|
+
props.dine && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69855
|
+
className: "py-8 border-b border-[#e8d9c0]/60 last:border-0",
|
|
69754
69856
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69755
|
-
className: "flex items-center gap-2 mb-
|
|
69756
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UtensilsCrossed, { className: "w-
|
|
69757
|
-
className: "font-sans font-
|
|
69758
|
-
children: "
|
|
69857
|
+
className: "flex items-center gap-2 mb-5",
|
|
69858
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UtensilsCrossed, { className: "w-5 h-5 text-[#213f31]/50" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
69859
|
+
className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#213f31]/50",
|
|
69860
|
+
children: "Gusto"
|
|
69759
69861
|
})]
|
|
69760
69862
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69761
|
-
className: "
|
|
69863
|
+
className: "bg-white p-6 rounded-xl border border-[#e8d9c0] shadow-sm pl-6 relative overflow-hidden",
|
|
69762
69864
|
children: [
|
|
69865
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-0 right-0 w-24 h-24 bg-[#478264]/5 rounded-bl-full -z-10" }),
|
|
69763
69866
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
69764
|
-
className: "font-
|
|
69765
|
-
children: [props.
|
|
69766
|
-
className: "font-
|
|
69767
|
-
children: props.
|
|
69867
|
+
className: "font-heading text-3xl text-[#213f31] flex flex-col @md:flex-row @md:items-baseline gap-2 mb-3",
|
|
69868
|
+
children: [props.dine.name, props.dine.cuisine && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69869
|
+
className: "font-sans font-medium uppercase tracking-[0.15em] text-[#478264] text-xs",
|
|
69870
|
+
children: ["· ", props.dine.cuisine]
|
|
69768
69871
|
})]
|
|
69769
69872
|
}),
|
|
69770
69873
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69771
|
-
className: "text-
|
|
69772
|
-
children: props.
|
|
69874
|
+
className: "text-base text-[#213f31]/80 leading-relaxed mb-4",
|
|
69875
|
+
children: props.dine.description
|
|
69773
69876
|
}),
|
|
69774
|
-
props.
|
|
69775
|
-
className: "
|
|
69776
|
-
children: [
|
|
69877
|
+
props.dine.dish && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69878
|
+
className: "flex items-start gap-3 bg-[#faf8f3] p-4 rounded-xl border border-[#e8d9c0]/50",
|
|
69879
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69880
|
+
className: "text-[#478264] text-lg mt-0.5",
|
|
69881
|
+
children: "★"
|
|
69882
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
69883
|
+
className: "text-sm text-[#213f31] leading-relaxed",
|
|
69884
|
+
children: [
|
|
69885
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69886
|
+
className: "font-bold text-[10px] uppercase tracking-widest text-[#213f31]/50 block mb-1",
|
|
69887
|
+
children: "Piatto firma"
|
|
69888
|
+
}),
|
|
69889
|
+
" ",
|
|
69890
|
+
props.dine.dish
|
|
69891
|
+
]
|
|
69892
|
+
})]
|
|
69777
69893
|
})
|
|
69778
69894
|
]
|
|
69779
69895
|
})]
|
|
69780
69896
|
}),
|
|
69781
|
-
props.
|
|
69782
|
-
className: "py-
|
|
69897
|
+
props.wine && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69898
|
+
className: "py-8 border-b border-[#e8d9c0]/60 last:border-0",
|
|
69783
69899
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69784
|
-
className: "flex items-center gap-2 mb-
|
|
69785
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Wine, { className: "w-
|
|
69786
|
-
className: "font-sans font-
|
|
69787
|
-
children: "
|
|
69900
|
+
className: "flex items-center gap-2 mb-5",
|
|
69901
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Wine, { className: "w-5 h-5 text-[#8b3a3a]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
69902
|
+
className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#8b3a3a]",
|
|
69903
|
+
children: "Degustazione"
|
|
69788
69904
|
})]
|
|
69789
69905
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69790
|
-
className: "
|
|
69906
|
+
className: "bg-gradient-to-br from-[#fffdfa] to-[#fff5f5] p-6 rounded-xl border border-[#8b3a3a]/15 shadow-sm pl-6 relative",
|
|
69791
69907
|
children: [
|
|
69908
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69909
|
+
className: "absolute right-4 top-4 opacity-5",
|
|
69910
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Wine, { className: "w-24 h-24 text-[#8b3a3a]" })
|
|
69911
|
+
}),
|
|
69792
69912
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69793
|
-
className: "font-
|
|
69794
|
-
children: props.
|
|
69913
|
+
className: "font-heading text-3xl text-[#213f31] mb-3 relative z-10",
|
|
69914
|
+
children: props.wine.name
|
|
69795
69915
|
}),
|
|
69796
69916
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69797
|
-
className: "text-
|
|
69798
|
-
children: props.
|
|
69917
|
+
className: "text-base text-[#213f31]/80 leading-relaxed mb-5 relative z-10 max-w-2xl",
|
|
69918
|
+
children: props.wine.description
|
|
69799
69919
|
}),
|
|
69800
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69801
|
-
className: "flex flex-wrap gap-
|
|
69802
|
-
children: props.
|
|
69803
|
-
className: "text-xs bg-
|
|
69920
|
+
props.wine.wines && props.wine.wines.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69921
|
+
className: "flex flex-wrap gap-2 relative z-10",
|
|
69922
|
+
children: props.wine.wines.map((wine, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69923
|
+
className: "text-xs font-semibold uppercase tracking-wider bg-white border border-[#8b3a3a]/20 text-[#8b3a3a] px-3.5 py-1.5 rounded-full shadow-sm",
|
|
69804
69924
|
children: wine
|
|
69805
69925
|
}, i))
|
|
69806
69926
|
})
|
|
69807
69927
|
]
|
|
69808
69928
|
})]
|
|
69809
69929
|
}),
|
|
69810
|
-
props.
|
|
69811
|
-
className: "py-
|
|
69930
|
+
props.stay && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69931
|
+
className: "py-8 border-b border-[#e8d9c0]/60 last:border-0",
|
|
69812
69932
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69813
|
-
className: "flex items-center gap-2 mb-
|
|
69814
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bed, { className: "w-
|
|
69815
|
-
className: "font-sans font-
|
|
69816
|
-
children: "
|
|
69933
|
+
className: "flex items-center gap-2 mb-5",
|
|
69934
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bed, { className: "w-5 h-5 text-[#b8955e]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
69935
|
+
className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#b8955e]",
|
|
69936
|
+
children: "Soggiorno"
|
|
69817
69937
|
})]
|
|
69818
69938
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69819
|
-
className: "
|
|
69939
|
+
className: "bg-gradient-to-br from-[#fdfbf7] to-[#f4ebd9]/80 p-6 rounded-xl border border-[#b8955e]/30 shadow-sm pl-6",
|
|
69820
69940
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69821
|
-
className: "flex items-center gap-
|
|
69941
|
+
className: "flex flex-col @md:flex-row @md:items-center justify-between mb-3 gap-3",
|
|
69822
69942
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69823
|
-
className: "font-
|
|
69824
|
-
children: props.
|
|
69825
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69826
|
-
className: "text-[10px] uppercase tracking-
|
|
69827
|
-
children: props.
|
|
69943
|
+
className: "font-heading text-3xl text-[#213f31]",
|
|
69944
|
+
children: props.stay.name
|
|
69945
|
+
}), props.stay.type && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69946
|
+
className: "text-[10px] uppercase tracking-widest font-bold bg-[#b8955e] text-white px-3 py-1.5 rounded-sm self-start @md:self-auto shadow-sm",
|
|
69947
|
+
children: props.stay.type
|
|
69828
69948
|
})]
|
|
69829
69949
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69830
|
-
className: "text-
|
|
69831
|
-
children: props.
|
|
69950
|
+
className: "text-base text-[#213f31]/80 leading-relaxed max-w-2xl",
|
|
69951
|
+
children: props.stay.description
|
|
69832
69952
|
})]
|
|
69833
69953
|
})]
|
|
69834
69954
|
}),
|
|
69835
|
-
props.
|
|
69836
|
-
className: "py-
|
|
69837
|
-
children: [
|
|
69838
|
-
|
|
69839
|
-
|
|
69840
|
-
className: "
|
|
69841
|
-
|
|
69842
|
-
|
|
69843
|
-
|
|
69844
|
-
|
|
69845
|
-
|
|
69846
|
-
|
|
69847
|
-
|
|
69955
|
+
props.logistics && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69956
|
+
className: "py-8 border-b border-[#e8d9c0]/60 last:border-0",
|
|
69957
|
+
children: [
|
|
69958
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69959
|
+
className: "flex items-center gap-2 mb-5",
|
|
69960
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Navigation, { className: "w-5 h-5 text-[#213f31]/40" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
69961
|
+
className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#213f31]/40",
|
|
69962
|
+
children: "Spostamenti"
|
|
69963
|
+
})]
|
|
69964
|
+
}),
|
|
69965
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69966
|
+
className: "flex flex-col @md:flex-row @md:items-center justify-between bg-white p-5 rounded-xl border border-[#e8d9c0] pl-6 gap-5 shadow-sm",
|
|
69967
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69968
|
+
className: "flex flex-wrap items-center gap-3 text-[#213f31] font-heading text-2xl",
|
|
69848
69969
|
children: [
|
|
69849
|
-
props.
|
|
69970
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.logistics.from }),
|
|
69850
69971
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69851
|
-
className: "text-
|
|
69852
|
-
children: "
|
|
69972
|
+
className: "text-[#e8d9c0] mx-2",
|
|
69973
|
+
children: "⟶"
|
|
69853
69974
|
}),
|
|
69854
|
-
props.
|
|
69975
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.logistics.to })
|
|
69855
69976
|
]
|
|
69856
|
-
}),
|
|
69857
|
-
|
|
69858
|
-
|
|
69859
|
-
|
|
69860
|
-
className: "
|
|
69861
|
-
|
|
69862
|
-
|
|
69863
|
-
|
|
69864
|
-
})(), props.sections.logistics.time]
|
|
69977
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69978
|
+
className: "flex items-center gap-4 shrink-0",
|
|
69979
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69980
|
+
className: "flex items-center gap-2 bg-[#faf8f3] px-4 py-2 rounded-full border border-[#e8d9c0]",
|
|
69981
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(props.logistics.transport && LOGISTICS_ICON_MAP[props.logistics.transport] ? LOGISTICS_ICON_MAP[props.logistics.transport] : LOGISTICS_ICON_MAP.default, { className: "w-4 h-4 text-[#213f31]/70" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69982
|
+
className: "text-sm font-semibold uppercase tracking-wider text-[#213f31]/80",
|
|
69983
|
+
children: props.logistics.time
|
|
69984
|
+
})]
|
|
69865
69985
|
})
|
|
69866
|
-
})
|
|
69867
|
-
|
|
69868
|
-
|
|
69869
|
-
|
|
69870
|
-
|
|
69871
|
-
|
|
69872
|
-
|
|
69986
|
+
})]
|
|
69987
|
+
}),
|
|
69988
|
+
props.logistics.note && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69989
|
+
className: "text-sm text-[#213f31]/60 italic mt-3 pl-2 @md:pl-4",
|
|
69990
|
+
children: props.logistics.note
|
|
69991
|
+
})
|
|
69992
|
+
]
|
|
69873
69993
|
}),
|
|
69874
|
-
props.
|
|
69875
|
-
className: "py-
|
|
69994
|
+
props.curiosity && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69995
|
+
className: "py-8 last:border-0",
|
|
69876
69996
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69877
|
-
className: "bg-
|
|
69878
|
-
children: [
|
|
69879
|
-
className: "
|
|
69880
|
-
|
|
69881
|
-
|
|
69997
|
+
className: "bg-gradient-to-r from-[#f4ebd9]/40 to-transparent rounded-2xl p-6 flex gap-5 items-start border border-[#e8d9c0]/60 relative overflow-hidden",
|
|
69998
|
+
children: [
|
|
69999
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute left-0 top-0 bottom-0 w-1.5 bg-[#b8955e]" }),
|
|
70000
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70001
|
+
className: "bg-white p-2.5 rounded-full shadow-sm shrink-0 border border-[#e8d9c0]",
|
|
70002
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Lightbulb, { className: "w-5 h-5 text-[#b8955e]" })
|
|
70003
|
+
}),
|
|
70004
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70005
|
+
className: "text-[10px] uppercase tracking-widest font-bold text-[#b8955e] block mb-2",
|
|
70006
|
+
children: "Lo sapevi che?"
|
|
70007
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70008
|
+
className: "text-base font-sans text-[#213f31]/90 leading-relaxed italic",
|
|
70009
|
+
children: props.curiosity
|
|
70010
|
+
})] })
|
|
70011
|
+
]
|
|
69882
70012
|
})
|
|
69883
70013
|
})
|
|
69884
70014
|
]
|
|
@@ -69923,111 +70053,144 @@ const DayPlanSkeleton = (_props) => {
|
|
|
69923
70053
|
const GolfClubSpotlight = ({ props }) => {
|
|
69924
70054
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69925
70055
|
"data-type": "golf-club-spotlight",
|
|
69926
|
-
className: cn$1("bg-
|
|
70056
|
+
className: cn$1("bg-white rounded-2xl border border-[#e8d9c0] shadow-lg relative overflow-hidden flex flex-col @md:flex-row"),
|
|
69927
70057
|
children: [
|
|
69928
70058
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69929
|
-
className: "absolute top-0 right-0 bg-
|
|
70059
|
+
className: "absolute top-0 right-0 bg-[#478264] text-white text-[9px] font-bold uppercase tracking-[0.2em] px-4 py-2 rounded-bl-xl z-20 shadow-md",
|
|
69930
70060
|
children: "Network Golf in Veneto"
|
|
69931
70061
|
}),
|
|
69932
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69933
|
-
className: "w-full @md:w-2/5 min-h-[250px] relative",
|
|
69934
|
-
children: props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
69935
|
-
src: props.imageSrc,
|
|
69936
|
-
alt: props.name,
|
|
69937
|
-
className: "w-full h-full object-cover"
|
|
69938
|
-
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69939
|
-
className: "w-full h-full bg-gradient-to-br from-primary/80 to-primary flex items-center justify-center p-8",
|
|
69940
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Flag, { className: "w-16 h-16 text-white/20" })
|
|
69941
|
-
})
|
|
69942
|
-
}),
|
|
69943
70062
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69944
|
-
className: "w-full @md:w-
|
|
70063
|
+
className: "w-full @md:w-5/12 min-h-[300px] relative",
|
|
69945
70064
|
children: [
|
|
69946
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("
|
|
69947
|
-
|
|
69948
|
-
|
|
70065
|
+
props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
70066
|
+
src: props.imageSrc,
|
|
70067
|
+
alt: props.name,
|
|
70068
|
+
className: "w-full h-full object-cover"
|
|
70069
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70070
|
+
className: "w-full h-full bg-gradient-to-br from-[#213f31] to-[#12241b] flex items-center justify-center p-8",
|
|
70071
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Flag, { className: "w-20 h-20 text-white/10" })
|
|
69949
70072
|
}),
|
|
69950
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("
|
|
69951
|
-
|
|
69952
|
-
|
|
70073
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent" }),
|
|
70074
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70075
|
+
className: "absolute bottom-4 left-4 right-4 z-10 block @md:hidden text-white",
|
|
70076
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
|
|
70077
|
+
className: "font-heading text-3xl mb-1",
|
|
70078
|
+
children: props.name
|
|
70079
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70080
|
+
className: "font-sans text-sm font-light italic text-white/80",
|
|
70081
|
+
children: props.tagline
|
|
70082
|
+
})]
|
|
70083
|
+
})
|
|
70084
|
+
]
|
|
70085
|
+
}),
|
|
70086
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70087
|
+
className: "w-full @md:w-7/12 p-6 @md:p-8 flex flex-col",
|
|
70088
|
+
children: [
|
|
70089
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70090
|
+
className: "hidden @md:block mb-6",
|
|
70091
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
|
|
70092
|
+
className: "font-heading text-4xl text-[#213f31] mb-2 pr-12 leading-tight",
|
|
70093
|
+
children: props.name
|
|
70094
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70095
|
+
className: "font-heading italic text-[#478264] text-xl",
|
|
70096
|
+
children: props.tagline
|
|
70097
|
+
})]
|
|
69953
70098
|
}),
|
|
69954
70099
|
props.stats && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69955
|
-
className: "grid grid-cols-2 @lg:grid-cols-3 gap-3 mb-
|
|
70100
|
+
className: "grid grid-cols-2 @lg:grid-cols-3 gap-3 mb-8",
|
|
69956
70101
|
children: [
|
|
69957
70102
|
props.stats.holes && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69958
|
-
className: "flex items-center gap-
|
|
69959
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70103
|
+
className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
|
|
70104
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70105
|
+
className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
|
|
70106
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Circle, { className: "w-4 h-4 text-[#478264]" })
|
|
70107
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69960
70108
|
className: "flex flex-col",
|
|
69961
70109
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69962
|
-
className: "text-[
|
|
69963
|
-
children: "
|
|
70110
|
+
className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
|
|
70111
|
+
children: "Buche"
|
|
69964
70112
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69965
|
-
className: "text-sm font-
|
|
70113
|
+
className: "text-sm font-bold text-[#213f31]",
|
|
69966
70114
|
children: props.stats.holes
|
|
69967
70115
|
})]
|
|
69968
70116
|
})]
|
|
69969
70117
|
}),
|
|
69970
70118
|
props.stats.par && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69971
|
-
className: "flex items-center gap-
|
|
69972
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70119
|
+
className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
|
|
70120
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70121
|
+
className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
|
|
70122
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Target, { className: "w-4 h-4 text-[#478264]" })
|
|
70123
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69973
70124
|
className: "flex flex-col",
|
|
69974
70125
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69975
|
-
className: "text-[
|
|
70126
|
+
className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
|
|
69976
70127
|
children: "Par"
|
|
69977
70128
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69978
|
-
className: "text-sm font-
|
|
70129
|
+
className: "text-sm font-bold text-[#213f31]",
|
|
69979
70130
|
children: props.stats.par
|
|
69980
70131
|
})]
|
|
69981
70132
|
})]
|
|
69982
70133
|
}),
|
|
69983
70134
|
props.stats.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69984
|
-
className: "flex items-center gap-
|
|
69985
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70135
|
+
className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
|
|
70136
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70137
|
+
className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
|
|
70138
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Ruler, { className: "w-4 h-4 text-[#478264]" })
|
|
70139
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69986
70140
|
className: "flex flex-col",
|
|
69987
70141
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69988
|
-
className: "text-[
|
|
69989
|
-
children: "
|
|
70142
|
+
className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
|
|
70143
|
+
children: "Lunghezza"
|
|
69990
70144
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69991
|
-
className: "text-sm font-
|
|
70145
|
+
className: "text-sm font-bold text-[#213f31]",
|
|
69992
70146
|
children: props.stats.distance
|
|
69993
70147
|
})]
|
|
69994
70148
|
})]
|
|
69995
70149
|
}),
|
|
69996
70150
|
props.stats.courses && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69997
|
-
className: "flex items-center gap-
|
|
69998
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70151
|
+
className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
|
|
70152
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70153
|
+
className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
|
|
70154
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-4 h-4 text-[#478264]" })
|
|
70155
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69999
70156
|
className: "flex flex-col",
|
|
70000
70157
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70001
|
-
className: "text-[
|
|
70002
|
-
children: "
|
|
70158
|
+
className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
|
|
70159
|
+
children: "Percorsi"
|
|
70003
70160
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70004
|
-
className: "text-sm font-
|
|
70161
|
+
className: "text-sm font-bold text-[#213f31]",
|
|
70005
70162
|
children: props.stats.courses
|
|
70006
70163
|
})]
|
|
70007
70164
|
})]
|
|
70008
70165
|
}),
|
|
70009
70166
|
props.stats.difficulty && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70010
|
-
className: "flex items-center gap-
|
|
70011
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70167
|
+
className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
|
|
70168
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70169
|
+
className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
|
|
70170
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Gauge, { className: "w-4 h-4 text-[#478264]" })
|
|
70171
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70012
70172
|
className: "flex flex-col",
|
|
70013
70173
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70014
|
-
className: "text-[
|
|
70015
|
-
children: "
|
|
70174
|
+
className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
|
|
70175
|
+
children: "Difficoltà"
|
|
70016
70176
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70017
|
-
className: "text-sm font-
|
|
70177
|
+
className: "text-sm font-bold text-[#213f31]",
|
|
70018
70178
|
children: props.stats.difficulty
|
|
70019
70179
|
})]
|
|
70020
70180
|
})]
|
|
70021
70181
|
}),
|
|
70022
70182
|
props.stats.terrain && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70023
|
-
className: "flex items-center gap-
|
|
70024
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70183
|
+
className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
|
|
70184
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70185
|
+
className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
|
|
70186
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Mountain, { className: "w-4 h-4 text-[#478264]" })
|
|
70187
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70025
70188
|
className: "flex flex-col",
|
|
70026
70189
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70027
|
-
className: "text-[
|
|
70028
|
-
children: "
|
|
70190
|
+
className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
|
|
70191
|
+
children: "Terreno"
|
|
70029
70192
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70030
|
-
className: "text-sm font-
|
|
70193
|
+
className: "text-sm font-bold text-[#213f31]",
|
|
70031
70194
|
children: props.stats.terrain
|
|
70032
70195
|
})]
|
|
70033
70196
|
})]
|
|
@@ -70035,36 +70198,36 @@ const GolfClubSpotlight = ({ props }) => {
|
|
|
70035
70198
|
]
|
|
70036
70199
|
}),
|
|
70037
70200
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70038
|
-
className: "text-sm text-
|
|
70201
|
+
className: "text-sm text-[#213f31]/80 leading-relaxed mb-6 font-sans",
|
|
70039
70202
|
children: props.description
|
|
70040
70203
|
}),
|
|
70041
70204
|
props.attractions && props.attractions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70042
|
-
className: "mb-6",
|
|
70205
|
+
className: "mb-6 bg-[#faf8f3] p-4 rounded-xl border border-[#e8d9c0]/50",
|
|
70043
70206
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", {
|
|
70044
|
-
className: "text-
|
|
70045
|
-
children: "
|
|
70207
|
+
className: "text-[10px] font-bold uppercase tracking-widest text-[#213f31]/60 mb-3",
|
|
70208
|
+
children: "Nei dintorni"
|
|
70046
70209
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", {
|
|
70047
|
-
className: "text-sm space-y-1",
|
|
70210
|
+
className: "text-sm space-y-2 grid grid-cols-1 @lg:grid-cols-2 gap-x-4",
|
|
70048
70211
|
children: props.attractions.map((attr, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", {
|
|
70049
|
-
className: "flex items-center gap-2 text-
|
|
70050
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-1 h-1 rounded-full bg-
|
|
70212
|
+
className: "flex items-center gap-2 text-[#213f31]/90",
|
|
70213
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-1.5 h-1.5 rounded-full bg-[#e8d9c0]" }), attr]
|
|
70051
70214
|
}, i))
|
|
70052
70215
|
})]
|
|
70053
70216
|
}),
|
|
70054
70217
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70055
|
-
className: "mt-auto pt-
|
|
70218
|
+
className: "mt-auto pt-5 border-t border-[#e8d9c0] flex flex-wrap gap-5 text-xs text-[#213f31]/60 font-medium",
|
|
70056
70219
|
children: [
|
|
70057
70220
|
props.address && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70058
|
-
className: "flex items-center gap-
|
|
70059
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-
|
|
70221
|
+
className: "flex items-center gap-2",
|
|
70222
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-4 h-4 text-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.address })]
|
|
70060
70223
|
}),
|
|
70061
70224
|
props.phone && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70062
|
-
className: "flex items-center gap-
|
|
70063
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Phone, { className: "w-
|
|
70225
|
+
className: "flex items-center gap-2",
|
|
70226
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Phone, { className: "w-4 h-4 text-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.phone })]
|
|
70064
70227
|
}),
|
|
70065
70228
|
props.email && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70066
|
-
className: "flex items-center gap-
|
|
70067
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Mail, { className: "w-
|
|
70229
|
+
className: "flex items-center gap-2",
|
|
70230
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Mail, { className: "w-4 h-4 text-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.email })]
|
|
70068
70231
|
})
|
|
70069
70232
|
]
|
|
70070
70233
|
})
|
|
@@ -70112,52 +70275,51 @@ const GolfClubSpotlightSkeleton = (_props) => {
|
|
|
70112
70275
|
};
|
|
70113
70276
|
//#endregion
|
|
70114
70277
|
//#region src/blocks/experience-grid.tsx
|
|
70115
|
-
const CATEGORY_COLORS = {
|
|
70116
|
-
wine: "bg-[#722F37] text-white",
|
|
70117
|
-
food: "bg-[#D2691E] text-white",
|
|
70118
|
-
art: "bg-[#4B0082] text-white",
|
|
70119
|
-
nature: "bg-[#2E8B57] text-white",
|
|
70120
|
-
family: "bg-[#4169E1] text-white",
|
|
70121
|
-
outdoor: "bg-[#556B2F] text-white",
|
|
70122
|
-
wellness: "bg-[#9370DB] text-white"
|
|
70123
|
-
};
|
|
70124
70278
|
const ExperienceGrid = ({ props, children }) => {
|
|
70125
70279
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70126
70280
|
"data-type": "experience-grid",
|
|
70127
|
-
className: cn$1("space-y-6"),
|
|
70128
|
-
children: [props.title && /* @__PURE__ */ (0, import_jsx_runtime.
|
|
70129
|
-
className: "
|
|
70130
|
-
children:
|
|
70281
|
+
className: cn$1("space-y-6 @md:space-y-8 py-4"),
|
|
70282
|
+
children: [props.title && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70283
|
+
className: "flex flex-col items-center mb-8",
|
|
70284
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-8 h-px bg-[#478264] mb-4" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
|
|
70285
|
+
className: "font-heading text-3xl @md:text-4xl text-[#213f31] text-center italic",
|
|
70286
|
+
children: props.title
|
|
70287
|
+
})]
|
|
70131
70288
|
}), props.experiences && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70132
|
-
className: "grid grid-cols-1 @md:grid-cols-2 @lg:grid-cols-3 gap-
|
|
70289
|
+
className: "grid grid-cols-1 @md:grid-cols-2 @lg:grid-cols-3 gap-6",
|
|
70133
70290
|
children: props.experiences.map((exp, i) => {
|
|
70134
70291
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70135
|
-
className: "bg-
|
|
70292
|
+
className: "bg-white rounded-xl border border-[#e8d9c0]/50 p-6 shadow-sm hover:shadow-xl transition-all duration-300 flex flex-col h-full relative group",
|
|
70136
70293
|
children: [
|
|
70294
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-0 left-0 w-full h-1 bg-[#478264] rounded-t-xl opacity-0 group-hover:opacity-100 transition-opacity" }),
|
|
70137
70295
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70138
70296
|
className: "mb-4",
|
|
70139
70297
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70140
|
-
className:
|
|
70298
|
+
className: "text-[10px] uppercase font-bold tracking-[0.2em] px-3 py-1.5 rounded-sm bg-[#faf8f3] text-[#213f31]/60 border border-[#e8d9c0]",
|
|
70141
70299
|
children: exp.category
|
|
70142
70300
|
})
|
|
70143
70301
|
}),
|
|
70144
70302
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
70145
|
-
className: "font-
|
|
70303
|
+
className: "font-heading text-2xl text-[#213f31] mb-2 leading-tight group-hover:text-[#478264] transition-colors",
|
|
70146
70304
|
children: exp.name
|
|
70147
70305
|
}),
|
|
70148
70306
|
exp.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70149
|
-
className: "flex items-center gap-1 text-xs text-
|
|
70150
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3 h-3" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: exp.location })]
|
|
70307
|
+
className: "flex items-center gap-1.5 text-xs text-[#213f31]/50 uppercase tracking-widest font-semibold mb-4",
|
|
70308
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: exp.location })]
|
|
70151
70309
|
}),
|
|
70152
70310
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70153
|
-
className: "text-sm text-
|
|
70311
|
+
className: "text-sm text-[#213f31]/80 leading-relaxed mb-6 flex-grow font-sans",
|
|
70154
70312
|
children: exp.description
|
|
70155
70313
|
}),
|
|
70156
70314
|
exp.highlight && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70157
|
-
className: "mt-auto pt-
|
|
70158
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.
|
|
70159
|
-
className: "text-sm italic text-
|
|
70160
|
-
children:
|
|
70315
|
+
className: "mt-auto pt-4 border-t border-[#e8d9c0]/50",
|
|
70316
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
70317
|
+
className: "text-sm italic text-[#b8955e] font-serif leading-relaxed",
|
|
70318
|
+
children: [
|
|
70319
|
+
"\"",
|
|
70320
|
+
exp.highlight,
|
|
70321
|
+
"\""
|
|
70322
|
+
]
|
|
70161
70323
|
})
|
|
70162
70324
|
})
|
|
70163
70325
|
]
|
|
@@ -70207,80 +70369,95 @@ const RouteStrip = ({ props }) => {
|
|
|
70207
70369
|
if (!props.legs || props.legs.length === 0) return null;
|
|
70208
70370
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70209
70371
|
"data-type": "route-strip",
|
|
70210
|
-
className: cn$1("bg-
|
|
70211
|
-
children: [
|
|
70212
|
-
className: "
|
|
70213
|
-
|
|
70214
|
-
|
|
70215
|
-
|
|
70216
|
-
|
|
70217
|
-
|
|
70218
|
-
|
|
70219
|
-
|
|
70220
|
-
|
|
70221
|
-
|
|
70222
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70223
|
-
className: "text-xs font-bold text-foreground mb-0.5",
|
|
70224
|
-
children: leg.from
|
|
70225
|
-
}),
|
|
70226
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
70227
|
-
className: "text-[10px] text-muted-foreground mb-1",
|
|
70228
|
-
children: ["to ", leg.to]
|
|
70229
|
-
}),
|
|
70230
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70231
|
-
className: "flex gap-1",
|
|
70232
|
-
children: [leg.time && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70233
|
-
className: "bg-primary/10 text-primary text-[9px] px-1.5 py-0.5 rounded font-medium",
|
|
70234
|
-
children: leg.time
|
|
70235
|
-
}), leg.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70236
|
-
className: "bg-primary/10 text-primary text-[9px] px-1.5 py-0.5 rounded font-medium",
|
|
70237
|
-
children: leg.distance
|
|
70238
|
-
})]
|
|
70239
|
-
})
|
|
70240
|
-
]
|
|
70241
|
-
})]
|
|
70242
|
-
}, i);
|
|
70243
|
-
})]
|
|
70244
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70245
|
-
className: "flex @md:hidden flex-col gap-6 relative pl-4 py-2",
|
|
70246
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-4 bottom-4 left-[27px] w-[2px] border-l-2 border-dashed border-border/60 z-0" }), props.legs.map((leg, i) => {
|
|
70247
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70248
|
-
className: "relative z-10 flex items-start gap-4",
|
|
70249
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70250
|
-
className: "flex items-center justify-center w-8 h-8 rounded-full bg-card border-2 border-primary/20 text-primary shadow-sm shrink-0",
|
|
70251
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TRANSPORT_ICONS[leg.transport?.toLowerCase()] || Car, { className: "w-4 h-4" })
|
|
70252
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70253
|
-
className: "flex flex-col pt-1",
|
|
70372
|
+
className: cn$1("bg-[#faf8f3] border border-[#e8d9c0] rounded-2xl p-6 @md:p-10 shadow-sm relative overflow-hidden"),
|
|
70373
|
+
children: [
|
|
70374
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-0 right-0 w-32 h-32 bg-[#e8d9c0]/10 rounded-bl-full -z-0" }),
|
|
70375
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
70376
|
+
className: "font-heading text-2xl text-[#213f31] mb-8 text-center italic",
|
|
70377
|
+
children: "Il tuo itinerario"
|
|
70378
|
+
}),
|
|
70379
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70380
|
+
className: "hidden @md:flex items-center justify-between relative w-full px-8 pb-4 z-10",
|
|
70381
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-8 left-16 right-16 h-[1px] border-b border-dashed border-[#e8d9c0] -translate-y-1/2 z-0" }), props.legs.map((leg, i) => {
|
|
70382
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70383
|
+
className: "relative z-10 flex flex-col items-center group w-40",
|
|
70254
70384
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70255
|
-
className: "flex items-center
|
|
70385
|
+
className: "flex items-center justify-center w-16 h-16 rounded-full bg-white border border-[#e8d9c0] shadow-md group-hover:border-[#b8955e] group-hover:shadow-lg transition-all mb-4 relative",
|
|
70386
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TRANSPORT_ICONS[leg.transport?.toLowerCase()] || Car, { className: "w-6 h-6 text-[#213f31]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute -bottom-2 w-2 h-2 rounded-full bg-[#b8955e]" })]
|
|
70387
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70388
|
+
className: "flex flex-col items-center text-center",
|
|
70256
70389
|
children: [
|
|
70257
70390
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70258
|
-
className: "text-sm font-
|
|
70391
|
+
className: "text-sm font-heading text-[#213f31] mb-1 text-xl leading-tight",
|
|
70259
70392
|
children: leg.from
|
|
70260
70393
|
}),
|
|
70261
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
70262
|
-
className: "text-
|
|
70263
|
-
children: "
|
|
70394
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
70395
|
+
className: "text-[10px] uppercase tracking-widest text-[#213f31]/40 font-bold mb-2",
|
|
70396
|
+
children: ["verso ", leg.to]
|
|
70264
70397
|
}),
|
|
70265
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
70266
|
-
className: "
|
|
70267
|
-
children:
|
|
70398
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70399
|
+
className: "flex gap-2 bg-white px-3 py-1.5 rounded-sm border border-[#e8d9c0] shadow-sm",
|
|
70400
|
+
children: [
|
|
70401
|
+
leg.time && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70402
|
+
className: "text-[#b8955e] text-[10px] font-bold uppercase tracking-wider",
|
|
70403
|
+
children: leg.time
|
|
70404
|
+
}),
|
|
70405
|
+
leg.time && leg.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70406
|
+
className: "text-[#e8d9c0]",
|
|
70407
|
+
children: "|"
|
|
70408
|
+
}),
|
|
70409
|
+
leg.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70410
|
+
className: "text-[#b8955e] text-[10px] font-bold uppercase tracking-wider",
|
|
70411
|
+
children: leg.distance
|
|
70412
|
+
})
|
|
70413
|
+
]
|
|
70268
70414
|
})
|
|
70269
70415
|
]
|
|
70416
|
+
})]
|
|
70417
|
+
}, i);
|
|
70418
|
+
})]
|
|
70419
|
+
}),
|
|
70420
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70421
|
+
className: "flex @md:hidden flex-col gap-8 relative pl-6 py-4 z-10",
|
|
70422
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-8 bottom-8 left-[39px] w-[1px] border-l border-dashed border-[#e8d9c0] z-0" }), props.legs.map((leg, i) => {
|
|
70423
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70424
|
+
className: "relative z-10 flex items-start gap-6",
|
|
70425
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70426
|
+
className: "flex items-center justify-center w-12 h-12 rounded-full bg-white border border-[#e8d9c0] shadow-sm shrink-0 relative mt-1",
|
|
70427
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TRANSPORT_ICONS[leg.transport?.toLowerCase()] || Car, { className: "w-5 h-5 text-[#213f31]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute -right-1 top-1/2 -translate-y-1/2 w-2 h-2 rounded-full bg-[#b8955e]" })]
|
|
70270
70428
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70271
|
-
className: "flex
|
|
70272
|
-
children: [
|
|
70273
|
-
className: "
|
|
70274
|
-
children:
|
|
70275
|
-
|
|
70276
|
-
|
|
70277
|
-
|
|
70429
|
+
className: "flex flex-col bg-white p-4 rounded-xl border border-[#e8d9c0] shadow-sm w-full",
|
|
70430
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70431
|
+
className: "flex items-center gap-2 mb-2 flex-wrap",
|
|
70432
|
+
children: [
|
|
70433
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70434
|
+
className: "text-xl font-heading text-[#213f31]",
|
|
70435
|
+
children: leg.from
|
|
70436
|
+
}),
|
|
70437
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70438
|
+
className: "text-[#e8d9c0] mx-1",
|
|
70439
|
+
children: "⟶"
|
|
70440
|
+
}),
|
|
70441
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70442
|
+
className: "text-xl font-heading text-[#213f31]/80",
|
|
70443
|
+
children: leg.to
|
|
70444
|
+
})
|
|
70445
|
+
]
|
|
70446
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70447
|
+
className: "flex gap-3",
|
|
70448
|
+
children: [leg.time && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70449
|
+
className: "bg-[#faf8f3] border border-[#e8d9c0]/50 text-[#b8955e] text-[9px] uppercase tracking-widest font-bold px-2 py-1 rounded-sm",
|
|
70450
|
+
children: leg.time
|
|
70451
|
+
}), leg.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70452
|
+
className: "bg-[#faf8f3] border border-[#e8d9c0]/50 text-[#b8955e] text-[9px] uppercase tracking-widest font-bold px-2 py-1 rounded-sm",
|
|
70453
|
+
children: leg.distance
|
|
70454
|
+
})]
|
|
70278
70455
|
})]
|
|
70279
70456
|
})]
|
|
70280
|
-
})
|
|
70281
|
-
}
|
|
70282
|
-
})
|
|
70283
|
-
|
|
70457
|
+
}, i);
|
|
70458
|
+
})]
|
|
70459
|
+
})
|
|
70460
|
+
]
|
|
70284
70461
|
});
|
|
70285
70462
|
};
|
|
70286
70463
|
//#endregion
|
|
@@ -70333,54 +70510,61 @@ const TasteCard = ({ props }) => {
|
|
|
70333
70510
|
const Icon = BADGE_ICONS[props.type?.toLowerCase()] || Sparkles;
|
|
70334
70511
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70335
70512
|
"data-type": "taste-card",
|
|
70336
|
-
className: cn$1("bg-
|
|
70513
|
+
className: cn$1("bg-[#faf8f3] rounded-2xl border border-[#e8d9c0] shadow-lg overflow-hidden flex flex-col @md:flex-row group"),
|
|
70337
70514
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70338
|
-
className: "w-full @md:w-[
|
|
70339
|
-
children: [
|
|
70340
|
-
|
|
70341
|
-
|
|
70342
|
-
|
|
70343
|
-
|
|
70344
|
-
|
|
70345
|
-
|
|
70346
|
-
|
|
70347
|
-
|
|
70348
|
-
|
|
70349
|
-
|
|
70350
|
-
|
|
70351
|
-
|
|
70352
|
-
|
|
70515
|
+
className: "w-full @md:w-[45%] min-h-[250px] relative overflow-hidden",
|
|
70516
|
+
children: [
|
|
70517
|
+
props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
70518
|
+
src: props.imageSrc,
|
|
70519
|
+
alt: props.name,
|
|
70520
|
+
className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"
|
|
70521
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70522
|
+
className: "w-full h-full bg-[#f4ebd9] flex items-center justify-center p-8",
|
|
70523
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "w-16 h-16 text-[#b8955e]/20" })
|
|
70524
|
+
}),
|
|
70525
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-black/50 via-transparent to-transparent" }),
|
|
70526
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70527
|
+
className: "absolute top-4 left-4 bg-white/95 backdrop-blur px-3 py-1.5 rounded-sm shadow-md flex items-center gap-2 z-10 border border-[#e8d9c0]/50",
|
|
70528
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "w-4 h-4 text-[#8b3a3a]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70529
|
+
className: "text-[10px] font-bold uppercase tracking-widest text-[#213f31]",
|
|
70530
|
+
children: props.type
|
|
70531
|
+
})]
|
|
70532
|
+
})
|
|
70533
|
+
]
|
|
70353
70534
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70354
|
-
className: "w-full @md:w-[
|
|
70535
|
+
className: "w-full @md:w-[55%] p-6 @md:p-8 flex flex-col bg-white",
|
|
70355
70536
|
children: [
|
|
70356
70537
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
70357
|
-
className: "font-heading text-
|
|
70538
|
+
className: "font-heading text-3xl text-[#213f31] mb-2 leading-tight",
|
|
70358
70539
|
children: props.name
|
|
70359
70540
|
}),
|
|
70360
70541
|
props.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70361
|
-
className: "flex items-center gap-1 text-
|
|
70362
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3 h-3" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.location })]
|
|
70542
|
+
className: "flex items-center gap-1.5 text-[10px] uppercase tracking-[0.2em] font-bold text-[#b8955e] mb-5",
|
|
70543
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.location })]
|
|
70363
70544
|
}),
|
|
70364
70545
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70365
|
-
className: "text-
|
|
70546
|
+
className: "text-base text-[#213f31]/80 leading-relaxed mb-6 font-sans",
|
|
70366
70547
|
children: props.description
|
|
70367
70548
|
}),
|
|
70368
70549
|
props.highlights && props.highlights.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70369
|
-
className: "flex flex-wrap gap-2 mb-
|
|
70550
|
+
className: "flex flex-wrap gap-2 mb-6",
|
|
70370
70551
|
children: props.highlights.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70371
|
-
className: "bg-
|
|
70552
|
+
className: "bg-[#faf8f3] border border-[#e8d9c0] text-[#213f31]/70 text-[10px] uppercase tracking-widest font-bold px-3 py-1.5 rounded-sm shadow-sm",
|
|
70372
70553
|
children: item
|
|
70373
70554
|
}, i))
|
|
70374
70555
|
}),
|
|
70375
|
-
props.recommendation && /* @__PURE__ */ (0, import_jsx_runtime.
|
|
70376
|
-
className: "mt-auto bg-
|
|
70377
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.
|
|
70378
|
-
className: "
|
|
70556
|
+
props.recommendation && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70557
|
+
className: "mt-auto bg-gradient-to-r from-[#fdfbf7] to-white border border-[#e8d9c0]/50 border-l-2 border-l-[#8b3a3a] rounded-r-lg p-4 shadow-sm relative overflow-hidden",
|
|
70558
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70559
|
+
className: "absolute right-0 top-0 bottom-0 opacity-5",
|
|
70560
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UtensilsCrossed, { className: "w-16 h-16" })
|
|
70561
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
70562
|
+
className: "text-sm italic text-[#213f31]/90 leading-relaxed relative z-10",
|
|
70379
70563
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70380
|
-
className: "font-
|
|
70381
|
-
children: "
|
|
70564
|
+
className: "font-sans font-bold uppercase tracking-widest text-[9px] text-[#8b3a3a] not-italic block mb-1",
|
|
70565
|
+
children: "Da non perdere"
|
|
70382
70566
|
}), props.recommendation]
|
|
70383
|
-
})
|
|
70567
|
+
})]
|
|
70384
70568
|
})
|
|
70385
70569
|
]
|
|
70386
70570
|
})]
|
|
@@ -70414,58 +70598,63 @@ const TasteCardSkeleton = (_props) => {
|
|
|
70414
70598
|
const StayCard = ({ props }) => {
|
|
70415
70599
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70416
70600
|
"data-type": "stay-card",
|
|
70417
|
-
className: cn$1("bg-
|
|
70601
|
+
className: cn$1("bg-white rounded-2xl border border-[#e8d9c0] shadow-lg overflow-hidden flex flex-col relative group"),
|
|
70418
70602
|
children: [
|
|
70419
70603
|
props.priceRange && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70420
|
-
className: "absolute top-
|
|
70604
|
+
className: "absolute top-4 right-4 bg-[#213f31]/90 backdrop-blur px-3 py-1.5 rounded-sm shadow-md z-10 text-[10px] uppercase tracking-[0.2em] font-bold text-[#e8d9c0] border border-[#e8d9c0]/20",
|
|
70421
70605
|
children: props.priceRange
|
|
70422
70606
|
}),
|
|
70423
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
70424
|
-
className: "w-full aspect-
|
|
70425
|
-
children: props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
70607
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70608
|
+
className: "w-full aspect-[4/3] relative overflow-hidden",
|
|
70609
|
+
children: [props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
70426
70610
|
src: props.imageSrc,
|
|
70427
70611
|
alt: props.name,
|
|
70428
|
-
className: "w-full h-full object-cover"
|
|
70612
|
+
className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"
|
|
70429
70613
|
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70430
|
-
className: "w-full h-full bg-
|
|
70431
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bed, { className: "w-12 h-12 text-
|
|
70432
|
-
})
|
|
70614
|
+
className: "w-full h-full bg-[#faf8f3] flex items-center justify-center border-b border-[#e8d9c0]",
|
|
70615
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bed, { className: "w-12 h-12 text-[#b8955e]/20" })
|
|
70616
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 to-transparent" })]
|
|
70433
70617
|
}),
|
|
70434
70618
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70435
|
-
className: "p-
|
|
70619
|
+
className: "p-6 @md:p-8 flex flex-col flex-grow relative bg-white",
|
|
70436
70620
|
children: [
|
|
70437
70621
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70438
|
-
className: "flex items-center
|
|
70622
|
+
className: "absolute -top-6 left-6 right-6 flex items-center justify-between",
|
|
70439
70623
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70440
|
-
className: "text-[10px] font-bold uppercase tracking-
|
|
70624
|
+
className: "text-[10px] font-bold uppercase tracking-widest text-white bg-[#b8955e] px-3 py-1.5 rounded-sm shadow-md",
|
|
70441
70625
|
children: props.type
|
|
70442
70626
|
}), props.stars && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70443
|
-
className: "flex text-
|
|
70627
|
+
className: "flex gap-0.5 text-[#e8d9c0] text-sm tracking-tighter bg-[#213f31] px-2 py-1 rounded-sm shadow-md",
|
|
70444
70628
|
children: "★".repeat(props.stars)
|
|
70445
70629
|
})]
|
|
70446
70630
|
}),
|
|
70447
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
70448
|
-
className: "
|
|
70449
|
-
children:
|
|
70450
|
-
|
|
70451
|
-
|
|
70452
|
-
|
|
70453
|
-
|
|
70631
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70632
|
+
className: "mt-2",
|
|
70633
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
70634
|
+
className: "font-heading text-3xl text-[#213f31] leading-tight mb-2",
|
|
70635
|
+
children: props.name
|
|
70636
|
+
}), props.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70637
|
+
className: "flex items-center gap-1.5 text-[10px] uppercase tracking-widest font-bold text-[#213f31]/50 mb-5",
|
|
70638
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.location })]
|
|
70639
|
+
})]
|
|
70454
70640
|
}),
|
|
70455
70641
|
props.features && props.features.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70456
|
-
className: "flex flex-
|
|
70642
|
+
className: "flex flex-col gap-2 mb-6",
|
|
70457
70643
|
children: props.features.map((feature, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70458
|
-
className: "flex items-
|
|
70459
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70644
|
+
className: "flex items-start gap-3 text-sm text-[#213f31]/80 font-sans",
|
|
70645
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70646
|
+
className: "mt-0.5 bg-[#b8955e]/10 p-0.5 rounded-full shrink-0",
|
|
70647
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Check, { className: "w-3 h-3 text-[#b8955e]" })
|
|
70648
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: feature })]
|
|
70460
70649
|
}, i))
|
|
70461
70650
|
}),
|
|
70462
70651
|
props.whyPerfect && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70463
|
-
className: "mt-auto bg-
|
|
70652
|
+
className: "mt-auto bg-[#faf8f3] border border-[#e8d9c0] rounded-xl p-5 shadow-sm",
|
|
70464
70653
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
70465
|
-
className: "text-sm italic text-
|
|
70654
|
+
className: "text-sm italic text-[#213f31]/80 leading-relaxed",
|
|
70466
70655
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70467
|
-
className: "font-
|
|
70468
|
-
children: "
|
|
70656
|
+
className: "font-sans font-bold not-italic block text-[9px] uppercase tracking-[0.2em] text-[#b8955e] mb-1.5",
|
|
70657
|
+
children: "L'opinione dell'esperto"
|
|
70469
70658
|
}), props.whyPerfect]
|
|
70470
70659
|
})
|
|
70471
70660
|
})
|
|
@@ -70504,61 +70693,78 @@ const StayCardSkeleton = (_props) => {
|
|
|
70504
70693
|
//#endregion
|
|
70505
70694
|
//#region src/blocks/trip-summary.tsx
|
|
70506
70695
|
const TripSummary = ({ props }) => {
|
|
70507
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.
|
|
70696
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70508
70697
|
"data-type": "trip-summary",
|
|
70509
|
-
className: cn$1("bg-
|
|
70510
|
-
children:
|
|
70511
|
-
className: "
|
|
70512
|
-
|
|
70513
|
-
|
|
70514
|
-
|
|
70515
|
-
|
|
70516
|
-
|
|
70517
|
-
|
|
70518
|
-
className: "flex flex-wrap justify-center gap-8 @md:gap-16 w-full",
|
|
70519
|
-
children: props.stats.map((stat, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70520
|
-
className: "flex flex-col items-center",
|
|
70698
|
+
className: cn$1("bg-[#213f31] text-[#faf8f3] rounded-2xl px-6 py-16 @md:px-12 relative overflow-hidden shadow-2xl"),
|
|
70699
|
+
children: [
|
|
70700
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 z-0 bg-[url('https://www.transparenttextures.com/patterns/cubes.png')] opacity-10 mix-blend-overlay" }),
|
|
70701
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-black/40 to-transparent z-0" }),
|
|
70702
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70703
|
+
className: "relative z-10 flex flex-col items-center max-w-4xl mx-auto space-y-12",
|
|
70704
|
+
children: [
|
|
70705
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70706
|
+
className: "text-center space-y-4",
|
|
70521
70707
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70522
|
-
className: "
|
|
70523
|
-
children:
|
|
70524
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("
|
|
70525
|
-
className: "
|
|
70526
|
-
children:
|
|
70708
|
+
className: "text-[10px] uppercase tracking-[0.3em] font-bold text-[#e8d9c0]",
|
|
70709
|
+
children: "Il Tuo Viaggio in Sintesi"
|
|
70710
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
|
|
70711
|
+
className: "font-heading italic text-4xl @md:text-5xl text-center leading-tight",
|
|
70712
|
+
children: props.title
|
|
70527
70713
|
})]
|
|
70528
|
-
},
|
|
70529
|
-
|
|
70530
|
-
|
|
70531
|
-
|
|
70532
|
-
|
|
70533
|
-
|
|
70534
|
-
|
|
70535
|
-
|
|
70536
|
-
|
|
70537
|
-
className: "text-
|
|
70538
|
-
children:
|
|
70714
|
+
}),
|
|
70715
|
+
props.stats && props.stats.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70716
|
+
className: "flex flex-wrap justify-center gap-10 @md:gap-20 w-full py-8 border-y border-white/10",
|
|
70717
|
+
children: props.stats.map((stat, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70718
|
+
className: "flex flex-col items-center",
|
|
70719
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70720
|
+
className: "font-heading text-5xl @md:text-6xl italic text-[#e8d9c0] mb-2 drop-shadow-md",
|
|
70721
|
+
children: stat.value
|
|
70722
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70723
|
+
className: "text-[10px] uppercase tracking-[0.2em] font-bold text-white/70",
|
|
70724
|
+
children: stat.label
|
|
70539
70725
|
})]
|
|
70540
70726
|
}, i))
|
|
70727
|
+
}),
|
|
70728
|
+
props.highlights && props.highlights.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70729
|
+
className: "w-full max-w-3xl",
|
|
70730
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
70731
|
+
className: "text-center font-sans text-xs uppercase tracking-[0.2em] font-bold text-[#e8d9c0] mb-8",
|
|
70732
|
+
children: "Highlights dell'Esperienza"
|
|
70733
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", {
|
|
70734
|
+
className: "grid grid-cols-1 @md:grid-cols-2 gap-y-6 gap-x-12",
|
|
70735
|
+
children: props.highlights.map((hl, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", {
|
|
70736
|
+
className: "flex items-start gap-4",
|
|
70737
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70738
|
+
className: "mt-1 bg-[#478264] rounded-full p-1 shrink-0 shadow-md border border-[#478264]/20",
|
|
70739
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Check, { className: "w-3 h-3 text-white" })
|
|
70740
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70741
|
+
className: "text-sm font-medium leading-relaxed text-white/90",
|
|
70742
|
+
children: hl
|
|
70743
|
+
})]
|
|
70744
|
+
}, i))
|
|
70745
|
+
})]
|
|
70746
|
+
}),
|
|
70747
|
+
props.closingMessage && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70748
|
+
className: "pt-8 w-full max-w-2xl text-center",
|
|
70749
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
70750
|
+
className: "font-heading italic text-2xl @md:text-3xl text-[#e8d9c0] leading-snug",
|
|
70751
|
+
children: [
|
|
70752
|
+
"“",
|
|
70753
|
+
props.closingMessage,
|
|
70754
|
+
"”"
|
|
70755
|
+
]
|
|
70756
|
+
})
|
|
70757
|
+
}),
|
|
70758
|
+
props.ctaText && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70759
|
+
className: "mt-8",
|
|
70760
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
|
|
70761
|
+
className: "bg-[#e8d9c0] hover:bg-white text-[#213f31] rounded-full px-10 py-7 text-xs font-bold uppercase tracking-[0.2em] shadow-xl transition-all hover:scale-105 border-0",
|
|
70762
|
+
children: props.ctaText
|
|
70763
|
+
})
|
|
70541
70764
|
})
|
|
70542
|
-
|
|
70543
|
-
|
|
70544
|
-
|
|
70545
|
-
children: [
|
|
70546
|
-
"\"",
|
|
70547
|
-
props.closingMessage,
|
|
70548
|
-
"\""
|
|
70549
|
-
]
|
|
70550
|
-
}),
|
|
70551
|
-
props.ctaText && props.ctaUrl && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
|
|
70552
|
-
asChild: true,
|
|
70553
|
-
variant: "outline",
|
|
70554
|
-
className: "border-primary-foreground text-foreground hover:bg-primary-foreground hover:text-primary rounded-full px-8 py-6 text-sm font-bold uppercase tracking-wider mt-4",
|
|
70555
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", {
|
|
70556
|
-
href: props.ctaUrl,
|
|
70557
|
-
children: props.ctaText
|
|
70558
|
-
})
|
|
70559
|
-
})
|
|
70560
|
-
]
|
|
70561
|
-
})
|
|
70765
|
+
]
|
|
70766
|
+
})
|
|
70767
|
+
]
|
|
70562
70768
|
});
|
|
70563
70769
|
};
|
|
70564
70770
|
//#endregion
|
|
@@ -70608,24 +70814,38 @@ const TripSummarySkeleton = (_props) => {
|
|
|
70608
70814
|
const InsiderTip = ({ props }) => {
|
|
70609
70815
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70610
70816
|
"data-type": "insider-tip",
|
|
70611
|
-
className: cn$1("bg-
|
|
70612
|
-
children: [
|
|
70613
|
-
className: "
|
|
70614
|
-
|
|
70615
|
-
|
|
70616
|
-
|
|
70617
|
-
|
|
70618
|
-
|
|
70619
|
-
|
|
70620
|
-
|
|
70621
|
-
|
|
70622
|
-
|
|
70623
|
-
|
|
70624
|
-
|
|
70625
|
-
|
|
70626
|
-
|
|
70627
|
-
|
|
70628
|
-
|
|
70817
|
+
className: cn$1("bg-gradient-to-r from-[#f4ebd9] to-white border border-[#e8d9c0] rounded-xl px-6 py-5 @md:px-8 @md:py-6 flex gap-5 shadow-sm relative overflow-hidden"),
|
|
70818
|
+
children: [
|
|
70819
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute left-0 top-0 bottom-0 w-1.5 bg-[#b8955e]" }),
|
|
70820
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70821
|
+
className: "bg-white p-3 rounded-full shadow-sm shrink-0 h-fit border border-[#e8d9c0]/50",
|
|
70822
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Lightbulb, { className: "w-6 h-6 text-[#b8955e]" })
|
|
70823
|
+
}),
|
|
70824
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70825
|
+
className: "flex flex-col space-y-2",
|
|
70826
|
+
children: [
|
|
70827
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70828
|
+
className: "flex items-center gap-2",
|
|
70829
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70830
|
+
className: "text-[9px] uppercase tracking-widest font-bold text-[#b8955e] bg-[#b8955e]/10 px-2 py-1 rounded-sm",
|
|
70831
|
+
children: "Il consiglio del concierge"
|
|
70832
|
+
})
|
|
70833
|
+
}),
|
|
70834
|
+
props.title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", {
|
|
70835
|
+
className: "font-heading text-xl text-[#213f31] leading-tight",
|
|
70836
|
+
children: props.title
|
|
70837
|
+
}),
|
|
70838
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70839
|
+
className: "font-sans text-sm text-[#213f31]/80 leading-relaxed",
|
|
70840
|
+
children: props.text
|
|
70841
|
+
}),
|
|
70842
|
+
props.source && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70843
|
+
className: "text-[10px] uppercase tracking-widest font-bold text-[#213f31]/40 mt-3 block",
|
|
70844
|
+
children: props.source
|
|
70845
|
+
})
|
|
70846
|
+
]
|
|
70847
|
+
})
|
|
70848
|
+
]
|
|
70629
70849
|
});
|
|
70630
70850
|
};
|
|
70631
70851
|
//#endregion
|