{
  "site": {
    "header": {
      "navHome": "Home",
      "navVilla": "Villa",
      "navRooms": "Rooms",
      "navGallery": "Gallery",
      "navExperiences": "Experiences",
      "navContact": "Contact",
      "ctaReserve": "Reserve",
      "menuToggleAriaOpen": "Open menu",
      "menuToggleAriaClose": "Close menu",
      "href": {
        "index": "/",
        "villa": "/villa",
        "rooms": "/rooms",
        "gallery": "/gallery",
        "experiences": "/experiences",
        "contact": "/contact",
        "reserve": "/reserve"
      }
    },
    "footer": {
      "instagramLabel": "Instagram",
      "instagramHref": "",
      "legalSuffix": "Private estate.",
      "legalNav": {
        "privacyLabel": "Privacy",
        "privacyHref": "/privacy",
        "cookiesLabel": "Cookies",
        "cookiesHref": "/cookies",
        "termsLabel": "Terms",
        "termsHref": "/terms"
      },
      "vatNumber": "",
      "companyInfo": "",
      "siteCredits": "",
      "creatorCredits": {
        "intro": "",
        "brandName": "",
        "href": "",
        "logoUrl": ""
      }
    },
    "name": "Nevada Infinity Villa",
    "tagline": "A private refuge on the Mediterranean ridge",
    "logoUrl": "assets/images/site-logo.png",
    "logoUrlLight": "",
    "logoAlt": "Nevada Infinity Villa",
    "logoSize": {
      "width": {
        "value": "",
        "unit": "rem"
      },
      "heightMode": "clamp",
      "heightSingle": {
        "value": "2.55",
        "unit": "rem"
      },
      "heightClamp": {
        "min": {
          "value": "1.85",
          "unit": "rem"
        },
        "ideal": {
          "value": "3.5",
          "unit": "vw"
        },
        "max": {
          "value": "2.55",
          "unit": "rem"
        }
      }
    },
    "splashScreen": {
      "enabled": false,
      "logoUrl": "",
      "background": "",
      "minMs": 650,
      "fadeMs": 420
    },
    "email": "reservations@nevadainfinityvilla.com",
    "phone": "+39 3714316799",
    "address": "Chemin des Oliviers, 83990 Saint-Tropez, France",
    "social": {
      "instagram": "https://instagram.com/"
    },
    "conciergeRail": {
      "enabled": true,
      "phoneDisplay": "+33 4 00 00 00 00",
      "telHref": "tel:+33400000000",
      "label": "CONCIERGE",
      "hours": "9:00 — 21:00",
      "conciergeTitle": "Luxury concierge",
      "callButtonLabel": "Call",
      "whatsappButtonLabel": "WhatsApp",
      "emailButtonLabel": "Email",
      "email": "",
      "whatsappHref": "https://wa.me/33123456789"
    },
    "formNotifications": {
      "endpoint": "",
      "token": ""
    },
    "formEmail": {
      "emailSiteName": "",
      "fromDisplayName": "",
      "accentColor": "#c9a962",
      "outerBg": "#f4f2ee",
      "panelBg": "#ffffff",
      "bodyTextColor": "#333333",
      "logoUrlOverride": "",
      "emailHeadline": "",
      "ownerSubjectContact": "[{siteName}] New contact message",
      "ownerSubjectExperience": "[{siteName}] New experience request",
      "guestSubjectContact": "[{siteName}] We received your message",
      "guestSubjectExperience": "[{siteName}] Request received",
      "ownerLeadContact": "Someone submitted the contact form on your website.",
      "ownerLeadExperience": "A guest submitted an experience request on your website.",
      "guestLeadContact": "Thank you for your message, {guestName}. We will get back to you as soon as we can.",
      "guestLeadExperience": "Thank you for your request, {guestName}. We have received it and will contact you shortly.",
      "footerNote": "This message was sent from your website form.",
      "ctaSharedLabel": "",
      "ctaSharedUrl": "",
      "ctaOwnerLabel": "",
      "ctaOwnerUrl": "",
      "ctaGuestLabel": "",
      "ctaGuestUrl": ""
    },
    "databaseApi": {
      "enabled": true,
      "baseUrl": "/luxy-api.php",
      "publicToken": "ps_7f3a9c2d8e1b4f6a9c0d2e5f8a1b3c4d",
      "useServerContent": false,
      "syncDraftToServer": false
    },
    "licenseRemote": {
      "url": "https://brandleemedia.com/licenses/license-remote.NEVADA-READY.json",
      "licenseKey": "LUXY-NIV-EGMGEFUMBD",
      "hmacSecret": "wa9I1ogluYmqZaB2JnRazUelFmH0wdUkt3Kd8kDPR1vv8kW"
    },
    "requireLicense": false,
    "theme": "dark",
    "uiUpdatePrompt": true,
    "interfaceUpdateManifestUrl": "",
    "interfaceInstallEndpoint": "/luxy-interface-install.php",
    "uiBuildManifestUrl": "data/site-build.json",
    "uiUpdateMessage": "",
    "uiUpdateButtonLabel": "",
    "cookieBanner": {
      "enabled": true,
      "message": "We use cookies and similar tools for analytics (if configured), to remember your language, and when you send forms. By continuing you agree; you can also choose essential cookies only.",
      "privacyHref": "/cookies",
      "acceptLabel": "Accept all",
      "essentialLabel": "Essential only",
      "privacyLinkLabel": "Privacy / cookie policy",
      "infoDismissLabel": "Close",
      "bannerRejectOptionalAriaLabel": "Reject optional cookies and close",
      "bannerDismissAriaLabel": "Close cookie notice",
      "consentExpiryDays": 365,
      "reopenPrefsLabel": "Cookie settings",
      "prefsModalTitle": "Cookie preferences",
      "prefsModalIntro": "Review your choice or switch between all cookies (including analytics, if configured) and essential cookies only. Saving reloads the page so scripts match your choice.",
      "prefsCurrentAll": "Current choice: all cookies accepted (including analytics if configured).",
      "prefsCurrentEssential": "Current choice: essential only — analytics and marketing tags are not loaded.",
      "prefsCurrentNone": "No cookie choice saved yet for this browser.",
      "prefsCloseLabel": "Close",
      "prefsRecentHeading": "Recent changes (this device)",
      "prefsNoConsentModeNote": "Optional analytics are set to load without a prior consent step. To let visitors refuse analytics from this panel, set tracking.requireCookieConsent to true in the admin.",
      "cookieDefinitions": [
        {
          "name": "luxy_cookie_consent",
          "category": "Essential",
          "duration": "12 months (or until you clear site data)",
          "description": "Remembers your cookie choice (accept all vs essential only)."
        },
        {
          "name": "luxy_cookie_consent_at",
          "category": "Essential",
          "duration": "12 months (or until you clear site data)",
          "description": "Timestamp for renewing consent after the expiry period set in the admin."
        },
        {
          "name": "luxy_lang",
          "category": "Essential / functional",
          "duration": "12 months (or until you clear site data)",
          "description": "Stores the selected site language (EN/IT) for return visits."
        },
        {
          "name": "_ga, _ga_* (if GA4 loads)",
          "category": "Analytics",
          "duration": "Per Google policy",
          "description": "Google Analytics 4 — only if you accept all cookies and configure a measurement ID."
        },
        {
          "name": "_pk_* (if Matomo loads)",
          "category": "Analytics",
          "duration": "Per your Matomo configuration",
          "description": "Matomo — only if you accept all cookies and configure Matomo URL + site ID."
        }
      ]
    },
    "adminStudio": {
      "requirePasswordEachVisit": false,
      "password": "",
      "verifyStudioPasswordOnServer": true
    },
    "publicMaintenance": {
      "enabled": false,
      "showLogo": true,
      "logoUrl": "",
      "accentColor": "#d6c6a8",
      "backgroundCss": "#0a0a0a",
      "eyebrow": "Temporary closure",
      "headline": "We’re updating the site",
      "body": "We’ll be back shortly. Thank you for your patience.",
      "unlockButtonLabel": "Continue to site",
      "passwordUnlockHint": "Team access: use the same password as Content studio (Admin). Unlock lasts about 12 hours in this browser."
    }
  },
  "seo": {
    "canonicalBase": "https://nevadainfinityvilla.com",
    "faviconUrl": "assets/favicon.svg",
    "appleTouchIcon": "",
    "themeColor": "#0a0a0a",
    "referrerPolicy": "strict-origin-when-cross-origin",
    "twitterSite": "",
    "defaultOgImage": "https://nevadainfinityvilla.com/Nevada%20Infinity%20Villa%20front.png",
    "pages": {
      "index": {
        "title": "Nevada Infinity Villa — Private Luxury Stay | Capri Views",
        "description": "Not just Italian — authentically Italian. A private luxury stay overlooking Capri, crafted for experience.",
        "ogTitle": "Nevada Infinity Villa — Authentically Italian",
        "ogDescription": "A private luxury stay overlooking Capri. Explore the villa and reserve your dates.",
        "twitterCard": "summary_large_image"
      },
      "villa": {
        "title": "The Villa — Architecture & Story | Nevada Infinity Villa",
        "description": "Discover the narrative of Nevada Infinity Villa: stone, light, and landscape woven into a single private home.",
        "ogTitle": "The Villa — Nevada Infinity Villa",
        "ogDescription": "Editorial storytelling and architectural calm.",
        "twitterCard": "summary_large_image"
      },
      "rooms": {
        "title": "Rooms & Suites | Nevada Infinity Villa",
        "description": "Five restful chambers, each with its own aspect of the garden or sea. Details that reward slow living.",
        "ogTitle": "Rooms & Suites",
        "ogDescription": "Luxury accommodation with private terraces.",
        "twitterCard": "summary_large_image"
      },
      "gallery": {
        "title": "Gallery | Nevada Infinity Villa",
        "description": "A visual journal of the estate — pools, courtyards, and golden hours.",
        "ogTitle": "Gallery",
        "ogDescription": "Cinematic photography of Nevada Infinity Villa.",
        "twitterCard": "summary_large_image"
      },
      "contact": {
        "title": "Contact | Nevada Infinity Villa",
        "description": "Speak with our house manager for availability, celebrations, and bespoke arrangements.",
        "ogTitle": "Contact Nevada Infinity Villa",
        "ogDescription": "Direct, discreet correspondence.",
        "twitterCard": "summary"
      },
      "reserve": {
        "title": "Reserve Your Stay | Nevada Infinity Villa",
        "description": "Check availability and complete your reservation through our secure booking partner.",
        "ogTitle": "Reserve Nevada Infinity Villa",
        "ogDescription": "Check availability and complete your reservation.",
        "twitterCard": "summary_large_image"
      },
      "experiences": {
        "title": "Experiences | Nevada Infinity Villa",
        "description": "Private chef, sea, riding, tastings and classes — request your preferred dates.",
        "ogTitle": "Experiences at the villa",
        "ogDescription": "Interactive tiles, full detail and a simple date request form.",
        "twitterCard": "summary_large_image"
      },
      "privacy": {
        "title": "Privacy policy | Nevada Infinity Villa",
        "description": "How we process personal data when you use this website. Replace with counsel-approved text.",
        "ogTitle": "Privacy policy",
        "ogDescription": "Information on personal data processing.",
        "twitterCard": "summary",
        "robots": "index, follow"
      },
      "cookies": {
        "title": "Cookie policy | Nevada Infinity Villa",
        "description": "How this website uses cookies and similar technologies. Replace with counsel-approved text.",
        "ogTitle": "Cookie policy",
        "ogDescription": "Cookie and similar technologies on this site.",
        "twitterCard": "summary",
        "robots": "index, follow"
      },
      "terms": {
        "title": "Terms & conditions | Nevada Infinity Villa",
        "description": "Terms of use for this website. Replace with counsel-approved text.",
        "ogTitle": "Terms & conditions",
        "ogDescription": "Terms of use of this website.",
        "twitterCard": "summary",
        "robots": "index, follow"
      }
    }
  },
  "sectionsVisibility": {
    "index": {
      "hero": true,
      "intro": true,
      "highlights": true,
      "roomsPreview": true,
      "experiences": true,
      "imageBreak": true,
      "bookingCta": true,
      "bookingSearchStrip": true
    }
  },
  "legal": {
    "privacy": {
      "eyebrow": "Legal",
      "title": "Privacy policy",
      "noticeHtml": "<strong>Template only.</strong> Replace this entire page with text reviewed by qualified legal counsel for your jurisdiction, data flows, and business (EU/UK GDPR, ePrivacy, etc.).",
      "bodyHtml": "<p><strong>Data controller.</strong> Identify the entity name, address, and contact (e.g. privacy email).</p><p><strong>What we collect.</strong> Describe categories: contact form fields, technical logs, analytics (if any), language preference, booking-related data, etc.</p><p><strong>Purpose and legal basis.</strong> Contract, legitimate interest, consent — as applicable.</p><p><strong>Retention.</strong> How long you keep each category of data.</p><p><strong>Recipients &amp; transfers.</strong> Hosting, email, analytics vendors; transfers outside the EEA if relevant (safeguards).</p><p><strong>Rights.</strong> Access, rectification, erasure, restriction, portability, objection, complaint to a supervisory authority.</p><p><strong>Cookies &amp; similar technologies.</strong> Summarise and link to your <a href='/cookies'>cookie policy</a>.</p><p><strong>Updates.</strong> How you notify users of material changes.</p><p><strong>Contact.</strong> How to reach you for privacy requests.</p>"
    },
    "cookies": {
      "eyebrow": "Legal",
      "title": "Cookie policy",
      "noticeHtml": "<strong>Template only.</strong> Align this page with your actual cookies/scripts (essential, analytics, marketing), your consent banner, and legal advice.",
      "bodyHtml": "<p><strong>What are cookies.</strong> Short definition for your audience.</p><p><strong>How we use them on this site.</strong> For example:</p><ul><li><strong>Strictly necessary</strong> — e.g. remembering cookie choices, security, load balancing (usually no consent required under ePrivacy where applicable).</li><li><strong>Functional</strong> — e.g. language preference.</li><li><strong>Analytics</strong> — only if you load GA/Matomo <em>after</em> consent where required.</li><li><strong>Marketing</strong> — only if you use pixels/tags after consent.</li></ul><p><strong>Third parties.</strong> List providers (Google Fonts, maps embeds, booking partners, etc.) and link to their policies where relevant.</p><p><strong>Managing preferences.</strong> Explain the site banner and how users can change or withdraw consent.</p><p><strong>More on personal data.</strong> See the <a href='/privacy'>privacy policy</a>.</p>"
    },
    "terms": {
      "eyebrow": "Legal",
      "title": "Terms & conditions",
      "noticeHtml": "<strong>Template only.</strong> These are placeholders for <em>website use</em> (not a substitute for booking/rental contracts). Have them reviewed for your country and business model.",
      "bodyHtml": "<p><strong>Who we are.</strong> Site owner / brand name and contact.</p><p><strong>Acceptance.</strong> Using the site implies acceptance of these terms (adjust as advised).</p><p><strong>Information on the site.</strong> Accuracy, updates, no professional advice disclaimer if needed.</p><p><strong>Intellectual property.</strong> Text, images, trademarks.</p><p><strong>Links.</strong> Third-party sites; no endorsement.</p><p><strong>Limitation of liability.</strong> As permitted by law — counsel to draft.</p><p><strong>Applicable law &amp; jurisdiction.</strong> Specify governing law and courts.</p><p><strong>Privacy.</strong> Cross-reference the <a href='/privacy'>privacy policy</a> and <a href='/cookies'>cookie policy</a>.</p>"
    }
  },
  "home": {
    "hero": {
      "eyebrow": "Exclusive villa",
      "title": "Not Just Italian. Authentically Italian.",
      "subtitle": "A private luxury stay overlooking Capri, where every detail is crafted for experience",
      "mediaType": "image",
      "mediaFit": "cover-center",
      "imageUrl": "https://nevadainfinityvilla.com/Nevada%20Infinity%20Villa%20front.png",
      "videoUrl": "",
      "ctaLabel": "Explore the villa —",
      "ctaHref": "/villa"
    },
    "intro": {
      "label": "Editorial",
      "headline": "A house composed in silence",
      "body": "Designed as a single narrative of space — courtyards that breathe, corridors that pause, and glass that frames nothing but sky. Here, luxury is measured in stillness, not spectacle.",
      "quote": "We host one party at a time. Always.",
      "imageUrl": "https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?q=80&w=1600&auto=format&fit=crop",
      "imageFit": "cover-center",
      "imageAlt": "Interior architecture — still light and pale stone"
    },
    "highlights": {
      "label": "Highlights",
      "headline": "What defines the stay",
      "items": [
        {
          "title": "Sea & sky",
          "text": "Terraces oriented for sunrise and the long dissolve of evening light.",
          "imageUrl": "https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?q=80&w=1200&auto=format&fit=crop",
          "imageFit": "cover-center"
        },
        {
          "title": "Culinary rhythm",
          "text": "A kitchen made for a private chef — or your own unhurried mornings.",
          "imageUrl": "https://images.unsplash.com/photo-1600585154340-be6161a56a0c?q=80&w=1200&auto=format&fit=crop",
          "imageFit": "cover-center"
        },
        {
          "title": "Wellness, understated",
          "text": "Pool, shaded sala, and treatment room — present, never loud.",
          "imageUrl": "https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?q=80&w=1200&auto=format&fit=crop",
          "imageFit": "cover-center"
        }
      ]
    },
    "roomsPreview": {
      "label": "Chambers",
      "headline": "Rooms to disappear into",
      "body": "Each suite has its own cadence — linen, stone, and views that feel borrowed from a painting.",
      "ctaLabel": "View all rooms",
      "ctaHref": "/rooms",
      "featuredImageUrl": "https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?q=80&w=1600&auto=format&fit=crop",
      "imageFit": "cover-center"
    },
    "experiences": {
      "label": "Experiences",
      "headline": "The days arrange themselves",
      "items": [
        {
          "title": "Wine at anchor",
          "text": "A skipper knows the quiet coves.",
          "icon": "sea",
          "imageUrl": "",
          "imageFit": "cover-center"
        },
        {
          "title": "Markets at dawn",
          "text": "Your house manager curates the basket.",
          "icon": "market",
          "imageUrl": "",
          "imageFit": "cover-center"
        },
        {
          "title": "Evening court",
          "text": "Candlelight and citrus on the terrace.",
          "icon": "evening",
          "imageUrl": "",
          "imageFit": "cover-center"
        }
      ]
    },
    "imageBreak": {
      "imageUrl": "https://images.unsplash.com/photo-1600047509807-ba8f99d2cdde?q=80&w=2400&auto=format&fit=crop",
      "imageFit": "cover-center",
      "secondaryImageUrl": "https://images.unsplash.com/photo-1600585154340-be6161a56a0c?q=80&w=1200&auto=format&fit=crop",
      "secondaryImageFit": "cover-center",
      "caption": "Late afternoon — the pool holds the last of the sun"
    },
    "bookingCta": {
      "headline": "Reserve your dates",
      "body": "Private calendar. Discreet correspondence. A single conversation to align every detail.",
      "primaryLabel": "Check availability",
      "primaryHref": "/reserve",
      "secondaryLabel": "Contact",
      "secondaryHref": "/contact"
    },
    "bookingStrip": {
      "eyebrow": "Availability",
      "dateRangeLabel": "Stay dates",
      "checkIn": "Check-in",
      "checkOut": "Check-out",
      "dateEmptyDisplay": "—",
      "dateRangePlaceholder": "Check-in — Check-out",
      "guestsLegend": "Guests",
      "guestsDecreaseAria": "Decrease",
      "guestsIncreaseAria": "Increase",
      "adults": "Adults",
      "children": "Children",
      "submit": "Search",
      "openInNewTab": true,
      "dateError": "Select a full range or leave dates empty.",
      "rangeError": "Check-out must be after check-in.",
      "rangeIncompleteError": "Select both arrival and departure, or clear the field.",
      "configError": "Set booking.searchBaseUrl: Admin → Home · booking CTA & search strip (first field), or Reservations / booking copy."
    }
  },
  "villa": {
    "hero": {
      "eyebrow": "The estate",
      "title": "Built into the ridge",
      "lede": "Stone, light, and landscape — a single private home on the ridge.",
      "imageUrl": "https://images.unsplash.com/photo-1600585154340-be6161a56a0c?q=80&w=2400&auto=format&fit=crop",
      "imageFit": "cover-center"
    },
    "narrative": {
      "eyebrow": "The property",
      "headline": "Living spaces beyond the suites",
      "body": "What follows is the story of the house — courtyards, salons, outdoor rooms, and how the plan meets the land. Sleeping quarters, photos, and amenities live on the Chambers page.",
      "roomsLinkLabel": "Guest chambers",
      "roomsHref": "/rooms",
      "spotlightsEyebrow": "Also in the house",
      "spotlights": [
        {
          "title": "Garden suite",
          "text": "Ground-floor calm opening to the olive court — a self-contained rhythm for guests who prefer privacy at garden level.",
          "imageUrl": "https://images.unsplash.com/photo-1616594039964-ae9021a400a0?q=80&w=900&auto=format&fit=crop",
          "imageFit": "cover-center"
        },
        {
          "title": "Belvédère room",
          "text": "Corner of glass where the morning is the main event; a compact chamber with a lounge nook and long views.",
          "imageUrl": "https://images.unsplash.com/photo-1617806118233-18e1de247200?q=80&w=900&auto=format&fit=crop",
          "imageFit": "cover-center"
        },
        {
          "title": "Pool pavilion",
          "text": "A detached studio a few steps from the water — ideal for teenagers, staff, or a quiet work retreat with its own entrance.",
          "imageUrl": "https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?q=80&w=900&auto=format&fit=crop",
          "imageFit": "cover-center"
        }
      ]
    },
    "cta": {
      "headline": "Stay with us"
    },
    "planTour": {
      "eyebrow": "Plan & visit",
      "title": "Floor plan & virtual tour",
      "lede": "Study the layout at a glance, then open the walkthrough in a new tab or embed your Matterport link below.",
      "floorPlan": {
        "imageUrl": "",
        "alt": "Villa floor plan",
        "caption": ""
      },
      "embedEyebrow": "Virtual tour",
      "virtualTourEmbedUrl": "",
      "virtualTourUrl": "",
      "virtualTourLinkLabel": "Open virtual tour"
    },
    "blocks": [
      {
        "type": "textImage",
        "label": "Stone",
        "headline": "Stone from the locality, glass that hesitates",
        "body": "The villa settles into the slope without announcing itself. Walls carry the temperature of the day; shaded loggias invite you to read, to do very little, and to mean it.",
        "imageUrl": "https://images.unsplash.com/photo-1600585154526-990dced4db0d?q=80&w=1400&auto=format&fit=crop",
        "imageFit": "cover-center",
        "imagePosition": "right",
        "quote": "The wall remembers the sun before the room does.",
        "attribution": "House notes"
      },
      {
        "type": "textImage",
        "label": "Space",
        "headline": "Courtyards as punctuation",
        "body": "Each courtyard is a full stop — a pause before the next movement of the plan. Fountains are barely audible. The landscape is edited, not decorated.",
        "imageUrl": "https://images.unsplash.com/photo-1600607687644-c7171b42498b?q=80&w=1400&auto=format&fit=crop",
        "imageFit": "cover-center",
        "imagePosition": "right",
        "quote": "Architecture is correct only when it dissolves into the life lived inside it.",
        "attribution": "House notes, Nevada Infinity Villa"
      },
      {
        "type": "textImage",
        "label": "Floor",
        "headline": "Spaces that hold gatherings without performance",
        "body": "The main salon opens wide for convivial evenings, then contracts for two. Acoustics are softened; lighting is zoned for film, for dinner, for sleep.",
        "imageUrl": "https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?q=80&w=1400&auto=format&fit=crop",
        "imageFit": "cover-center",
        "imagePosition": "right",
        "quote": "Twelve voices at dinner, then silence for two — the same room, different scale.",
        "attribution": "House notes"
      }
    ]
  },
  "rooms": {
    "intro": {
      "label": "Accommodation",
      "headline": "Five chambers, one tone",
      "body": "Generous proportions, pale materials, hardware that disappears. Each room includes climate control, blackout, and a private outdoor moment.",
      "imageUrl": "https://images.unsplash.com/photo-1631889993958-ae6c0faa3dc3?q=80&w=2000&auto=format&fit=crop",
      "imageFit": "cover-center"
    },
    "cta": {
      "headline": "Request a private itinerary"
    },
    "items": [
      {
        "name": "Maison Master",
        "area": "72 m²",
        "description": "Panoramic sea terrace, soaking tub carved from a single stone, walk-in wardrobe.",
        "amenities": [
          "Sea view",
          "Private terrace",
          "Dual vanity",
          "Bathtub"
        ],
        "imageUrl": "https://images.unsplash.com/photo-1631889993958-ae6c0faa3dc3?q=80&w=1200&auto=format&fit=crop",
        "imageFit": "cover-center"
      },
      {
        "name": "Garden Suite",
        "area": "48 m²",
        "description": "Opens to the olive court; ideal for guests who prefer ground-floor calm.",
        "amenities": [
          "Garden access",
          "Rain shower",
          "Linen closet"
        ],
        "imageUrl": "https://images.unsplash.com/photo-1616594039964-ae9021a400a0?q=80&w=1200&auto=format&fit=crop",
        "imageFit": "cover-center"
      },
      {
        "name": "Belvédère Room",
        "area": "40 m²",
        "description": "Corner of glass; the morning is the main event.",
        "amenities": [
          "Corner windows",
          "Lounge",
          "Mini bar"
        ],
        "imageUrl": "https://images.unsplash.com/photo-1617806118233-18e1de247200?q=80&w=1200&auto=format&fit=crop",
        "imageFit": "cover-center"
      },
      {
        "name": "Pool Pavilion",
        "area": "36 m²",
        "description": "Detached studio steps from the water; perfect for teenagers or staff.",
        "amenities": [
          "Kitchenette",
          "Private entrance",
          "Outdoor shower"
        ],
        "imageUrl": "https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?q=80&w=1200&auto=format&fit=crop",
        "imageFit": "cover-center"
      }
    ]
  },
  "gallery": {
    "intro": {
      "label": "Gallery",
      "headline": "A quiet album",
      "body": "Crops without clutter — the house as it is lived.",
      "imageUrl": "https://images.unsplash.com/photo-1613490493576-7fde63acd811?q=80&w=2000&auto=format&fit=crop",
      "imageFit": "cover-center"
    },
    "spacesNavLabel": "Browse by area",
    "spaces": [
      {
        "id": "arrival",
        "name": "Arrival & façade",
        "summary": "First views of the estate — park, lighting, and entrance sequence.",
        "amenities": ["Private parking", "Motion-lit path", "Smart lock / key safe"],
        "images": [
          {
            "src": "https://images.unsplash.com/photo-1613490493576-7fde63acd811?q=80&w=1600&auto=format&fit=crop",
            "alt": "Exterior at dusk"
          }
        ]
      },
      {
        "id": "living",
        "name": "Living & dining",
        "summary": "Open volume for mornings and long dinners.",
        "amenities": ["Air conditioning", "Underfloor heating", "Dining for 10"],
        "images": [
          {
            "src": "https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?q=80&w=1600&auto=format&fit=crop",
            "alt": "Living space"
          }
        ]
      },
      {
        "id": "terrace",
        "name": "Terrace",
        "summary": "Outdoor living overlooking the garden.",
        "amenities": ["Lounge area", "Parapet lighting", "Wind screens"],
        "images": [
          {
            "src": "https://images.unsplash.com/photo-1600585154363-67e9e7e1aa8d?q=80&w=1600&auto=format&fit=crop",
            "alt": "Terrace"
          }
        ]
      },
      {
        "id": "suites",
        "name": "Bedrooms & baths",
        "summary": "Suites and en-suite detailing.",
        "amenities": ["King bed 180×200 cm", "Blackout drapes", "Rain shower", "Separated WC"],
        "images": [
          {
            "src": "https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?q=80&w=1600&auto=format&fit=crop",
            "alt": "Bedroom"
          },
          {
            "src": "https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?q=80&w=1600&auto=format&fit=crop",
            "alt": "Bathroom"
          }
        ]
      },
      {
        "id": "kitchen",
        "name": "Kitchen",
        "summary": "Prep and casual meals — equip like a cook’s kitchen.",
        "amenities": ["Induction hob", "Oven", "Dishwasher", "Espresso machine", "Toaster", "Full fridge & freezer"],
        "images": [
          {
            "src": "https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?q=80&w=1600&auto=format&fit=crop",
            "alt": "Kitchen"
          }
        ]
      },
      {
        "id": "pool",
        "name": "Pool & gardens",
        "summary": "Pool deck, lawn, and evening lights.",
        "amenities": ["Heated pool", "Sun loungers", "Outdoor shower", "Pool towels"],
        "images": [
          {
            "src": "https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?q=80&w=1600&auto=format&fit=crop",
            "alt": "Pool"
          }
        ]
      }
    ],
    "images": []
  },
  "experiencesPage": {
    "eyebrow": "Experiences",
    "headline": "Tailored activities",
    "lede": "Open a tile for details and to request your dates.",
    "detailPlaceholder": "Choose an experience from the tiles on the left to see the description, imagery and request form.",
    "seeAllPhotosTemplate": "See all {n} photos",
    "scheduleStepsTitle": "What you will do · step by step",
    "scheduleItineraryTitle": "Itinerary",
    "meta": {
      "durationLabel": "Typ. duration",
      "groupLabel": "Guests",
      "settingLabel": "Location",
      "formatLabel": "Format"
    },
    "form": {
      "headline": "Simple request",
      "formHint": "Choose dates on the calendar (or describe your period), add optional details and notes, then send.",
      "nameLabel": "Full name",
      "emailLabel": "Email",
      "datesLabel": "Preferred date or period",
      "timeLabel": "Preferred time",
      "datePickerPlaceholder": "Tap to open calendar",
      "detailsLabel": "Details & preferences",
      "notesLabel": "Notes or message",
      "guestsLabel": "Guests",
      "adultsLabel": "Adults",
      "childrenLabel": "Children",
      "guestsCapError": "Guest count exceeds the maximum allowed for this experience.",
      "submitLabel": "Send request",
      "successMessage": "Request received. We will contact you shortly to confirm.",
      "validationError": "Please fill in name, email, dates (and time if required), and guest counts.",
      "pickExperienceError": "Select an experience from the list on the left before sending."
    },
    "items": [
      {
        "id": "private-chef",
        "title": "Private chef",
        "summary": "Seasonal menu in-villa, discreet service.",
        "locationTag": "IN VILLA · KITCHEN",
        "priceFrom": "On quotation (menu and ingredients)",
        "duration": "Half day or evening",
        "groupSize": "2–14 guests",
        "setting": "In-villa · kitchen and dining",
        "format": "Private chef + service",
        "scheduleType": "steps",
        "scheduleHeadline": "How the evening runs",
        "steps": [
          {
            "label": "1",
            "title": "Menu and preferences",
            "text": "Briefing with the chef: allergies, children, service style (family-style or à la carte)."
          },
          {
            "label": "2",
            "title": "Prep in the villa",
            "text": "Cooking and mise en place in real time; optional market visit in the morning."
          },
          {
            "label": "3",
            "title": "Table service",
            "text": "Plating, pairings and support throughout dinner."
          },
          {
            "label": "4",
            "title": "Wrap-up",
            "text": "Kitchen breakdown and professional clean-down."
          }
        ],
        "body": "A dedicated chef designs the menu with you — market in the morning, kitchen in the afternoon, dinner under warm terrace light. Intolerances and children’s menus on request. Ingredients and quote agreed before you confirm.",
        "imageUrl": "https://images.unsplash.com/photo-1556910103-1c02745aae4d?q=80&w=1400&auto=format&fit=crop",
        "gallery": [
          {
            "src": "https://images.unsplash.com/photo-1556910103-1c02745aae4d?q=80&w=1400&auto=format&fit=crop",
            "alt": "Professional kitchen"
          },
          {
            "src": "https://images.unsplash.com/photo-1414235077428-338989a2e8c0?q=80&w=1400&auto=format&fit=crop",
            "alt": "Dining service"
          },
          {
            "src": "https://images.unsplash.com/photo-1600891964092-4316c288032e?q=80&w=1400&auto=format&fit=crop",
            "alt": "Gourmet dishes"
          },
          {
            "src": "https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?q=80&w=1400&auto=format&fit=crop",
            "alt": "Set table"
          },
          {
            "src": "https://images.unsplash.com/photo-1544025162-d76694265947?q=80&w=1400&auto=format&fit=crop",
            "alt": "Tasting"
          }
        ],
        "videos": [
          {
            "youtubeUrl": "https://www.youtube.com/watch?v=M7lc1UVf-VE",
            "title": "Demo video (replace with yours)"
          }
        ],
        "requestDateMode": "single",
        "requestTimeSlots": "19:00\n19:30\n20:00",
        "requestTimeRequired": false
      },
      {
        "id": "horse-ride",
        "title": "Horseback ride",
        "maxGuests": 8,
        "summary": "Scenic trails with a riding instructor.",
        "locationTag": "COUNTRYSIDE · PARTNER STABLE",
        "priceFrom": "From €120 / person · optional transfer",
        "duration": "About 1–2 hours in the saddle",
        "groupSize": "Couples and small groups",
        "setting": "Partner stables and trails",
        "format": "Guided ride · helmet included",
        "scheduleType": "itinerary",
        "scheduleHeadline": "Sample route",
        "itinerary": [
          {
            "title": "Meet-up",
            "text": "At the villa or arranged transfer to the partner stables."
          },
          {
            "title": "Briefing and gear",
            "text": "Helmet, safety intro and horse assignment."
          },
          {
            "title": "Trail ride",
            "text": "Guided route tailored to level: walk or livelier stretches."
          },
          {
            "title": "Return",
            "text": "Dismount, thanks and return to the villa or continue your day."
          }
        ],
        "body": "Trails for beginners or more energetic rides among olives and views. Briefing and basic gear included; transfer to stables on request. Best timing: morning or about 2h before sunset.",
        "imageUrl": "https://images.unsplash.com/photo-1469122312224-648487f03bfa?q=80&w=1400&auto=format&fit=crop",
        "gallery": [
          {
            "src": "https://images.unsplash.com/photo-1469122312224-648487f03bfa?q=80&w=1400&auto=format&fit=crop",
            "alt": "Horse on trail"
          },
          {
            "src": "https://images.unsplash.com/photo-1553284968-172452f7dd43?q=80&w=1400&auto=format&fit=crop",
            "alt": "Countryside"
          },
          {
            "src": "https://images.unsplash.com/photo-1505142468610-359e7d316be0?q=80&w=1400&auto=format&fit=crop",
            "alt": "Canter"
          },
          {
            "src": "https://images.unsplash.com/photo-1516466723877-e4ec1d736c8a?q=80&w=1400&auto=format&fit=crop",
            "alt": "Landscape"
          },
          {
            "src": "https://images.unsplash.com/photo-1518709268805-4e9042af9f23?q=80&w=1400&auto=format&fit=crop",
            "alt": "Nature"
          }
        ],
        "videos": []
      },
      {
        "id": "boat-tour",
        "title": "Boat tour",
        "summary": "Private bay, swims and drinks on board.",
        "locationTag": "COAST · PORT BOARDING",
        "priceFrom": "From €1,350 / day · boat and skipper",
        "duration": "Half or full day",
        "groupSize": "Up to 8–10 guests (boat capacity)",
        "setting": "Departure from nearby harbour",
        "format": "Skippered motor yacht",
        "scheduleType": "itinerary",
        "scheduleHeadline": "At sea",
        "itinerary": [
          {
            "title": "Harbour welcome",
            "text": "Meet the skipper, embark and safety briefing."
          },
          {
            "title": "Cruising and coves",
            "text": "Head out into the bay, quiet music and route to the first swim spots."
          },
          {
            "title": "Swim stops",
            "text": "Anchor or drift for swimming; beach towels and water included."
          },
          {
            "title": "Return",
            "text": "Back to the harbour at the agreed time (half or full day)."
          }
        ],
        "body": "Custom itinerary, swim stops, towels and water on board. Light lunch or aperitivo: extra on quotation. Times and harbour agreed when you book.",
        "imageUrl": "https://images.unsplash.com/photo-1567899378494-47b22a2ae96a?q=80&w=1400&auto=format&fit=crop",
        "requestOptions": [
          {
            "id": "vessel",
            "label": "Boat",
            "required": true,
            "options": [
              { "value": "motor-40", "label": "Motor yacht ~40 ft (up to 8 guests)" },
              { "value": "motor-52", "label": "Motor yacht ~52 ft (up to 10 guests)" },
              { "value": "rib-30", "label": "RIB / open boat ~30 ft" }
            ]
          },
          {
            "id": "pickup",
            "label": "Pick-up port",
            "required": true,
            "placeholder": "Choose…",
            "options": [
              { "value": "marina-grande", "label": "Marina Grande" },
              { "value": "marina-piccola", "label": "Marina Piccola" },
              { "value": "sorrento", "label": "Sorrento harbour" },
              { "value": "other", "label": "Other (specify in details)" }
            ]
          },
          {
            "id": "dropoff",
            "label": "Drop-off port",
            "required": false,
            "options": [
              { "value": "same", "label": "Same as pick-up" },
              { "value": "marina-grande", "label": "Marina Grande" },
              { "value": "marina-piccola", "label": "Marina Piccola" },
              { "value": "sorrento", "label": "Sorrento harbour" },
              { "value": "other", "label": "Other (specify in details)" }
            ]
          },
          {
            "id": "tourRoute",
            "label": "Tour you would like",
            "required": false,
            "options": [
              { "value": "swim-coves", "label": "Swim stops & hidden coves" },
              { "value": "sunset", "label": "Sunset cruise & aperitivo" },
              { "value": "capri", "label": "Isle of Capri circuit" },
              { "value": "amalfi", "label": "Amalfi coast highlights" },
              { "value": "custom", "label": "Custom — describe in details" }
            ]
          }
        ],
        "gallery": [
          {
            "src": "https://images.unsplash.com/photo-1567899378494-47b22a2ae96a?q=80&w=1400&auto=format&fit=crop",
            "alt": "On the boat"
          },
          {
            "src": "https://images.unsplash.com/photo-1544551763-46a013bb70d5?q=80&w=1400&auto=format&fit=crop",
            "alt": "Sea"
          },
          {
            "src": "https://images.unsplash.com/photo-1439405326854-014607f0d800?q=80&w=1400&auto=format&fit=crop",
            "alt": "Coast"
          },
          {
            "src": "https://images.unsplash.com/photo-1500375592092-40eb2168fd21?q=80&w=1400&auto=format&fit=crop",
            "alt": "Horizon"
          },
          {
            "src": "https://images.unsplash.com/photo-1526481280695-3c687fd643ed?q=80&w=1400&auto=format&fit=crop",
            "alt": "Bay"
          }
        ],
        "videos": [
          {
            "mp4Url": "https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4",
            "posterUrl": "https://images.unsplash.com/photo-1567899378494-47b22a2ae96a?q=80&w=1200&auto=format&fit=crop",
            "title": "Sample short clip"
          }
        ]
      },
      {
        "id": "pizza-class",
        "title": "Pizza class",
        "summary": "Dough, oven and tasting with a pizzaiolo.",
        "locationTag": "IN VILLA · WORKSHOP",
        "priceFrom": "From €85 / person · min. 4",
        "duration": "About 2.5 hours",
        "groupSize": "Up to 10 guests",
        "setting": "Kitchen lab or villa terrace",
        "format": "Hands-on workshop + tasting",
        "scheduleType": "steps",
        "scheduleHeadline": "How the class works",
        "steps": [
          {
            "label": "1",
            "title": "Ingredients and dough",
            "text": "Flour, hydration and keys to Neapolitan dough."
          },
          {
            "label": "2",
            "title": "Shaping and toppings",
            "text": "Hand-stretching, tomato, mozzarella and seasonal toppings."
          },
          {
            "label": "3",
            "title": "The oven",
            "text": "High-heat bake with the pizzaiolo beside you."
          },
          {
            "label": "4",
            "title": "Tasting",
            "text": "Enjoy together with a drink included."
          }
        ],
        "body": "Hand-stretched dough, seasonal toppings and high-heat baking. Includes tasting and a drink. Great for families and informal groups.",
        "imageUrl": "https://images.unsplash.com/photo-1513104890138-7c749659a591?q=80&w=1400&auto=format&fit=crop",
        "gallery": [
          {
            "src": "https://images.unsplash.com/photo-1513104890138-7c749659a591?q=80&w=1400&auto=format&fit=crop",
            "alt": "Pizza from the oven"
          },
          {
            "src": "https://images.unsplash.com/photo-1574071318508-1cdbab80d002?q=80&w=1400&auto=format&fit=crop",
            "alt": "Dough"
          },
          {
            "src": "https://images.unsplash.com/photo-1593560708920-61dd98c46a4e?q=80&w=1400&auto=format&fit=crop",
            "alt": "Ingredients"
          },
          {
            "src": "https://images.unsplash.com/photo-1565299624946-b28f40a0ae38?q=80&w=1400&auto=format&fit=crop",
            "alt": "Margherita"
          },
          {
            "src": "https://images.unsplash.com/photo-1567620905732-2d1ec7ab7445?q=80&w=1400&auto=format&fit=crop",
            "alt": "Wood oven"
          }
        ],
        "videos": [
          {
            "youtubeUrl": "https://www.youtube.com/watch?v=1Isz6vjKwko",
            "title": "Neapolitan pizza (sample)"
          }
        ]
      },
      {
        "id": "cooking-class",
        "title": "Cooking class",
        "summary": "Regional cooking in the lab or in-villa.",
        "locationTag": "IN VILLA · WORKSHOP",
        "priceFrom": "From €110 / person",
        "duration": "About 3 hours",
        "groupSize": "4–12 participants",
        "setting": "Villa kitchen or partner venue",
        "format": "Class + lunch or dinner together",
        "scheduleType": "steps",
        "scheduleHeadline": "Class phases",
        "steps": [
          {
            "label": "1",
            "title": "Intro and mise en place",
            "text": "Today's menu and workstation setup."
          },
          {
            "label": "2",
            "title": "Cooking techniques",
            "text": "Typical sauces, pasta or mains guided by the chef."
          },
          {
            "label": "3",
            "title": "Plating",
            "text": "Presentation tips and pairings."
          },
          {
            "label": "4",
            "title": "Shared meal",
            "text": "Eat what you prepared together (lunch or dinner)."
          }
        ],
        "body": "Local recipes step by step, curated ingredients. Convivial finish at the table. Vegetarian menu on advance notice.",
        "imageUrl": "https://images.unsplash.com/photo-1556912172-45b7abe8b7e1?q=80&w=1400&auto=format&fit=crop",
        "gallery": [
          {
            "src": "https://images.unsplash.com/photo-1556912172-45b7abe8b7e1?q=80&w=1400&auto=format&fit=crop",
            "alt": "Cooking class"
          },
          {
            "src": "https://images.unsplash.com/photo-1556911220-ebb73426c197?q=80&w=1400&auto=format&fit=crop",
            "alt": "Prep"
          },
          {
            "src": "https://images.unsplash.com/photo-1507048331197-7d4ac70811bd?q=80&w=1400&auto=format&fit=crop",
            "alt": "Vegetables"
          },
          {
            "src": "https://images.unsplash.com/photo-1551218808-94e220e084d2?q=80&w=1400&auto=format&fit=crop",
            "alt": "Convivial kitchen"
          },
          {
            "src": "https://images.unsplash.com/photo-1466637574441-3b431a732b37?q=80&w=1400&auto=format&fit=crop",
            "alt": "Fresh pasta"
          }
        ],
        "videos": []
      },
      {
        "id": "wine-tasting",
        "title": "Wine tasting",
        "summary": "Nearby wineries, verticals and pairings.",
        "locationTag": "WINERY · TASTING ROOM",
        "priceFrom": "From €65 / person · cellar transfer extra",
        "duration": "1.5–2 hours",
        "groupSize": "2–12 guests",
        "setting": "Cellar or tasting room",
        "format": "Guided flight with expert",
        "scheduleType": "steps",
        "scheduleHeadline": "Guided tasting",
        "steps": [
          {
            "label": "1",
            "title": "Intro to the area",
            "text": "Native grapes and winemaking in brief."
          },
          {
            "label": "2",
            "title": "First glasses",
            "text": "Whites or rosés depending on the chosen line."
          },
          {
            "label": "3",
            "title": "Reds and verticals",
            "text": "Compare vintages or crus with tasting notes."
          },
          {
            "label": "4",
            "title": "Close",
            "text": "Questions, optional cellar purchase, return."
          }
        ],
        "body": "Focus on native grapes or vintage verticals. Transfers and vineyard picnic as extras. Optional finger-food pairing when arranged in advance.",
        "imageUrl": "https://images.unsplash.com/photo-1506377247377-2a5b3b417ebb?q=80&w=1400&auto=format&fit=crop",
        "gallery": [
          {
            "src": "https://images.unsplash.com/photo-1506377247377-2a5b3b417ebb?q=80&w=1400&auto=format&fit=crop",
            "alt": "Wine glasses"
          },
          {
            "src": "https://images.unsplash.com/photo-1506917727707-6de9665a6ec8?q=80&w=1400&auto=format&fit=crop",
            "alt": "Vineyard"
          },
          {
            "src": "https://images.unsplash.com/photo-1510812431401-41d2bd2722f3?q=80&w=1400&auto=format&fit=crop",
            "alt": "Cellar"
          },
          {
            "src": "https://images.unsplash.com/photo-1553361371-9b22f78e8b1d?q=80&w=1400&auto=format&fit=crop",
            "alt": "Tasting"
          },
          {
            "src": "https://images.unsplash.com/photo-1504274066651-8d31a536b11a?q=80&w=1400&auto=format&fit=crop",
            "alt": "Glasses"
          }
        ],
        "videos": []
      },
      {
        "id": "olive-oil-tasting",
        "title": "Olive oil tasting",
        "summary": "Fruitiness, bitterness and bite explained at the table.",
        "locationTag": "IN VILLA · KITCHEN / TABLE",
        "priceFrom": "From €45 / person",
        "duration": "About 1 hour",
        "groupSize": "Small groups",
        "setting": "Villa kitchen or dining table",
        "format": "Guided tasting",
        "scheduleType": "steps",
        "scheduleHeadline": "How we read the oil",
        "steps": [
          {
            "label": "1",
            "title": "Quick theory",
            "text": "Fruitiness, bitterness and pepper with practical examples."
          },
          {
            "label": "2",
            "title": "Blind tasting",
            "text": "Compare 3–4 oils with bread and neutral crudités."
          },
          {
            "label": "3",
            "title": "Label and PDO",
            "text": "What to look for on the label and how to store oil at home."
          },
          {
            "label": "4",
            "title": "Close",
            "text": "Questions, usage ideas and farewell."
          }
        ],
        "body": "Compare mono-varietals and blends, bread and pinzimonio. Ideal as a land aperitif before lunch or to understand a PDO label.",
        "imageUrl": "https://images.unsplash.com/photo-1474979266404-7eaacbcd87c5?q=80&w=1400&auto=format&fit=crop",
        "gallery": [
          {
            "src": "https://images.unsplash.com/photo-1474979266404-7eaacbcd87c5?q=80&w=1400&auto=format&fit=crop",
            "alt": "Olive oil"
          },
          {
            "src": "https://images.unsplash.com/photo-1582719478250-c89cae4dc85b?q=80&w=1400&auto=format&fit=crop",
            "alt": "Oil tasting"
          },
          {
            "src": "https://images.unsplash.com/photo-1509017174184-0b67fc64b86c?q=80&w=1400&auto=format&fit=crop",
            "alt": "Olive trees"
          },
          {
            "src": "https://images.unsplash.com/photo-1608571423902-eed4a5ad8108?q=80&w=1400&auto=format&fit=crop",
            "alt": "Oil in kitchen"
          },
          {
            "src": "https://images.unsplash.com/photo-1596040033229-a9821ebd058d?q=80&w=1400&auto=format&fit=crop",
            "alt": "Bread and oil"
          }
        ],
        "videos": []
      },
      {
        "id": "limoncello-tasting",
        "title": "Limoncello tasting",
        "summary": "Story, maceration and a craft version.",
        "locationTag": "IN VILLA · BAR / GARDEN",
        "priceFrom": "From €35 / person",
        "duration": "About 45 min – 1 hour",
        "groupSize": "Up to 8 guests",
        "setting": "Villa bar or garden",
        "format": "Story + tasting",
        "scheduleType": "steps",
        "scheduleHeadline": "From peel to glass",
        "steps": [
          {
            "label": "1",
            "title": "Story and method",
            "text": "Maceration, sugar and alcohol explained simply."
          },
          {
            "label": "2",
            "title": "Comparative tasting",
            "text": "Classic limoncello and a citrus variant."
          },
          {
            "label": "3",
            "title": "Take-away recipe",
            "text": "Card with indicative ratios to try at home."
          },
          {
            "label": "4",
            "title": "Cheers",
            "text": "Questions and group photo on request."
          }
        ],
        "body": "From peel to liqueur: small craft story and tasting of limoncello and citrus variants. Light format — best after lunch or dinner.",
        "imageUrl": "https://images.unsplash.com/photo-1542838132-92c53300491e?q=80&w=1400&auto=format&fit=crop",
        "gallery": [
          {
            "src": "https://images.unsplash.com/photo-1542838132-92c53300491e?q=80&w=1400&auto=format&fit=crop",
            "alt": "Lemons"
          },
          {
            "src": "https://images.unsplash.com/photo-1595434091143-b375ced5c9bb?q=80&w=1400&auto=format&fit=crop",
            "alt": "Liqueurs"
          },
          {
            "src": "https://images.unsplash.com/photo-1615199051383-cec2a1dcb26c?q=80&w=1400&auto=format&fit=crop",
            "alt": "Citrus"
          },
          {
            "src": "https://images.unsplash.com/photo-1563822249366-3efb3dad33a5?q=80&w=1400&auto=format&fit=crop",
            "alt": "Glasses"
          },
          {
            "src": "https://images.unsplash.com/photo-1581636625402-3b792c9ff6c5?q=80&w=1400&auto=format&fit=crop",
            "alt": "Garden"
          }
        ],
        "videos": []
      }
    ]
  },
  "contact": {
    "headline": "Correspondence",
    "body": "For celebrations, extended stays, and quiet questions — write directly. We reply within one business day.",
    "formNote": "Messages are saved for Admin → Inbox on this device. For email alerts, upload luxy-form-notify.php and set Forms · notify endpoint + token.",
    "formSubmitLabel": "Send message",
    "formSuccessMessage": "Message received. Thank you — we will reply soon.",
    "formValidationError": "Please enter your name, email, and a message.",
    "mapEyebrow": "Location",
    "mapHeadline": "Where we are",
    "mapLede": "Embed a map from Google Maps (Share → Embed a map) or another provider.",
    "mapEmbedUrl": ""
  },
  "booking": {
    "eyebrow": "Reservations",
    "headline": "Your stay starts here",
    "body": "Pick dates and guests, then confirm on our booking engine.",
    "searchBaseUrl": "https://book.myexclusivestays.com/book/step1",
    "searchLang": "it",
    "searchLangParam": "",
    "icalUrl": "",
    "icalProxyEndpoint": "",
    "icalProxyToken": "",
    "icalLoadError": "The iCal calendar could not be loaded in the browser (CORS). On production, use the ical-proxy.php endpoint and set icalProxyToken as documented.",
    "calendarEyebrow": "Availability",
    "calendarHeadline": "Calendar",
    "calendarLede": "Shaded dates are already reserved. Everything else is indicative until you receive confirmation.",
    "calendarImportLabel": "Import occupancy from iCal",
    "calendarImportHint": "Sync the list with the feed: dates from the previous iCal import are replaced by the current ones. Manually added dates stay unless they overlap the old iCal block."
  },
  "calendar": {
    "timezone": "Europe/Paris",
    "legendAvailable": "Available",
    "legendUnavailable": "Unavailable",
    "monthLocale": "en-GB",
    "icalImportSnapshot": [],
    "unavailableDates": [
      "2026-04-01",
      "2026-04-02",
      "2026-04-15",
      "2026-04-16",
      "2026-04-17",
      "2026-05-10",
      "2026-05-11"
    ]
  },
  "tracking": {
    "requireCookieConsent": true,
    "ga4MeasurementId": "G-XXXXXXXXXX",
    "ga4Config": {
      "anonymize_ip": true
    },
    "matomoUrl": "https://your-matomo.example/matomo/",
    "matomoSiteId": "1",
    "matomoDisableCookies": false,
    "matomoRespectDoNotTrack": true,
    "facebookPixelId": "YOUR_PIXEL_ID"
  },
  "typography": {
    "byPath": {},
    "breakpoints": {
      "tablet": "900px",
      "mobile": "550px"
    }
  }
}