// Strandvägen 18 — bilingual copy + language toggle (long-term rental)
const STR18_COPY = {
  sv: {
    nav: [["huset", "Huset"], ["arbeta", "Arbeta hemifrån"], ["omradet", "Området"], ["villkor", "Hyresvillkor"], ["kontakt", "Kontakt"]],
    cta: "Anmäl intresse",
    heroEyebrow: "Villa för långtidsuthyrning · Kungsängen",
    heroTitle: "Ett hem i Kungsängen för er nästa flytt",
    heroLead: "Fullt utrustad villa på 218 kvm med fyra sovrum, dedikerat kontor och trädgård mot Mälaren — några minuters promenad till pendeltåget, 30 minuter till Stockholm City och under 30 minuter med bil till Arlanda flygplats.",
    heroSecondary: "Läs om huset",
    facts: [["218", "kvm boyta"], ["4", "sovrum"], ["Fiber", "1000 Mbit/s"], ["30 min", "till Stockholm City"], ["<30 min", "till Arlanda flygplats"]],
    houseEyebrow: "Huset",
    houseTitle: "Ljust, generöst och byggt för vardagsliv året om",
    houseP1: "Huset är ett vinkelbyggt enplanshus med souterrängvåning, grå-vit träpanel och stora fönsterpartier — 218 kvm boyta. Två balkonger i två väderstreck gör det lätt att följa solen, och tillsammans med det generösa vardagsrummet och öppna köket är huset som gjort för att ta emot gäster. Två badrum, ett per våningsplan, samt bastu. I souterrängvåningen finns två av sovrummen och ett separat kontorsrum.",
    houseP2: "Köket har plats för åtta runt bordet och huset hyrs ut fullt fungerande: vitvaror, förråd, robotgräsklippare samt varmgarage för en bil inbyggt i huset och parkering på tomten. Uppvärmningen sker med mycket effektiv bergvärme, och elbil laddas hemma med hög effekt. Vi som hyr ut bor i närheten och är lätta att nå.",
    amenities: ["Två balkonger i två väderstreck", "Generöst vardagsrum & öppet kök", "Två badrum", "Bastu", "Walk-in closet", "Bergvärme", "Elbilsladdning med hög effekt", "Varmgarage för en bil", "Dedikerat kontor", "Fiber 1000 Mbit/s", "Öppen spis", "Diskmaskin", "Tvättmaskin & torktumlare", "Robotgräsklippare", "Parkering på tomten", "Nära förskola, skola & gymnasium"],
    photoHouse: "Huset från trädgården",
    phVeranda: "Utsikt över Mälaren från balkongen",
    phCloset: "Walk-in closet med belyst förvaring",
    phKitchen: "Köket med matplats och sjöutsikt",
    phKitchen2: "Köket — helintegrerade vitvaror och induktionshäll",
    phBathroom: "Badrummet på övre plan, intill master bedroom",
    phLiving: "Vardagsrummet med utsikt över Mälaren",
    phBeach: "Badplatsen vid Mälaren, 200 m från huset",
    phOffice: "Kontoret med plats för två arbetsplatser",
    officeEyebrow: "Arbeta hemifrån",
    officeTitle: "Ett riktigt arbetsrum — inte ett hörn av köket",
    officeP1: "Kontoret är ett eget rum med dörr, dagsljus och plats för två arbetsplatser. Fiber är indraget med 1000 Mbit/s symmetriskt, och täckningen räcker för videomöten från både kontoret och balkongerna.",
    officeP2: "För dagar på kontoret i stan: 3–5 minuters promenad till pendeltåget, 25 minuter till Stockholm Odenplan och 30 minuter till Stockholm City. Flyger du i tjänsten når du Arlanda flygplats på typiskt under 30 minuter med bil.",
    officePoints: [
      ["Eget kontorsrum", "Med dörr, dagsljus och plats för två skrivbord."],
      ["Fiber 1000/1000", "Symmetriskt höghastighetsinternet, stabilt för videomöten."],
      ["Pendling", "3–5 min promenad till pendeltåget, 25 min till Odenplan, 30 min till Stockholm City."],
      ["Arlanda flygplats", "Typiskt under 30 minuter med bil — smidigt för tjänsteresor."],
    ],
    areaEyebrow: "Området",
    areaTitle: "Att bo i Kungsängen",
    areaPoints: [
      ["Skolor & förskolor", "Förskola, grundskola och gymnasieskola — allt inom promenadavstånd, i ett tryggt och lugnt område där barnen kan gå själva."],
      ["Fullservicecentrum", "Kungsängens centrum har mataffärer, apotek, vårdcentral, bibliotek, bank, butiker, Systembolaget och restauranger — fem minuter bort."],
      ["Mälaren & naturen", "200 m till badplatsen med brygga; Frölunda naturreservat och Mälarens strandpromenader runt knuten."],
      ["Sport & fritid", "Bro Hof — Sveriges mest exklusiva golfklubb — finns i kommunen, tennisklubb i närheten och Kungsängens IP för sport sommar som vinter."],
      ["Shopping", "Barkarby handelsplats med bland annat IKEA och Barkarby Quality Outlet ligger inom bekvämt avstånd, och Mall of Scandinavia nås med en kort bilresa."],
      ["Kommunikationer", "Pendeltåg mot Stockholm var kvart i rusningstid, E18 in till stan och mot Arlanda flygplats via Rotebroleden."],
    ],
    priceEyebrow: "Hyresvillkor",
    priceTitle: "Villkor och månadshyra",
    priceRows: [
      ["Månadshyra", "35 000 kr/mån"],
      ["Vatten och elnätsavgift", "Ingår"],
      ["El (förbrukning)", "Tillkommer, betalas efter faktisk förbrukning"],
      ["Fiber", "Tillkommer, eget abonnemang"],
      ["Kortaste hyrestid", "12 månader"],
      ["Deposition", "En månadshyra"],
    ],
    priceNote: "Uthyrningen sker med hyresavtal enligt privatuthyrningslagen. Uppsägningstid tre månader. Husdjur efter överenskommelse.",
    availEyebrow: "Inflyttning",
    availTitle: "Tillgängligt från 1 oktober 2026",
    availBody: "Huset visas löpande under sommaren. Vi söker en hushållning som vill bo länge — gärna i samband med ny anställning eller flytt till Stockholmsområdet, och vi svarar gärna på frågor om huset och området inför flytten. Vi samarbetar också gärna med er relocation-partner i processen om det behövs.",
    availPoints: ["Visningar bokas via intresseanmälan", "Referenser och kreditupplysning tas innan avtal", "Möblerat, delvis möblerat eller omöblerat — efter överenskommelse"],
    bookEyebrow: "Intresseanmälan",
    bookTitle: "Anmäl intresse och boka visning",
    bookLead: "Berätta kort om er, så återkommer vi inom ett dygn med förslag på visningstid.",
    fName: "Namn", fNamePh: "För- och efternamn", fNameErr: "Fyll i ditt namn",
    fEmail: "E-post", fEmailPh: "namn@exempel.se", fEmailErr: "Fyll i en giltig e-postadress",
    fMoveIn: "Önskad inflyttning",
    moveInOpts: ["Oktober 2026", "November 2026", "December 2026", "Senare / flexibelt"],
    fGuests: "Hushållets storlek",
    guestsOpts: ["1–2 personer", "3–4 personer", "5–6 personer"],
    fMsg: "Berätta om er", fMsgPh: "T.ex. vart ni flyttar ifrån, arbete, om ni har barn eller husdjur",
    fPets: "Vi har husdjur",
    sent: (name) => `Tack ${name}! Ditt e-postprogram öppnas med anmälan — skicka mailet så återkommer vi inom ett dygn.`,
    sentServer: (name) => `Tack ${name}! Din intresseanmälan är skickad — vi återkommer inom ett dygn.`,
    footerAddr: "Strandvägen 18, 196 31 Kungsängen",
    footerNote: "Privat långtidsuthyrning · svar inom ett dygn",
  },
  en: {
    nav: [["huset", "The house"], ["arbeta", "Work from home"], ["omradet", "The area"], ["villkor", "Lease terms"], ["kontakt", "Contact"]],
    cta: "Register interest",
    heroEyebrow: "Villa for long-term rent · Kungsängen",
    heroTitle: "A home in Kungsängen for your next move",
    heroLead: "Fully equipped 218 sqm (2,347 sq ft) villa with four bedrooms, a dedicated office and a garden towards Lake Mälaren — a few minutes' walk to the commuter train, 30 minutes to Stockholm City and under 30 minutes by car to Arlanda International Airport.",
    heroSecondary: "About the house",
    facts: [["218 sqm", "2,347 sq ft living area"], ["4", "bedrooms"], ["Fibre", "1000 Mbit/s"], ["30 min", "to Stockholm City"], ["<30 min", "to Arlanda Int'l Airport"]],
    houseEyebrow: "The house",
    houseTitle: "Light, generous and built for everyday life all year",
    houseP1: "The house is an L-shaped single-storey home with a garden level, grey-white timber panelling and large window sections — 218 sqm (2,347 sq ft) of living area. Two balconies facing different directions let you follow the sun, and together with the generous living room and open kitchen the house is made for entertaining. Two bathrooms, one per floor, plus a sauna. The garden level holds two of the bedrooms and a separate office room.",
    houseP2: "The kitchen seats eight around the table and the house is let fully functional: appliances, storage, robotic lawn mower, a heated single-car garage built into the house, plus parking on the plot. Heating is highly efficient geothermal, and you charge an EV at home at high power. We, the owners, live nearby and are easy to reach.",
    amenities: ["Two balconies, two aspects", "Generous living room & open kitchen", "Two bathrooms", "Sauna", "Walk-in closet", "Geothermal heating", "High-power EV charging", "Heated garage (one car)", "Dedicated office", "Fibre 1000 Mbit/s", "Open fireplace", "Dishwasher", "Washer & dryer", "Robotic lawn mower", "Parking on the plot", "Near preschool, school & gymnasium"],
    photoHouse: "The house from the garden",
    phVeranda: "View over Lake Mälaren from the balcony",
    phCloset: "Walk-in closet with lit storage",
    phKitchen: "The kitchen with dining space and lake view",
    phKitchen2: "The kitchen — full appliance wall and induction hob",
    phBathroom: "The upstairs bathroom, next to the master bedroom",
    phLiving: "The living room with a view over Lake Mälaren",
    phBeach: "The Mälaren beach, 200 m from the house",
    phOffice: "The office with room for two workstations",
    officeEyebrow: "Work from home",
    officeTitle: "A proper office — not a corner of the kitchen",
    officeP1: "The office is a room of its own with a door, daylight and space for two workstations. Fibre broadband is installed at a symmetric 1000 Mbit/s, and coverage handles video calls from both the office and the balconies.",
    officeP2: "For days at the office in town: a 3–5 minute walk to the commuter train, 25 minutes to Stockholm Odenplan and 30 minutes to Stockholm City. If you fly for work, Arlanda International Airport is typically under 30 minutes by car.",
    officePoints: [
      ["Dedicated office room", "With a door, daylight and room for two desks."],
      ["Fibre 1000/1000", "Symmetric high-speed internet, stable for video calls."],
      ["Commuting", "3–5 min walk to the train, 25 min to Odenplan, 30 min to Stockholm City."],
      ["Arlanda International Airport", "Typically under 30 minutes by car — convenient for business travel."],
    ],
    areaEyebrow: "The area",
    areaTitle: "Living in Kungsängen",
    areaPoints: [
      ["Schools & preschools", "Preschool, primary school and upper-secondary school (gymnasium) — all within walking distance, in a safe and calm neighbourhood where children can walk on their own."],
      ["Full-service centre", "Kungsängen centre has supermarkets, pharmacy, health centre, library, bank, shops, Systembolaget (the alcohol retailer) and restaurants — five minutes away."],
      ["Mälaren & nature", "200 m to the beach with a jetty; the Frölunda nature reserve and Mälaren shoreline walks are around the corner."],
      ["Sports & leisure", "Bro Hof — Sweden's most exclusive golf club — is in the municipality, a tennis club is nearby, and Kungsängen IP offers sports summer and winter."],
      ["Shopping", "The Barkarby retail district, with IKEA and Barkarby Quality Outlet among others, is within easy reach, and Mall of Scandinavia is a short drive away."],
      ["Connections", "Commuter trains to Stockholm every 15 minutes at peak, the E18 into town and to Arlanda International Airport via Rotebroleden."],
    ],
    priceEyebrow: "Lease terms",
    priceTitle: "Terms and monthly rent",
    priceRows: [
      ["Monthly rent", "SEK 35,000/month"],
      ["Water and grid fee", "Included"],
      ["Electricity (consumption)", "Paid by tenant, based on actual use"],
      ["Fibre", "Tenant's own contract"],
      ["Minimum lease", "12 months"],
      ["Deposit", "One month's rent"],
    ],
    priceNote: "Let under the Swedish private rental act with a written lease. Three months' notice. Pets by agreement.",
    availEyebrow: "Move-in",
    availTitle: "Available from 1 October 2026",
    availBody: "Viewings are held throughout the summer. We are looking for a household that wants to stay long term — often in connection with a new position or relocation to the Stockholm area, and we are happy to answer questions about the house and the area ahead of your move. We are also glad to work with your relocation partner in the process if needed.",
    availPoints: ["Viewings booked via the interest form", "References and credit check before signing", "Furnished, partly furnished or unfurnished — by agreement"],
    bookEyebrow: "Interest form",
    bookTitle: "Register interest and book a viewing",
    bookLead: "Tell us briefly about yourselves and we reply within a day with viewing times.",
    fName: "Name", fNamePh: "First and last name", fNameErr: "Please enter your name",
    fEmail: "Email", fEmailPh: "name@example.com", fEmailErr: "Please enter a valid email address",
    fMoveIn: "Preferred move-in",
    moveInOpts: ["October 2026", "November 2026", "December 2026", "Later / flexible"],
    fGuests: "Household size",
    guestsOpts: ["1–2 people", "3–4 people", "5–6 people"],
    fMsg: "About you", fMsgPh: "E.g. where you are moving from, work, children or pets",
    fPets: "We have pets",
    sent: (name) => `Thank you ${name}! Your email client opens with the registration — send the email and we reply within a day.`,
    sentServer: (name) => `Thank you ${name}! Your registration has been sent — we reply within a day.`,
    footerAddr: "Strandvägen 18, SE-196 31 Kungsängen, Sweden",
    footerNote: "Private long-term rental · reply within a day",
  },
};

function useLang() {
  const [lang, setLang] = React.useState(() => {
    try { return localStorage.getItem("sv18-lang") || "sv"; } catch (e) { return "sv"; }
  });
  const set = (l) => {
    setLang(l);
    try { localStorage.setItem("sv18-lang", l); } catch (e) {}
    document.documentElement.lang = l;
  };
  return [lang, set];
}

function LangToggle({ lang, onChange, inverse }) {
  const opts = [["sv", "SV"], ["en", "EN"]];
  return (
    <div role="group" aria-label="Språk / Language" style={{
      display: "inline-flex", borderRadius: "var(--radius-pill)",
      border: `1px solid ${inverse ? "rgba(253,253,251,0.35)" : "var(--border-strong)"}`,
      padding: 2, background: inverse ? "rgba(35,44,43,0.25)" : "var(--surface-card)", flex: "none",
    }}>
      {opts.map(([id, label]) => {
        const sel = id === lang;
        return (
          <button key={id} onClick={() => onChange(id)} aria-pressed={sel} style={{
            all: "unset", cursor: "pointer", padding: "5px 12px", borderRadius: "var(--radius-pill)",
            font: "var(--type-label)", fontFamily: "var(--font-body)", letterSpacing: "0.08em",
            background: sel ? "var(--action-primary)" : "transparent",
            color: sel ? "var(--action-primary-text)" : (inverse ? "var(--sv-panel-200)" : "var(--text-muted)"),
            transition: "background var(--dur-fast) var(--ease-out)", minHeight: 24, display: "inline-flex", alignItems: "center",
          }}>
            {label}
          </button>
        );
      })}
    </div>
  );
}

Object.assign(window, { STR18_COPY, useLang, LangToggle });
