@ctonti/ask-golf-veneto 1.0.4 → 1.0.5

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/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,49 @@ 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.jsx)("section", {
69131
- className: "relative flex min-h-[calc(100vh-115px)] flex-col items-center justify-center gap-8 bg-background text-foreground",
69132
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69133
- className: "relative w-full max-w-215 p-2",
69134
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69135
- className: "flex flex-col gap-20",
69136
- children: [title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", {
69137
- className: "text-center text-[40px] font-thin leading-[1.45] tracking-[-0.02em] font-heading italic text-primary",
69138
- dangerouslySetInnerHTML: { __html: title }
69139
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PromptIntro, {})]
69141
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", {
69142
+ className: "relative flex min-h-[calc(100vh-115px)] flex-col items-center justify-center gap-8 text-foreground overflow-hidden",
69143
+ children: [
69144
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 z-0 bg-gradient-to-b from-[#213f31] to-[#1a3227]" }),
69145
+ /* @__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" }),
69146
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69147
+ className: "relative z-10 w-full max-w-215 p-6 md:p-2 flex flex-col items-center gap-12",
69148
+ children: [
69149
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69150
+ className: "text-center space-y-4",
69151
+ children: [title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", {
69152
+ className: "text-center text-5xl md:text-7xl font-thin leading-[1.1] tracking-[-0.02em] font-heading italic text-white drop-shadow-md",
69153
+ dangerouslySetInnerHTML: { __html: title }
69154
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69155
+ className: "text-[#e8d9c0] font-sans text-lg md:text-xl font-light uppercase tracking-widest mt-4",
69156
+ children: "Il tuo concierge di viaggio personalizzato"
69157
+ })]
69158
+ }),
69159
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69160
+ className: "w-full bg-white/5 backdrop-blur-lg rounded-2xl p-6 shadow-2xl border border-white/10 relative",
69161
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PromptIntro, {})
69162
+ }),
69163
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69164
+ className: "flex flex-wrap items-center justify-center gap-3 mt-4 max-w-3xl",
69165
+ children: [
69166
+ "5 giorni golf e prosecco per due",
69167
+ "Weekend romantico con golf a Venezia",
69168
+ "Vacanza famiglia tra golf e Gardaland",
69169
+ "Tour dei migliori campi da golf del Veneto"
69170
+ ].map((prompt, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
69171
+ onClick: () => append?.({
69172
+ role: "user",
69173
+ content: prompt
69174
+ }),
69175
+ className: "px-5 py-2.5 rounded-full bg-white/10 hover:bg-[#478264]/80 backdrop-blur text-white text-sm font-medium transition-all duration-300 border border-white/10 hover:border-transparent hover:shadow-lg transform hover:-translate-y-0.5",
69176
+ children: prompt
69177
+ }, i))
69178
+ })
69179
+ ]
69140
69180
  })
69141
- })
69181
+ ]
69142
69182
  });
69143
69183
  }
69144
69184
  //#endregion
@@ -69526,34 +69566,41 @@ const Link = ({ props }) => {
69526
69566
  const HeroViaggio = ({ props }) => {
69527
69567
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69528
69568
  "data-type": "hero-viaggio",
69529
- className: cn$1("relative flex flex-col items-center justify-center py-16 @md:py-24 px-6 bg-primary text-primary-foreground overflow-hidden rounded-xl shadow-sm"),
69530
- children: [props.imageSrc && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69569
+ 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"),
69570
+ children: [props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69531
69571
  className: "absolute inset-0 z-0",
69532
69572
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
69533
69573
  src: props.imageSrc,
69534
69574
  alt: "",
69535
69575
  className: "w-full h-full object-cover"
69536
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-primary/80 mix-blend-multiply" })]
69576
+ }), /* @__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" })]
69577
+ }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69578
+ className: "absolute inset-0 z-0 bg-gradient-to-br from-[#213f31] to-[#12241b]",
69579
+ 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
69580
  }), /* @__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-6",
69581
+ className: "relative z-10 flex flex-col items-center text-center max-w-4xl mx-auto space-y-8",
69539
69582
  children: [
69583
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-16 h-px bg-[#e8d9c0]/50 mb-4" }),
69540
69584
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", {
69541
- className: "font-heading text-[32px] @md:text-[56px] @lg:text-[72px] italic leading-tight",
69585
+ className: "font-heading text-[40px] @md:text-[64px] @lg:text-[80px] italic leading-[1.1] drop-shadow-lg text-[#faf8f3]",
69542
69586
  children: props.title
69543
69587
  }),
69544
69588
  props.tagline && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69545
- className: "font-sans text-primary-foreground/80 text-lg @md:text-xl max-w-2xl",
69589
+ className: "font-sans font-light uppercase tracking-[0.2em] text-[#e8d9c0] text-sm @md:text-base max-w-2xl drop-shadow",
69546
69590
  children: props.tagline
69547
69591
  }),
69592
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-16 h-px bg-[#e8d9c0]/50 mt-4" }),
69548
69593
  props.stats && props.stats.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69549
- className: "flex flex-wrap items-center justify-center gap-3 pt-6",
69550
- children: props.stats.map((stat, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
69551
- className: "bg-accent text-white font-sans text-sm font-medium rounded-full px-4 py-2",
69552
- children: [
69553
- stat.value,
69554
- " ",
69555
- stat.label
69556
- ]
69594
+ className: "flex flex-wrap items-center justify-center gap-6 pt-8",
69595
+ children: props.stats.map((stat, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69596
+ 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]",
69597
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69598
+ className: "font-heading italic text-3xl @md:text-4xl text-[#e8d9c0] mb-1",
69599
+ children: stat.value
69600
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69601
+ className: "font-sans text-[10px] uppercase tracking-widest text-white/70 font-semibold",
69602
+ children: stat.label
69603
+ })]
69557
69604
  }, i))
69558
69605
  })
69559
69606
  ]
@@ -69608,32 +69655,52 @@ const ICON_MAP = {
69608
69655
  const ConceptCard = ({ props }) => {
69609
69656
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69610
69657
  "data-type": "concept-card",
69611
- className: cn$1("bg-card rounded-xl border border-border shadow-sm overflow-hidden flex flex-col p-6 @md:p-8 space-y-6 @md:space-y-0 @md:flex-row @md:gap-12"),
69612
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69613
- className: "flex-1 border-l-4 border-accent pl-6 flex flex-col justify-center",
69614
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69615
- className: "text-muted-foreground font-sans leading-relaxed",
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",
69658
+ 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"),
69659
+ children: [
69660
+ /* @__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" }),
69661
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69662
+ className: "flex-1 relative z-10 flex flex-col justify-center space-y-6 @md:border-r border-[#e8d9c0] @md:pr-10",
69622
69663
  children: [
69623
- "",
69624
- props.concept,
69625
- ""
69664
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69665
+ className: "flex items-center gap-2 mb-2",
69666
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-8 h-px bg-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69667
+ className: "text-[10px] uppercase tracking-widest font-bold text-[#478264]",
69668
+ children: "Il Concept"
69669
+ })]
69670
+ }),
69671
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69672
+ className: "relative",
69673
+ 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", {
69674
+ className: "font-heading italic text-[#213f31] text-2xl @md:text-3xl leading-snug",
69675
+ children: [
69676
+ "“",
69677
+ props.concept,
69678
+ "”"
69679
+ ]
69680
+ })]
69681
+ }),
69682
+ props.themes && props.themes.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69683
+ className: "flex flex-wrap gap-2 pt-2",
69684
+ children: props.themes.map((theme, i) => {
69685
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69686
+ 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",
69687
+ 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 })]
69688
+ }, i);
69689
+ })
69690
+ })
69626
69691
  ]
69627
- }), props.themes && props.themes.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69628
- className: "flex flex-wrap gap-2",
69629
- children: props.themes.map((theme, i) => {
69630
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69631
- className: "flex items-center gap-1.5 bg-muted text-foreground text-xs font-medium px-3 py-1.5 rounded-full",
69632
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ICON_MAP[theme.icon.toLowerCase()] || Circle, { className: "w-3.5 h-3.5 text-accent" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: theme.label })]
69633
- }, i);
69634
- })
69635
- })]
69636
- })]
69692
+ }),
69693
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69694
+ className: "flex-1 relative z-10 flex flex-col justify-center",
69695
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69696
+ className: "text-[10px] uppercase tracking-widest font-bold text-[#213f31]/40 mb-3",
69697
+ children: "La Visione"
69698
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69699
+ className: "text-[#213f31]/80 font-sans leading-relaxed text-sm @md:text-base",
69700
+ children: props.debrief
69701
+ })]
69702
+ })
69703
+ ]
69637
69704
  });
69638
69705
  };
69639
69706
  //#endregion
@@ -69666,219 +69733,276 @@ const ConceptCardSkeleton = (_props) => {
69666
69733
  const LOGISTICS_ICON_MAP = {
69667
69734
  car: Car,
69668
69735
  train: TramFront,
69669
- ship: Ship
69736
+ ship: Ship,
69737
+ default: Navigation
69670
69738
  };
69671
69739
  const DayPlan = ({ props }) => {
69672
- if (!props.sections) return null;
69673
69740
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69674
69741
  "data-type": "day-plan",
69675
- className: cn$1("flex flex-col w-full shadow-sm"),
69742
+ className: cn$1("flex flex-col w-full shadow-xl rounded-2xl overflow-hidden border border-[#e8d9c0]/50 bg-[#faf8f3]"),
69676
69743
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69677
- className: "bg-primary rounded-t-xl px-6 py-5 flex flex-col gap-2 relative overflow-hidden",
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",
69744
+ className: "relative overflow-hidden bg-[#213f31] px-8 py-10 flex flex-col gap-4",
69693
69745
  children: [
69694
- props.sections.golf && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69695
- className: "py-5 border-b border-border/50 last:border-0",
69696
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69697
- className: "flex items-center gap-2 mb-3",
69698
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Flag, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
69699
- className: "font-sans font-semibold uppercase text-xs tracking-wider text-muted-foreground",
69700
- children: "Golf"
69701
- })]
69702
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69703
- className: "space-y-2",
69704
- children: [
69705
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69706
- className: "font-bold text-foreground",
69707
- children: props.sections.golf.clubName
69708
- }),
69709
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69710
- className: "flex gap-2",
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
- ]
69746
+ /* @__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" }),
69747
+ props.imageSrc && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69748
+ className: "absolute inset-0 z-0",
69749
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
69750
+ src: props.imageSrc,
69751
+ alt: "",
69752
+ className: "w-full h-full object-cover opacity-40 mix-blend-luminosity"
69753
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-[#213f31] to-transparent" })]
69754
+ }),
69755
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69756
+ className: "flex items-center justify-between z-10",
69757
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
69758
+ 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",
69759
+ children: ["Giorno ", props.dayNumber]
69760
+ }), props.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69761
+ 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",
69762
+ 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
69763
  })]
69729
69764
  }),
69730
- props.sections.explore && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69731
- className: "py-5 border-b border-border/50 last:border-0",
69765
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
69766
+ className: "font-heading text-white text-4xl @md:text-5xl z-10 leading-tight italic mt-2 drop-shadow-md",
69767
+ children: props.title
69768
+ })
69769
+ ]
69770
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69771
+ className: "bg-[#faf8f3] px-6 @md:px-8 py-4",
69772
+ children: [
69773
+ props.golf && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69774
+ className: "py-8 border-b border-[#e8d9c0]/60 last:border-0 relative",
69775
+ children: [
69776
+ /* @__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" }),
69777
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69778
+ className: "flex items-center gap-2 mb-4",
69779
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Flag, { className: "w-5 h-5 text-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
69780
+ className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#478264]",
69781
+ children: "Golf Experience"
69782
+ })]
69783
+ }),
69784
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69785
+ className: "space-y-4 pl-2 @md:pl-4",
69786
+ children: [
69787
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69788
+ className: "font-heading text-3xl text-[#213f31]",
69789
+ children: props.golf.clubName
69790
+ }),
69791
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69792
+ className: "flex gap-2",
69793
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
69794
+ className: "text-xs font-semibold uppercase tracking-wider bg-white px-3 py-1.5 rounded-md text-[#213f31] border border-[#e8d9c0] shadow-sm",
69795
+ children: [props.golf.holes, " Buche"]
69796
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
69797
+ className: "text-xs font-semibold uppercase tracking-wider bg-white px-3 py-1.5 rounded-md text-[#213f31] border border-[#e8d9c0] shadow-sm",
69798
+ children: ["Par ", props.golf.par]
69799
+ })]
69800
+ }),
69801
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69802
+ className: "text-base text-[#213f31]/80 leading-relaxed font-sans",
69803
+ children: props.golf.description
69804
+ }),
69805
+ props.golf.highlight && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69806
+ className: "bg-white p-4 rounded-xl border border-[#e8d9c0] shadow-sm mt-4 inline-block",
69807
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
69808
+ className: "text-base italic text-[#478264] font-heading text-xl",
69809
+ children: [
69810
+ "\"",
69811
+ props.golf.highlight,
69812
+ "\""
69813
+ ]
69814
+ })
69815
+ })
69816
+ ]
69817
+ })
69818
+ ]
69819
+ }),
69820
+ props.explore && props.explore.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69821
+ className: "py-8 border-b border-[#e8d9c0]/60 last:border-0 relative",
69732
69822
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69733
- className: "flex items-center gap-2 mb-3",
69734
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Compass, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
69735
- className: "font-sans font-semibold uppercase text-xs tracking-wider text-muted-foreground",
69736
- children: "Explore"
69823
+ className: "flex items-center gap-2 mb-5",
69824
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Compass, { className: "w-5 h-5 text-[#213f31]/50" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
69825
+ className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#213f31]/50",
69826
+ children: "Esplora"
69737
69827
  })]
69738
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", {
69739
- className: "space-y-3",
69740
- children: props.sections.explore.attractions.map((attr, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", {
69741
- className: "flex flex-col @md:flex-row @md:items-center gap-1 @md:gap-3",
69742
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69743
- className: "font-medium text-foreground text-sm",
69744
- children: attr.name
69745
- }), attr.type && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69746
- className: "text-[10px] uppercase tracking-wider font-semibold bg-accent/10 text-accent px-1.5 py-0.5 rounded w-fit",
69747
- children: attr.type
69828
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69829
+ className: "grid grid-cols-1 @md:grid-cols-2 gap-5 pl-0 @md:pl-4",
69830
+ children: props.explore.map((attr, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69831
+ className: "bg-white p-5 rounded-xl border border-[#e8d9c0] shadow-sm flex flex-col gap-3 transition-shadow hover:shadow-md",
69832
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69833
+ className: "flex items-start justify-between gap-3",
69834
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69835
+ className: "font-heading text-2xl text-[#213f31] leading-tight",
69836
+ children: attr.name
69837
+ }), attr.type && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69838
+ className: "text-[9px] uppercase tracking-widest font-bold bg-[#faf8f3] text-[#213f31] border border-[#e8d9c0] px-2 py-1 rounded-full whitespace-nowrap",
69839
+ children: attr.type
69840
+ })]
69841
+ }), attr.description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69842
+ className: "text-sm text-[#213f31]/70 leading-relaxed",
69843
+ children: attr.description
69748
69844
  })]
69749
69845
  }, i))
69750
69846
  })]
69751
69847
  }),
69752
- props.sections.dine && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69753
- className: "py-5 border-b border-border/50 last:border-0",
69848
+ props.dine && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69849
+ className: "py-8 border-b border-[#e8d9c0]/60 last:border-0",
69754
69850
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69755
- className: "flex items-center gap-2 mb-3",
69756
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UtensilsCrossed, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
69757
- className: "font-sans font-semibold uppercase text-xs tracking-wider text-muted-foreground",
69758
- children: "Dine"
69851
+ className: "flex items-center gap-2 mb-5",
69852
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UtensilsCrossed, { className: "w-5 h-5 text-[#213f31]/50" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
69853
+ className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#213f31]/50",
69854
+ children: "Gusto"
69759
69855
  })]
69760
69856
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69761
- className: "space-y-1.5",
69857
+ className: "bg-white p-6 rounded-xl border border-[#e8d9c0] shadow-sm pl-6 relative overflow-hidden",
69762
69858
  children: [
69859
+ /* @__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
69860
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
69764
- className: "font-bold text-foreground text-sm flex items-center gap-2",
69765
- children: [props.sections.dine.restaurantName, /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69766
- className: "font-normal italic text-muted-foreground text-xs",
69767
- children: props.sections.dine.cuisine
69861
+ className: "font-heading text-3xl text-[#213f31] flex flex-col @md:flex-row @md:items-baseline gap-2 mb-3",
69862
+ children: [props.dine.name, props.dine.cuisine && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
69863
+ className: "font-sans font-medium uppercase tracking-[0.15em] text-[#478264] text-xs",
69864
+ children: ["· ", props.dine.cuisine]
69768
69865
  })]
69769
69866
  }),
69770
69867
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69771
- className: "text-sm text-foreground/80",
69772
- children: props.sections.dine.description
69868
+ className: "text-base text-[#213f31]/80 leading-relaxed mb-4",
69869
+ children: props.dine.description
69773
69870
  }),
69774
- props.sections.dine.signatureDish && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
69775
- className: "text-sm text-accent italic mt-1",
69776
- children: ["★ ", props.sections.dine.signatureDish]
69871
+ props.dine.dish && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69872
+ className: "flex items-start gap-3 bg-[#faf8f3] p-4 rounded-xl border border-[#e8d9c0]/50",
69873
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69874
+ className: "text-[#478264] text-lg mt-0.5",
69875
+ children: "★"
69876
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
69877
+ className: "text-sm text-[#213f31] leading-relaxed",
69878
+ children: [
69879
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69880
+ className: "font-bold text-[10px] uppercase tracking-widest text-[#213f31]/50 block mb-1",
69881
+ children: "Piatto firma"
69882
+ }),
69883
+ " ",
69884
+ props.dine.dish
69885
+ ]
69886
+ })]
69777
69887
  })
69778
69888
  ]
69779
69889
  })]
69780
69890
  }),
69781
- props.sections.wine && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69782
- className: "py-5 border-b border-border/50 last:border-0",
69891
+ props.wine && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69892
+ className: "py-8 border-b border-[#e8d9c0]/60 last:border-0",
69783
69893
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69784
- className: "flex items-center gap-2 mb-3",
69785
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Wine, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
69786
- className: "font-sans font-semibold uppercase text-xs tracking-wider text-muted-foreground",
69787
- children: "Wine"
69894
+ className: "flex items-center gap-2 mb-5",
69895
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Wine, { className: "w-5 h-5 text-[#8b3a3a]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
69896
+ className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#8b3a3a]",
69897
+ children: "Degustazione"
69788
69898
  })]
69789
69899
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69790
- className: "space-y-2",
69900
+ className: "bg-gradient-to-br from-[#fffdfa] to-[#fff5f5] p-6 rounded-xl border border-[#8b3a3a]/15 shadow-sm pl-6 relative",
69791
69901
  children: [
69902
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69903
+ className: "absolute right-4 top-4 opacity-5",
69904
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Wine, { className: "w-24 h-24 text-[#8b3a3a]" })
69905
+ }),
69792
69906
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69793
- className: "font-bold text-foreground text-sm",
69794
- children: props.sections.wine.cantinaName
69907
+ className: "font-heading text-3xl text-[#213f31] mb-3 relative z-10",
69908
+ children: props.wine.name
69795
69909
  }),
69796
69910
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69797
- className: "text-sm text-foreground/80",
69798
- children: props.sections.wine.description
69911
+ className: "text-base text-[#213f31]/80 leading-relaxed mb-5 relative z-10 max-w-2xl",
69912
+ children: props.wine.description
69799
69913
  }),
69800
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69801
- className: "flex flex-wrap gap-1.5 mt-2",
69802
- children: props.sections.wine.wines.map((wine, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69803
- className: "text-xs bg-muted text-foreground px-2 py-1 rounded-md",
69914
+ props.wine.wines && props.wine.wines.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69915
+ className: "flex flex-wrap gap-2 relative z-10",
69916
+ children: props.wine.wines.map((wine, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69917
+ 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
69918
  children: wine
69805
69919
  }, i))
69806
69920
  })
69807
69921
  ]
69808
69922
  })]
69809
69923
  }),
69810
- props.sections.stay && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69811
- className: "py-5 border-b border-border/50 last:border-0",
69924
+ props.stay && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69925
+ className: "py-8 border-b border-[#e8d9c0]/60 last:border-0",
69812
69926
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69813
- className: "flex items-center gap-2 mb-3",
69814
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bed, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
69815
- className: "font-sans font-semibold uppercase text-xs tracking-wider text-muted-foreground",
69816
- children: "Stay"
69927
+ className: "flex items-center gap-2 mb-5",
69928
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bed, { className: "w-5 h-5 text-[#b8955e]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
69929
+ className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#b8955e]",
69930
+ children: "Soggiorno"
69817
69931
  })]
69818
69932
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69819
- className: "space-y-1",
69933
+ className: "bg-gradient-to-br from-[#fdfbf7] to-[#f4ebd9]/80 p-6 rounded-xl border border-[#b8955e]/30 shadow-sm pl-6",
69820
69934
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69821
- className: "flex items-center gap-2",
69935
+ className: "flex flex-col @md:flex-row @md:items-center justify-between mb-3 gap-3",
69822
69936
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69823
- className: "font-bold text-foreground text-sm",
69824
- children: props.sections.stay.name
69825
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69826
- className: "text-[10px] uppercase tracking-wider font-semibold bg-primary/10 text-primary px-1.5 py-0.5 rounded",
69827
- children: props.sections.stay.type
69937
+ className: "font-heading text-3xl text-[#213f31]",
69938
+ children: props.stay.name
69939
+ }), props.stay.type && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69940
+ 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",
69941
+ children: props.stay.type
69828
69942
  })]
69829
69943
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69830
- className: "text-sm text-foreground/80",
69831
- children: props.sections.stay.description
69944
+ className: "text-base text-[#213f31]/80 leading-relaxed max-w-2xl",
69945
+ children: props.stay.description
69832
69946
  })]
69833
69947
  })]
69834
69948
  }),
69835
- props.sections.logistics && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69836
- className: "py-5 border-b border-border/50 last:border-0",
69837
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69838
- className: "flex items-center gap-2 mb-3",
69839
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Car, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
69840
- className: "font-sans font-semibold uppercase text-xs tracking-wider text-muted-foreground",
69841
- children: "Logistics"
69842
- })]
69843
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69844
- className: "flex flex-col @md:flex-row @md:items-center gap-2 @md:gap-4 text-sm",
69845
- children: [
69846
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69847
- className: "flex items-center gap-2 text-foreground font-medium",
69949
+ props.logistics && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69950
+ className: "py-8 border-b border-[#e8d9c0]/60 last:border-0",
69951
+ children: [
69952
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69953
+ className: "flex items-center gap-2 mb-5",
69954
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Navigation, { className: "w-5 h-5 text-[#213f31]/40" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
69955
+ className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#213f31]/40",
69956
+ children: "Spostamenti"
69957
+ })]
69958
+ }),
69959
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69960
+ 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",
69961
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69962
+ className: "flex flex-wrap items-center gap-3 text-[#213f31] font-heading text-2xl",
69848
69963
  children: [
69849
- props.sections.logistics.from,
69964
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.logistics.from }),
69850
69965
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69851
- className: "text-muted-foreground text-xs",
69852
- children: ""
69966
+ className: "text-[#e8d9c0] mx-2",
69967
+ children: ""
69853
69968
  }),
69854
- props.sections.logistics.to
69969
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.logistics.to })
69855
69970
  ]
69856
- }),
69857
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69858
- className: "flex gap-2 items-center",
69859
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
69860
- className: "text-xs bg-muted px-2 py-0.5 rounded flex items-center gap-1",
69861
- children: [props.sections.logistics.transportIcon && LOGISTICS_ICON_MAP[props.sections.logistics.transportIcon] && (() => {
69862
- const Icon = LOGISTICS_ICON_MAP[props.sections.logistics.transportIcon];
69863
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "w-3 h-3" });
69864
- })(), props.sections.logistics.time]
69971
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69972
+ className: "flex items-center gap-4 shrink-0",
69973
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69974
+ className: "flex items-center gap-2 bg-[#faf8f3] px-4 py-2 rounded-full border border-[#e8d9c0]",
69975
+ 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", {
69976
+ className: "text-sm font-semibold uppercase tracking-wider text-[#213f31]/80",
69977
+ children: props.logistics.time
69978
+ })]
69865
69979
  })
69866
- }),
69867
- props.sections.logistics.note && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69868
- className: "text-xs text-muted-foreground italic",
69869
- children: props.sections.logistics.note
69870
- })
69871
- ]
69872
- })]
69980
+ })]
69981
+ }),
69982
+ props.logistics.note && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69983
+ className: "text-sm text-[#213f31]/60 italic mt-3 pl-2 @md:pl-4",
69984
+ children: props.logistics.note
69985
+ })
69986
+ ]
69873
69987
  }),
69874
- props.sections.curiosity && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69875
- className: "py-5 border-b border-border/50 last:border-0",
69988
+ props.curiosity && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69989
+ className: "py-8 last:border-0",
69876
69990
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69877
- className: "bg-accent/5 rounded-lg p-4 flex gap-3 items-start",
69878
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Lightbulb, { className: "w-5 h-5 text-accent shrink-0 mt-0.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69879
- className: "text-sm italic text-foreground/90 leading-relaxed",
69880
- children: props.sections.curiosity.text
69881
- })]
69991
+ 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",
69992
+ children: [
69993
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute left-0 top-0 bottom-0 w-1.5 bg-[#b8955e]" }),
69994
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69995
+ className: "bg-white p-2.5 rounded-full shadow-sm shrink-0 border border-[#e8d9c0]",
69996
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Lightbulb, { className: "w-5 h-5 text-[#b8955e]" })
69997
+ }),
69998
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69999
+ className: "text-[10px] uppercase tracking-widest font-bold text-[#b8955e] block mb-2",
70000
+ children: "Lo sapevi che?"
70001
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
70002
+ className: "text-base font-sans text-[#213f31]/90 leading-relaxed italic",
70003
+ children: props.curiosity
70004
+ })] })
70005
+ ]
69882
70006
  })
69883
70007
  })
69884
70008
  ]
@@ -69923,111 +70047,144 @@ const DayPlanSkeleton = (_props) => {
69923
70047
  const GolfClubSpotlight = ({ props }) => {
69924
70048
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69925
70049
  "data-type": "golf-club-spotlight",
69926
- className: cn$1("bg-card rounded-xl border border-border shadow-sm relative overflow-hidden flex flex-col @md:flex-row"),
70050
+ className: cn$1("bg-white rounded-2xl border border-[#e8d9c0] shadow-lg relative overflow-hidden flex flex-col @md:flex-row"),
69927
70051
  children: [
69928
70052
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
69929
- className: "absolute top-0 right-0 bg-accent text-white text-[10px] font-bold uppercase tracking-widest px-4 py-1.5 rounded-bl-lg z-10",
70053
+ 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
70054
  children: "Network Golf in Veneto"
69931
70055
  }),
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
70056
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69944
- className: "w-full @md:w-3/5 p-6 @md:p-8 flex flex-col",
70057
+ className: "w-full @md:w-5/12 min-h-[300px] relative",
69945
70058
  children: [
69946
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
69947
- className: "font-heading text-3xl text-foreground mb-1 pr-12",
69948
- children: props.name
70059
+ props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
70060
+ src: props.imageSrc,
70061
+ alt: props.name,
70062
+ className: "w-full h-full object-cover"
70063
+ }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70064
+ className: "w-full h-full bg-gradient-to-br from-[#213f31] to-[#12241b] flex items-center justify-center p-8",
70065
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Flag, { className: "w-20 h-20 text-white/10" })
69949
70066
  }),
69950
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
69951
- className: "font-serif italic text-muted-foreground text-lg mb-6",
69952
- children: props.tagline
70067
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent" }),
70068
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70069
+ className: "absolute bottom-4 left-4 right-4 z-10 block @md:hidden text-white",
70070
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
70071
+ className: "font-heading text-3xl mb-1",
70072
+ children: props.name
70073
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
70074
+ className: "font-sans text-sm font-light italic text-white/80",
70075
+ children: props.tagline
70076
+ })]
70077
+ })
70078
+ ]
70079
+ }),
70080
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70081
+ className: "w-full @md:w-7/12 p-6 @md:p-8 flex flex-col",
70082
+ children: [
70083
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70084
+ className: "hidden @md:block mb-6",
70085
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
70086
+ className: "font-heading text-4xl text-[#213f31] mb-2 pr-12 leading-tight",
70087
+ children: props.name
70088
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
70089
+ className: "font-heading italic text-[#478264] text-xl",
70090
+ children: props.tagline
70091
+ })]
69953
70092
  }),
69954
70093
  props.stats && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69955
- className: "grid grid-cols-2 @lg:grid-cols-3 gap-3 mb-6",
70094
+ className: "grid grid-cols-2 @lg:grid-cols-3 gap-3 mb-8",
69956
70095
  children: [
69957
70096
  props.stats.holes && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69958
- className: "flex items-center gap-2 bg-muted/50 p-2.5 rounded-lg border border-border/50",
69959
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Circle, { className: "w-4 h-4 text-accent" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70097
+ className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
70098
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70099
+ className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
70100
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Circle, { className: "w-4 h-4 text-[#478264]" })
70101
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69960
70102
  className: "flex flex-col",
69961
70103
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69962
- className: "text-[10px] uppercase text-muted-foreground font-semibold",
69963
- children: "Holes"
70104
+ className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
70105
+ children: "Buche"
69964
70106
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69965
- className: "text-sm font-medium",
70107
+ className: "text-sm font-bold text-[#213f31]",
69966
70108
  children: props.stats.holes
69967
70109
  })]
69968
70110
  })]
69969
70111
  }),
69970
70112
  props.stats.par && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69971
- className: "flex items-center gap-2 bg-muted/50 p-2.5 rounded-lg border border-border/50",
69972
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Target, { className: "w-4 h-4 text-accent" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70113
+ className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
70114
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70115
+ className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
70116
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Target, { className: "w-4 h-4 text-[#478264]" })
70117
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69973
70118
  className: "flex flex-col",
69974
70119
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69975
- className: "text-[10px] uppercase text-muted-foreground font-semibold",
70120
+ className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
69976
70121
  children: "Par"
69977
70122
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69978
- className: "text-sm font-medium",
70123
+ className: "text-sm font-bold text-[#213f31]",
69979
70124
  children: props.stats.par
69980
70125
  })]
69981
70126
  })]
69982
70127
  }),
69983
70128
  props.stats.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69984
- className: "flex items-center gap-2 bg-muted/50 p-2.5 rounded-lg border border-border/50",
69985
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Ruler, { className: "w-4 h-4 text-accent" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70129
+ className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
70130
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70131
+ className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
70132
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Ruler, { className: "w-4 h-4 text-[#478264]" })
70133
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69986
70134
  className: "flex flex-col",
69987
70135
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69988
- className: "text-[10px] uppercase text-muted-foreground font-semibold",
69989
- children: "Length"
70136
+ className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
70137
+ children: "Lunghezza"
69990
70138
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
69991
- className: "text-sm font-medium",
70139
+ className: "text-sm font-bold text-[#213f31]",
69992
70140
  children: props.stats.distance
69993
70141
  })]
69994
70142
  })]
69995
70143
  }),
69996
70144
  props.stats.courses && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69997
- className: "flex items-center gap-2 bg-muted/50 p-2.5 rounded-lg border border-border/50",
69998
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-4 h-4 text-accent" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70145
+ className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
70146
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70147
+ className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
70148
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-4 h-4 text-[#478264]" })
70149
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
69999
70150
  className: "flex flex-col",
70000
70151
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70001
- className: "text-[10px] uppercase text-muted-foreground font-semibold",
70002
- children: "Courses"
70152
+ className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
70153
+ children: "Percorsi"
70003
70154
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70004
- className: "text-sm font-medium",
70155
+ className: "text-sm font-bold text-[#213f31]",
70005
70156
  children: props.stats.courses
70006
70157
  })]
70007
70158
  })]
70008
70159
  }),
70009
70160
  props.stats.difficulty && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70010
- className: "flex items-center gap-2 bg-muted/50 p-2.5 rounded-lg border border-border/50",
70011
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Gauge, { className: "w-4 h-4 text-accent" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70161
+ className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
70162
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70163
+ className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
70164
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Gauge, { className: "w-4 h-4 text-[#478264]" })
70165
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70012
70166
  className: "flex flex-col",
70013
70167
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70014
- className: "text-[10px] uppercase text-muted-foreground font-semibold",
70015
- children: "Difficulty"
70168
+ className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
70169
+ children: "Difficoltà"
70016
70170
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70017
- className: "text-sm font-medium",
70171
+ className: "text-sm font-bold text-[#213f31]",
70018
70172
  children: props.stats.difficulty
70019
70173
  })]
70020
70174
  })]
70021
70175
  }),
70022
70176
  props.stats.terrain && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70023
- className: "flex items-center gap-2 bg-muted/50 p-2.5 rounded-lg border border-border/50",
70024
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Mountain, { className: "w-4 h-4 text-accent" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70177
+ className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
70178
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70179
+ className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
70180
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Mountain, { className: "w-4 h-4 text-[#478264]" })
70181
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70025
70182
  className: "flex flex-col",
70026
70183
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70027
- className: "text-[10px] uppercase text-muted-foreground font-semibold",
70028
- children: "Terrain"
70184
+ className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
70185
+ children: "Terreno"
70029
70186
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70030
- className: "text-sm font-medium",
70187
+ className: "text-sm font-bold text-[#213f31]",
70031
70188
  children: props.stats.terrain
70032
70189
  })]
70033
70190
  })]
@@ -70035,36 +70192,36 @@ const GolfClubSpotlight = ({ props }) => {
70035
70192
  ]
70036
70193
  }),
70037
70194
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
70038
- className: "text-sm text-foreground/80 leading-relaxed mb-6",
70195
+ className: "text-sm text-[#213f31]/80 leading-relaxed mb-6 font-sans",
70039
70196
  children: props.description
70040
70197
  }),
70041
70198
  props.attractions && props.attractions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70042
- className: "mb-6",
70199
+ className: "mb-6 bg-[#faf8f3] p-4 rounded-xl border border-[#e8d9c0]/50",
70043
70200
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", {
70044
- className: "text-xs font-semibold uppercase tracking-wider text-muted-foreground mb-2",
70045
- children: "Nearby Attractions"
70201
+ className: "text-[10px] font-bold uppercase tracking-widest text-[#213f31]/60 mb-3",
70202
+ children: "Nei dintorni"
70046
70203
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", {
70047
- className: "text-sm space-y-1",
70204
+ className: "text-sm space-y-2 grid grid-cols-1 @lg:grid-cols-2 gap-x-4",
70048
70205
  children: props.attractions.map((attr, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", {
70049
- className: "flex items-center gap-2 text-foreground/80",
70050
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-1 h-1 rounded-full bg-accent" }), attr]
70206
+ className: "flex items-center gap-2 text-[#213f31]/90",
70207
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-1.5 h-1.5 rounded-full bg-[#e8d9c0]" }), attr]
70051
70208
  }, i))
70052
70209
  })]
70053
70210
  }),
70054
70211
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70055
- className: "mt-auto pt-4 border-t border-border flex flex-wrap gap-4 text-xs text-muted-foreground",
70212
+ className: "mt-auto pt-5 border-t border-[#e8d9c0] flex flex-wrap gap-5 text-xs text-[#213f31]/60 font-medium",
70056
70213
  children: [
70057
70214
  props.address && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70058
- className: "flex items-center gap-1.5",
70059
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.address })]
70215
+ className: "flex items-center gap-2",
70216
+ 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
70217
  }),
70061
70218
  props.phone && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70062
- className: "flex items-center gap-1.5",
70063
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Phone, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.phone })]
70219
+ className: "flex items-center gap-2",
70220
+ 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
70221
  }),
70065
70222
  props.email && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70066
- className: "flex items-center gap-1.5",
70067
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Mail, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.email })]
70223
+ className: "flex items-center gap-2",
70224
+ 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
70225
  })
70069
70226
  ]
70070
70227
  })
@@ -70112,52 +70269,51 @@ const GolfClubSpotlightSkeleton = (_props) => {
70112
70269
  };
70113
70270
  //#endregion
70114
70271
  //#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
70272
  const ExperienceGrid = ({ props, children }) => {
70125
70273
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70126
70274
  "data-type": "experience-grid",
70127
- className: cn$1("space-y-6"),
70128
- children: [props.title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
70129
- className: "font-heading text-2xl @md:text-3xl text-foreground",
70130
- children: props.title
70275
+ className: cn$1("space-y-6 @md:space-y-8 py-4"),
70276
+ children: [props.title && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70277
+ className: "flex flex-col items-center mb-8",
70278
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-8 h-px bg-[#478264] mb-4" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
70279
+ className: "font-heading text-3xl @md:text-4xl text-[#213f31] text-center italic",
70280
+ children: props.title
70281
+ })]
70131
70282
  }), props.experiences && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70132
- className: "grid grid-cols-1 @md:grid-cols-2 @lg:grid-cols-3 gap-4",
70283
+ className: "grid grid-cols-1 @md:grid-cols-2 @lg:grid-cols-3 gap-6",
70133
70284
  children: props.experiences.map((exp, i) => {
70134
70285
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70135
- className: "bg-card rounded-xl border border-border p-5 hover:shadow-md transition-shadow flex flex-col h-full relative overflow-hidden",
70286
+ 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
70287
  children: [
70288
+ /* @__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
70289
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70138
70290
  className: "mb-4",
70139
70291
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70140
- className: cn$1("text-[10px] uppercase font-bold tracking-wider px-2 py-1 rounded-md", CATEGORY_COLORS[exp.category?.toLowerCase()] || "bg-accent text-white"),
70292
+ 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
70293
  children: exp.category
70142
70294
  })
70143
70295
  }),
70144
70296
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
70145
- className: "font-semibold text-lg text-foreground mb-1 leading-tight",
70297
+ className: "font-heading text-2xl text-[#213f31] mb-2 leading-tight group-hover:text-[#478264] transition-colors",
70146
70298
  children: exp.name
70147
70299
  }),
70148
70300
  exp.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70149
- className: "flex items-center gap-1 text-xs text-muted-foreground mb-3",
70150
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3 h-3" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: exp.location })]
70301
+ className: "flex items-center gap-1.5 text-xs text-[#213f31]/50 uppercase tracking-widest font-semibold mb-4",
70302
+ 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
70303
  }),
70152
70304
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
70153
- className: "text-sm text-foreground/80 leading-relaxed mb-4 flex-grow",
70305
+ className: "text-sm text-[#213f31]/80 leading-relaxed mb-6 flex-grow font-sans",
70154
70306
  children: exp.description
70155
70307
  }),
70156
70308
  exp.highlight && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70157
- className: "mt-auto pt-3 border-t border-border/50",
70158
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
70159
- className: "text-sm italic text-accent font-serif",
70160
- children: exp.highlight
70309
+ className: "mt-auto pt-4 border-t border-[#e8d9c0]/50",
70310
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
70311
+ className: "text-sm italic text-[#b8955e] font-serif leading-relaxed",
70312
+ children: [
70313
+ "\"",
70314
+ exp.highlight,
70315
+ "\""
70316
+ ]
70161
70317
  })
70162
70318
  })
70163
70319
  ]
@@ -70207,80 +70363,95 @@ const RouteStrip = ({ props }) => {
70207
70363
  if (!props.legs || props.legs.length === 0) return null;
70208
70364
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70209
70365
  "data-type": "route-strip",
70210
- className: cn$1("bg-muted rounded-xl p-6 overflow-hidden"),
70211
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70212
- className: "hidden @md:flex items-center justify-between relative w-full pt-4 pb-2 px-4",
70213
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-1/2 left-8 right-8 h-[2px] border-b-2 border-dashed border-border/60 -translate-y-1/2 z-0" }), props.legs.map((leg, i) => {
70214
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70215
- className: "relative z-10 flex flex-col items-center bg-muted px-4 group",
70216
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70217
- className: "flex items-center justify-center w-10 h-10 rounded-full bg-card border-2 border-primary/20 text-primary shadow-sm group-hover:border-primary transition-colors mb-3",
70218
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TRANSPORT_ICONS[leg.transport?.toLowerCase()] || Car, { className: "w-5 h-5" })
70219
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70220
- className: "flex flex-col items-center text-center max-w-[120px]",
70221
- children: [
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",
70366
+ className: cn$1("bg-[#faf8f3] border border-[#e8d9c0] rounded-2xl p-6 @md:p-10 shadow-sm relative overflow-hidden"),
70367
+ children: [
70368
+ /* @__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" }),
70369
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
70370
+ className: "font-heading text-2xl text-[#213f31] mb-8 text-center italic",
70371
+ children: "Il tuo itinerario"
70372
+ }),
70373
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70374
+ className: "hidden @md:flex items-center justify-between relative w-full px-8 pb-4 z-10",
70375
+ 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) => {
70376
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70377
+ className: "relative z-10 flex flex-col items-center group w-40",
70254
70378
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70255
- className: "flex items-center gap-1.5 mb-0.5",
70379
+ 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",
70380
+ 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]" })]
70381
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70382
+ className: "flex flex-col items-center text-center",
70256
70383
  children: [
70257
70384
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70258
- className: "text-sm font-bold text-foreground",
70385
+ className: "text-sm font-heading text-[#213f31] mb-1 text-xl leading-tight",
70259
70386
  children: leg.from
70260
70387
  }),
70261
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70262
- className: "text-muted-foreground text-xs",
70263
- children: ""
70388
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
70389
+ className: "text-[10px] uppercase tracking-widest text-[#213f31]/40 font-bold mb-2",
70390
+ children: ["verso ", leg.to]
70264
70391
  }),
70265
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70266
- className: "text-sm font-medium text-foreground/80",
70267
- children: leg.to
70392
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70393
+ className: "flex gap-2 bg-white px-3 py-1.5 rounded-sm border border-[#e8d9c0] shadow-sm",
70394
+ children: [
70395
+ leg.time && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70396
+ className: "text-[#b8955e] text-[10px] font-bold uppercase tracking-wider",
70397
+ children: leg.time
70398
+ }),
70399
+ leg.time && leg.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70400
+ className: "text-[#e8d9c0]",
70401
+ children: "|"
70402
+ }),
70403
+ leg.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70404
+ className: "text-[#b8955e] text-[10px] font-bold uppercase tracking-wider",
70405
+ children: leg.distance
70406
+ })
70407
+ ]
70268
70408
  })
70269
70409
  ]
70410
+ })]
70411
+ }, i);
70412
+ })]
70413
+ }),
70414
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70415
+ className: "flex @md:hidden flex-col gap-8 relative pl-6 py-4 z-10",
70416
+ 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) => {
70417
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70418
+ className: "relative z-10 flex items-start gap-6",
70419
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70420
+ className: "flex items-center justify-center w-12 h-12 rounded-full bg-white border border-[#e8d9c0] shadow-sm shrink-0 relative mt-1",
70421
+ 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
70422
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70271
- className: "flex gap-2 mt-1",
70272
- children: [leg.time && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70273
- className: "bg-primary/10 text-primary text-[10px] px-2 py-0.5 rounded font-medium",
70274
- children: leg.time
70275
- }), leg.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70276
- className: "bg-primary/10 text-primary text-[10px] px-2 py-0.5 rounded font-medium",
70277
- children: leg.distance
70423
+ className: "flex flex-col bg-white p-4 rounded-xl border border-[#e8d9c0] shadow-sm w-full",
70424
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70425
+ className: "flex items-center gap-2 mb-2 flex-wrap",
70426
+ children: [
70427
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70428
+ className: "text-xl font-heading text-[#213f31]",
70429
+ children: leg.from
70430
+ }),
70431
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70432
+ className: "text-[#e8d9c0] mx-1",
70433
+ children: "⟶"
70434
+ }),
70435
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70436
+ className: "text-xl font-heading text-[#213f31]/80",
70437
+ children: leg.to
70438
+ })
70439
+ ]
70440
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70441
+ className: "flex gap-3",
70442
+ children: [leg.time && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70443
+ className: "bg-[#faf8f3] border border-[#e8d9c0]/50 text-[#b8955e] text-[9px] uppercase tracking-widest font-bold px-2 py-1 rounded-sm",
70444
+ children: leg.time
70445
+ }), leg.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70446
+ className: "bg-[#faf8f3] border border-[#e8d9c0]/50 text-[#b8955e] text-[9px] uppercase tracking-widest font-bold px-2 py-1 rounded-sm",
70447
+ children: leg.distance
70448
+ })]
70278
70449
  })]
70279
70450
  })]
70280
- })]
70281
- }, i);
70282
- })]
70283
- })]
70451
+ }, i);
70452
+ })]
70453
+ })
70454
+ ]
70284
70455
  });
70285
70456
  };
70286
70457
  //#endregion
@@ -70333,54 +70504,61 @@ const TasteCard = ({ props }) => {
70333
70504
  const Icon = BADGE_ICONS[props.type?.toLowerCase()] || Sparkles;
70334
70505
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70335
70506
  "data-type": "taste-card",
70336
- className: cn$1("bg-card rounded-xl border border-border shadow-sm overflow-hidden flex flex-col @md:flex-row"),
70507
+ className: cn$1("bg-[#faf8f3] rounded-2xl border border-[#e8d9c0] shadow-lg overflow-hidden flex flex-col @md:flex-row group"),
70337
70508
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70338
- className: "w-full @md:w-[40%] min-h-[200px] relative",
70339
- children: [props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
70340
- src: props.imageSrc,
70341
- alt: props.name,
70342
- className: "w-full h-full object-cover"
70343
- }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70344
- className: "w-full h-full bg-gradient-to-br from-accent/20 to-accent/5 flex items-center justify-center p-8",
70345
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "w-12 h-12 text-accent/40" })
70346
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70347
- className: "absolute top-3 left-3 bg-white/90 backdrop-blur-sm px-2.5 py-1 rounded-md shadow-sm flex items-center gap-1.5 z-10",
70348
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "w-3.5 h-3.5 text-accent" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70349
- className: "text-[10px] font-bold uppercase tracking-widest text-foreground",
70350
- children: props.type
70351
- })]
70352
- })]
70509
+ className: "w-full @md:w-[45%] min-h-[250px] relative overflow-hidden",
70510
+ children: [
70511
+ props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
70512
+ src: props.imageSrc,
70513
+ alt: props.name,
70514
+ className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"
70515
+ }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70516
+ className: "w-full h-full bg-[#f4ebd9] flex items-center justify-center p-8",
70517
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "w-16 h-16 text-[#b8955e]/20" })
70518
+ }),
70519
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-black/50 via-transparent to-transparent" }),
70520
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70521
+ 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",
70522
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "w-4 h-4 text-[#8b3a3a]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70523
+ className: "text-[10px] font-bold uppercase tracking-widest text-[#213f31]",
70524
+ children: props.type
70525
+ })]
70526
+ })
70527
+ ]
70353
70528
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70354
- className: "w-full @md:w-[60%] p-5 @md:p-6 flex flex-col",
70529
+ className: "w-full @md:w-[55%] p-6 @md:p-8 flex flex-col bg-white",
70355
70530
  children: [
70356
70531
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
70357
- className: "font-heading text-xl text-foreground mb-1",
70532
+ className: "font-heading text-3xl text-[#213f31] mb-2 leading-tight",
70358
70533
  children: props.name
70359
70534
  }),
70360
70535
  props.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70361
- className: "flex items-center gap-1 text-xs text-muted-foreground mb-4",
70362
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3 h-3" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.location })]
70536
+ className: "flex items-center gap-1.5 text-[10px] uppercase tracking-[0.2em] font-bold text-[#b8955e] mb-5",
70537
+ 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
70538
  }),
70364
70539
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
70365
- className: "text-sm text-foreground/80 leading-relaxed mb-4",
70540
+ className: "text-base text-[#213f31]/80 leading-relaxed mb-6 font-sans",
70366
70541
  children: props.description
70367
70542
  }),
70368
70543
  props.highlights && props.highlights.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70369
- className: "flex flex-wrap gap-2 mb-4",
70544
+ className: "flex flex-wrap gap-2 mb-6",
70370
70545
  children: props.highlights.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70371
- className: "bg-accent/10 text-accent text-xs font-medium px-3 py-1 rounded-full",
70546
+ 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
70547
  children: item
70373
70548
  }, i))
70374
70549
  }),
70375
- props.recommendation && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70376
- className: "mt-auto bg-card border border-accent/20 border-l-2 border-l-accent rounded-r-lg p-3",
70377
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
70378
- className: "text-xs italic text-foreground/90",
70550
+ props.recommendation && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70551
+ 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",
70552
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70553
+ className: "absolute right-0 top-0 bottom-0 opacity-5",
70554
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UtensilsCrossed, { className: "w-16 h-16" })
70555
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
70556
+ className: "text-sm italic text-[#213f31]/90 leading-relaxed relative z-10",
70379
70557
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70380
- className: "font-semibold text-accent not-italic mr-1",
70381
- children: "Must try:"
70558
+ className: "font-sans font-bold uppercase tracking-widest text-[9px] text-[#8b3a3a] not-italic block mb-1",
70559
+ children: "Da non perdere"
70382
70560
  }), props.recommendation]
70383
- })
70561
+ })]
70384
70562
  })
70385
70563
  ]
70386
70564
  })]
@@ -70414,58 +70592,63 @@ const TasteCardSkeleton = (_props) => {
70414
70592
  const StayCard = ({ props }) => {
70415
70593
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70416
70594
  "data-type": "stay-card",
70417
- className: cn$1("bg-card rounded-xl border border-border shadow-sm overflow-hidden flex flex-col relative"),
70595
+ className: cn$1("bg-white rounded-2xl border border-[#e8d9c0] shadow-lg overflow-hidden flex flex-col relative group"),
70418
70596
  children: [
70419
70597
  props.priceRange && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70420
- className: "absolute top-3 right-3 bg-white/90 backdrop-blur-sm px-2 py-1 rounded shadow-sm z-10 text-xs font-bold text-foreground",
70598
+ 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
70599
  children: props.priceRange
70422
70600
  }),
70423
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70424
- className: "w-full aspect-video relative",
70425
- children: props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
70601
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70602
+ className: "w-full aspect-[4/3] relative overflow-hidden",
70603
+ children: [props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
70426
70604
  src: props.imageSrc,
70427
70605
  alt: props.name,
70428
- className: "w-full h-full object-cover"
70606
+ className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"
70429
70607
  }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70430
- className: "w-full h-full bg-muted flex items-center justify-center",
70431
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bed, { className: "w-12 h-12 text-muted-foreground/30" })
70432
- })
70608
+ className: "w-full h-full bg-[#faf8f3] flex items-center justify-center border-b border-[#e8d9c0]",
70609
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bed, { className: "w-12 h-12 text-[#b8955e]/20" })
70610
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 to-transparent" })]
70433
70611
  }),
70434
70612
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70435
- className: "p-5 flex flex-col flex-grow",
70613
+ className: "p-6 @md:p-8 flex flex-col flex-grow relative bg-white",
70436
70614
  children: [
70437
70615
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70438
- className: "flex items-center gap-2 mb-2",
70616
+ className: "absolute -top-6 left-6 right-6 flex items-center justify-between",
70439
70617
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70440
- className: "text-[10px] font-bold uppercase tracking-wider text-accent bg-accent/10 px-2 py-0.5 rounded",
70618
+ className: "text-[10px] font-bold uppercase tracking-widest text-white bg-[#b8955e] px-3 py-1.5 rounded-sm shadow-md",
70441
70619
  children: props.type
70442
70620
  }), props.stars && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70443
- className: "flex text-yellow-500 text-xs tracking-tighter",
70621
+ className: "flex gap-0.5 text-[#e8d9c0] text-sm tracking-tighter bg-[#213f31] px-2 py-1 rounded-sm shadow-md",
70444
70622
  children: "★".repeat(props.stars)
70445
70623
  })]
70446
70624
  }),
70447
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
70448
- className: "font-heading text-xl text-foreground leading-tight mb-1",
70449
- children: props.name
70450
- }),
70451
- props.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70452
- className: "flex items-center gap-1 text-xs text-muted-foreground mb-4",
70453
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3 h-3" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.location })]
70625
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70626
+ className: "mt-2",
70627
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
70628
+ className: "font-heading text-3xl text-[#213f31] leading-tight mb-2",
70629
+ children: props.name
70630
+ }), props.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70631
+ className: "flex items-center gap-1.5 text-[10px] uppercase tracking-widest font-bold text-[#213f31]/50 mb-5",
70632
+ 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 })]
70633
+ })]
70454
70634
  }),
70455
70635
  props.features && props.features.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70456
- className: "flex flex-wrap gap-2 mb-4",
70636
+ className: "flex flex-col gap-2 mb-6",
70457
70637
  children: props.features.map((feature, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70458
- className: "flex items-center gap-1 text-[11px] font-medium text-foreground/70 bg-muted px-2 py-1 rounded",
70459
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CircleCheck, { className: "w-3 h-3 text-accent" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: feature })]
70638
+ className: "flex items-start gap-3 text-sm text-[#213f31]/80 font-sans",
70639
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70640
+ className: "mt-0.5 bg-[#b8955e]/10 p-0.5 rounded-full shrink-0",
70641
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Check, { className: "w-3 h-3 text-[#b8955e]" })
70642
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: feature })]
70460
70643
  }, i))
70461
70644
  }),
70462
70645
  props.whyPerfect && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70463
- className: "mt-auto bg-accent/5 border-l-2 border-accent rounded-r-lg p-3",
70646
+ className: "mt-auto bg-[#faf8f3] border border-[#e8d9c0] rounded-xl p-5 shadow-sm",
70464
70647
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
70465
- className: "text-sm italic text-foreground/80 leading-relaxed",
70648
+ className: "text-sm italic text-[#213f31]/80 leading-relaxed",
70466
70649
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70467
- className: "font-semibold not-italic block text-xs text-foreground mb-0.5",
70468
- children: "Why it's perfect:"
70650
+ className: "font-sans font-bold not-italic block text-[9px] uppercase tracking-[0.2em] text-[#b8955e] mb-1.5",
70651
+ children: "L'opinione dell'esperto"
70469
70652
  }), props.whyPerfect]
70470
70653
  })
70471
70654
  })
@@ -70504,61 +70687,78 @@ const StayCardSkeleton = (_props) => {
70504
70687
  //#endregion
70505
70688
  //#region src/blocks/trip-summary.tsx
70506
70689
  const TripSummary = ({ props }) => {
70507
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70690
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70508
70691
  "data-type": "trip-summary",
70509
- className: cn$1("bg-primary text-primary-foreground rounded-xl px-6 py-12 @md:px-12 relative overflow-hidden"),
70510
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70511
- className: "relative z-10 flex flex-col items-center max-w-4xl mx-auto space-y-10",
70512
- children: [
70513
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
70514
- className: "font-heading text-3xl @md:text-4xl text-center",
70515
- children: props.title
70516
- }),
70517
- props.stats && props.stats.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
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",
70692
+ className: cn$1("bg-[#213f31] text-[#faf8f3] rounded-2xl px-6 py-16 @md:px-12 relative overflow-hidden shadow-2xl"),
70693
+ children: [
70694
+ /* @__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" }),
70695
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-black/40 to-transparent z-0" }),
70696
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70697
+ className: "relative z-10 flex flex-col items-center max-w-4xl mx-auto space-y-12",
70698
+ children: [
70699
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70700
+ className: "text-center space-y-4",
70521
70701
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70522
- className: "font-heading text-4xl @md:text-5xl italic text-accent mb-1",
70523
- children: stat.value
70524
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70525
- className: "text-xs uppercase tracking-widest font-semibold text-primary-foreground/70",
70526
- children: stat.label
70702
+ className: "text-[10px] uppercase tracking-[0.3em] font-bold text-[#e8d9c0]",
70703
+ children: "Il Tuo Viaggio in Sintesi"
70704
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
70705
+ className: "font-heading italic text-4xl @md:text-5xl text-center leading-tight",
70706
+ children: props.title
70527
70707
  })]
70528
- }, i))
70529
- }),
70530
- props.highlights && props.highlights.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70531
- className: "bg-primary-foreground/10 rounded-2xl p-6 @md:p-8 w-full max-w-2xl backdrop-blur-sm",
70532
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", {
70533
- className: "grid grid-cols-1 @md:grid-cols-2 gap-y-4 gap-x-8",
70534
- children: props.highlights.map((hl, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", {
70535
- className: "flex items-start gap-3",
70536
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Check, { className: "w-5 h-5 text-accent shrink-0" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70537
- className: "text-sm font-medium",
70538
- children: hl
70708
+ }),
70709
+ props.stats && props.stats.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70710
+ className: "flex flex-wrap justify-center gap-10 @md:gap-20 w-full py-8 border-y border-white/10",
70711
+ children: props.stats.map((stat, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70712
+ className: "flex flex-col items-center",
70713
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70714
+ className: "font-heading text-5xl @md:text-6xl italic text-[#e8d9c0] mb-2 drop-shadow-md",
70715
+ children: stat.value
70716
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70717
+ className: "text-[10px] uppercase tracking-[0.2em] font-bold text-white/70",
70718
+ children: stat.label
70539
70719
  })]
70540
70720
  }, i))
70721
+ }),
70722
+ props.highlights && props.highlights.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70723
+ className: "w-full max-w-3xl",
70724
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
70725
+ className: "text-center font-sans text-xs uppercase tracking-[0.2em] font-bold text-[#e8d9c0] mb-8",
70726
+ children: "Highlights dell'Esperienza"
70727
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", {
70728
+ className: "grid grid-cols-1 @md:grid-cols-2 gap-y-6 gap-x-12",
70729
+ children: props.highlights.map((hl, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", {
70730
+ className: "flex items-start gap-4",
70731
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70732
+ className: "mt-1 bg-[#478264] rounded-full p-1 shrink-0 shadow-md border border-[#478264]/20",
70733
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Check, { className: "w-3 h-3 text-white" })
70734
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70735
+ className: "text-sm font-medium leading-relaxed text-white/90",
70736
+ children: hl
70737
+ })]
70738
+ }, i))
70739
+ })]
70740
+ }),
70741
+ props.closingMessage && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70742
+ className: "pt-8 w-full max-w-2xl text-center",
70743
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
70744
+ className: "font-heading italic text-2xl @md:text-3xl text-[#e8d9c0] leading-snug",
70745
+ children: [
70746
+ "“",
70747
+ props.closingMessage,
70748
+ "”"
70749
+ ]
70750
+ })
70751
+ }),
70752
+ props.ctaText && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70753
+ className: "mt-8",
70754
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
70755
+ 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",
70756
+ children: props.ctaText
70757
+ })
70541
70758
  })
70542
- }),
70543
- props.closingMessage && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
70544
- className: "font-heading italic text-xl @md:text-2xl text-center text-primary-foreground/90 max-w-2xl",
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
- })
70759
+ ]
70760
+ })
70761
+ ]
70562
70762
  });
70563
70763
  };
70564
70764
  //#endregion
@@ -70608,24 +70808,38 @@ const TripSummarySkeleton = (_props) => {
70608
70808
  const InsiderTip = ({ props }) => {
70609
70809
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70610
70810
  "data-type": "insider-tip",
70611
- className: cn$1("bg-accent/5 border-l-4 border-accent rounded-r-xl px-5 py-4 @md:px-6 @md:py-5 flex gap-4"),
70612
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Lightbulb, { className: "w-6 h-6 text-accent shrink-0 mt-0.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70613
- className: "flex flex-col space-y-1.5",
70614
- children: [
70615
- props.title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", {
70616
- className: "font-semibold text-foreground",
70617
- children: props.title
70618
- }),
70619
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
70620
- className: "font-sans text-sm text-foreground/90 leading-relaxed",
70621
- children: props.text
70622
- }),
70623
- props.source && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70624
- className: "text-xs italic text-muted-foreground mt-2",
70625
- children: props.source
70626
- })
70627
- ]
70628
- })]
70811
+ 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"),
70812
+ children: [
70813
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute left-0 top-0 bottom-0 w-1.5 bg-[#b8955e]" }),
70814
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70815
+ className: "bg-white p-3 rounded-full shadow-sm shrink-0 h-fit border border-[#e8d9c0]/50",
70816
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Lightbulb, { className: "w-6 h-6 text-[#b8955e]" })
70817
+ }),
70818
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
70819
+ className: "flex flex-col space-y-2",
70820
+ children: [
70821
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
70822
+ className: "flex items-center gap-2",
70823
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70824
+ className: "text-[9px] uppercase tracking-widest font-bold text-[#b8955e] bg-[#b8955e]/10 px-2 py-1 rounded-sm",
70825
+ children: "Il consiglio del concierge"
70826
+ })
70827
+ }),
70828
+ props.title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", {
70829
+ className: "font-heading text-xl text-[#213f31] leading-tight",
70830
+ children: props.title
70831
+ }),
70832
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
70833
+ className: "font-sans text-sm text-[#213f31]/80 leading-relaxed",
70834
+ children: props.text
70835
+ }),
70836
+ props.source && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
70837
+ className: "text-[10px] uppercase tracking-widest font-bold text-[#213f31]/40 mt-3 block",
70838
+ children: props.source
70839
+ })
70840
+ ]
70841
+ })
70842
+ ]
70629
70843
  });
70630
70844
  };
70631
70845
  //#endregion