@ctonti/ask-golf-veneto 1.0.4 → 1.0.6

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