const DESC = {
  pA1: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die überdeckte Loggia ist grosszügig bemessen. Zur Wohnung im Erdgeschoss gehört ein Garten mit direktem Zugang über die Loggia.',
    'Die Zimmer sind hell und gut zu möblieren. Die Nasszelle ist mit gefliester bodenebener Dusche (mit Wärmerückgewinnung), grossem Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  pA2: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die überdeckte Loggia ist grosszügig bemessen. Zur Wohnung im Erdgeschoss gehört ein Garten mit direktem Zugang über die Loggia.',
    'Die Zimmer sind hell und gut zu möblieren. Die Dusche ist mit einer gefliester, bodenebener Dusche (mit Wärmerückgewinnung), grossem Lavabo, Spiegelschrank und Wandklosett ausgerüstet. Das Bad ist mit einer Badewanne, Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  pA3: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die überdeckte Loggia ist grosszügig bemessen. Zur Wohnung im Erdgeschoss gehört ein Garten mit direktem Zugang über die Loggia.',
    'Die Zimmer sind hell und gut zu möblieren. Die Dusche ist mit gefliester, bodenebener Dusche (mit Wärmerückgewinnung), grossem Lavabo, Spiegelschrank und Wandklosett ausgerüstet. Das Bad ist mit Badewanne, Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  attA21: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die teilüberdeckte Terrasse mit einer Fläche von 80 m² ist grosszügig bemessen.',
    'Die Zimmer sind hell und gut zu möblieren. Die Nasszelle ist mit gefliester bodenebener Dusche (mit Wärmerückgewinnung), grossem Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  attA22: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die teilüberdeckte Terrasse mit einer Fläche von 102 m² ist grosszügig bemessen.',
    'Die Zimmer sind hell und gut zu möblieren. Die Dusche ist mit gefliester, bodenebener Dusche (mit Wärmerückgewinnung), Lavabo, Spiegelschrank und Wandklosett ausgerüstet. Das Bad ist mit Badewanne, Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  pB1: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die überdeckte Loggia ist grosszügig bemessen. Zur Wohnung im Erdgeschoss gehört ein Garten mit direktem Zugang über die Loggia.',
    'Die Zimmer sind hell und gut zu möblieren. Die Dusche ist mit gefliester, bodenebener Dusche (mit Wärmerückgewinnung), Lavabo, Spiegelschrank und Wandklosett ausgerüstet. Das Bad ist mit Badewanne, Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  pB2: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die überdeckte Loggia ist grosszügig bemessen. Zur Wohnung im Erdgeschoss gehört ein Garten mit direktem Zugang über die Loggia.',
    'Die Zimmer sind hell und gut zu möblieren. Die Dusche ist mit gefliester, bodenebener Dusche (mit Wärmerückgewinnung), Lavabo, Spiegelschrank und Wandklosett ausgerüstet. Das Bad ist mit Badewanne, Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  attB21: [
    'Die Wohnung weist einen gut organisierten Grundriss auf und kann direkt mit dem Lift erreicht werden. Der Wohnungszugang über das Treppenhaus erfolgt im 1. Obergeschoss. Die Garderobe befindet sich im Eingangsbereich im 2. Obergeschoss. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die teilüberdeckte Terrasse mit einer Fläche von 127 m² ist sehr grosszügig bemessen.',
    'Die Zimmer sind hell und gut zu möblieren. Die Dusche ist mit gefliester, bodenebener Dusche (mit Wärmerückgewinnung), Lavabo, Spiegelschrank und Wandklosett ausgerüstet. Das Bad ist mit Badewanne, Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  pC1: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die überdeckte Loggia ist grosszügig bemessen. Zur Wohnung im Erdgeschoss gehört ein Garten mit direktem Zugang über die Loggia.',
    'Die Zimmer sind hell und gut zu möblieren. Die Dusche ist mit gefliester, bodenebener Dusche (mit Wärmerückgewinnung), grossem Lavabo, Spiegelschrank und Wandklosett ausgerüstet. Das Bad ist mit Badewanne, Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  pC2: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die überdeckte Loggia ist grosszügig bemessen. Zur Wohnung im Erdgeschoss gehört ein Garten mit direktem Zugang über die Loggia.',
    'Die Zimmer sind hell und gut zu möblieren. Die Dusche ist mit gefliester, bodenebener Dusche (mit Wärmerückgewinnung), Lavabo, Spiegelschrank und Wandklosett ausgerüstet. Das Bad ist mit Badewanne, grossem Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  pC3: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die zwei überdeckten Loggias sind grosszügig bemessen. Zur Wohnung im Erdgeschoss gehört ein Garten mit direktem Zugang über die Loggias.',
    'Die Zimmer sind hell und gut zu möblieren. Die Dusche ist mit gefliester, bodenebener Dusche (mit Wärmerückgewinnung), Lavabo, Spiegelschrank und Wandklosett ausgerüstet. Das Bad ist mit Badewanne, Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  attC21: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die teilüberdeckte Terrasse mit einer Fläche von 74 m² ist grosszügig bemessen.',
    'Die Zimmer sind hell und gut zu möblieren. Die Dusche ist mit gefliester, bodenebener Dusche (mit Wärmerückgewinnung), Lavabo, Spiegelschrank und Wandklosett ausgerüstet. Das Bad ist mit Badewanne, Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  attC22: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die teilüberdeckte Terrasse mit einer Fläche von 136 m² ist sehr grosszügig bemessen.',
    'Die Zimmer sind hell und gut zu möblieren. Das separate WC ist mit Lavabo, Spiegelschrank und Wandklosett ausgerüstet. Das Bad ist mit Badewanne und zusätzlicher, gefliester, bodenebener Dusche (mit Wärmerückgewinnung) grossem Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  pD1: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die überdeckte Loggia ist grosszügig bemessen. Zur Wohnung im Erdgeschoss gehört ein Garten mit direktem Zugang über die Loggia.',
    'Die Zimmer sind hell und gut zu möblieren. Die Nasszelle ist mit gefliester bodenebener Dusche (mit Wärmerückgewinnung), Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  pD2: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die überdeckte Loggia ist grosszügig bemessen. Zur Wohnung im Erdgeschoss gehört ein Garten mit direktem Zugang über die Loggia.',
    'Die Zimmer sind hell und gut zu möblieren. Die Nasszelle ist mit gefliester bodenebener Dusche (mit Wärmerückgewinnung), grossem Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  pD3: [
    'Die Wohnung weist einen gut organisierten Grundriss auf. Die Garderobe befindet sich im Eingangsbereich. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die überdeckte Loggia ist grosszügig bemessen. Zur Wohnung im Erdgeschoss gehört ein Garten mit direktem Zugang über die Loggia.',
    'Die Zimmer sind hell und gut zu möblieren. Die Dusche ist mit gefliester, bodenebener Dusche (mit Wärmerückgewinnung), grossem Lavabo, Spiegelschrank und Wandklosett ausgerüstet. Das Bad ist mit Badewanne, Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
  attD21: [
    'Die Wohnung weist einen gut organisierten Grundriss auf und kann direkt mit dem Lift erreicht werden. Der Wohnungszugang über das Treppenhaus erfolgt im 1. Obergeschoss. Die Garderobe befindet sich im Eingangsbereich im 2. Obergeschoss. Der Wohnbereich verfügt über eine offene Küche. Durch die raumhohen Fensterfronten verschmilzt der Wohnbereich mit dem Aussenraum. Die teilüberdeckte Terrasse mit einer Fläche von 160 m² ist sehr grosszügig bemessen.',
    'Die Zimmer sind hell und gut zu möblieren. Die Dusche ist mit gefliester, bodenebener Dusche (mit Wärmerückgewinnung), grossem Lavabo, Spiegelschrank und Wandklosett ausgerüstet. Das Bad ist mit Badewanne, Lavabo, Spiegelschrank und Wandklosett ausgestattet. Die Wohnung verfügt über eine individuell steuerbare Komfortlüftung. Diese befindet sich im Technikraum der Wohnung, wie auch die Waschmaschine und der Tumbler. Ein separater Kellerraum liegt im gleichen Niveau wie die Einstellhalle.',
  ],
};

const W_BASE = 'uploads/kaisten/wohnungen';
const WOHNUNG_DETAILS = [
  { id: 'A.0.1', key: 'a-0-1', haus: 'A', zimmer: '2.5', geschossShort: 'EG', geschossLong: 'Erdgeschoss',
    nwf: '69.80', loggia: '18.30', garten: '45.90', keller: '8.40',
    desc: DESC.pA1, diagram3d: `${W_BASE}/3d/diagram-20.jpg`, floorPlan: `${W_BASE}/page-21.jpg` },
  { id: 'A.1.1', key: 'a-1-1', haus: 'A', zimmer: '2.5', geschossShort: 'OG', geschossLong: 'Obergeschoss',
    nwf: '70.00', loggia: '14.50', keller: '5.80',
    desc: DESC.pA1, diagram3d: `${W_BASE}/3d/diagram-20.jpg`, floorPlan: `${W_BASE}/page-21.jpg` },
  { id: 'A.0.2', key: 'a-0-2', haus: 'A', zimmer: '4.5', geschossShort: 'EG', geschossLong: 'Erdgeschoss',
    nwf: '111.80', loggia: '21.10', garten: '117.90', keller: '7.50',
    desc: DESC.pA2, diagram3d: `${W_BASE}/3d/diagram-22.jpg`, floorPlan: `${W_BASE}/page-23.jpg` },
  { id: 'A.1.2', key: 'a-1-2', haus: 'A', zimmer: '4.5', geschossShort: 'OG', geschossLong: 'Obergeschoss',
    nwf: '111.80', loggia: '17.00', keller: '7.50',
    desc: DESC.pA2, diagram3d: `${W_BASE}/3d/diagram-22.jpg`, floorPlan: `${W_BASE}/page-23.jpg` },
  { id: 'A.0.3', key: 'a-0-3', haus: 'A', zimmer: '3.5', geschossShort: 'EG', geschossLong: 'Erdgeschoss',
    nwf: '90.80', loggia: '18.70', garten: '17.40', keller: '6.50',
    desc: DESC.pA3, diagram3d: `${W_BASE}/3d/diagram-24.jpg`, floorPlan: `${W_BASE}/page-25.jpg` },
  { id: 'A.1.3', key: 'a-1-3', haus: 'A', zimmer: '3.5', geschossShort: 'OG', geschossLong: 'Obergeschoss',
    nwf: '90.80', loggia: '15.00', keller: '6.50',
    desc: DESC.pA3, diagram3d: `${W_BASE}/3d/diagram-24.jpg`, floorPlan: `${W_BASE}/page-25.jpg` },
  { id: 'A.2.1', key: 'a-2-1', haus: 'A', zimmer: '2.5', geschossShort: 'Attika', geschossLong: 'Attika',
    nwf: '60.40', terrasseUeberdeckt: '11.40', terrasse: '69.10', keller: '5.80',
    desc: DESC.attA21, diagram3d: `${W_BASE}/3d/diagram-26.jpg`, floorPlan: `${W_BASE}/page-27.jpg` },
  { id: 'A.2.2', key: 'a-2-2', haus: 'A', zimmer: '4.5', geschossShort: 'Attika', geschossLong: 'Attika',
    nwf: '108.50', terrasseUeberdeckt: '13.10', terrasse: '89.30', keller: '7.70',
    desc: DESC.attA22, diagram3d: `${W_BASE}/3d/diagram-28.jpg`, floorPlan: `${W_BASE}/page-29.jpg` },
  { id: 'B.0.1', key: 'b-0-1', haus: 'B', zimmer: '3.5', geschossShort: 'EG', geschossLong: 'Erdgeschoss',
    nwf: '94.00', loggia: '23.50', garten: '69.10', keller: '6.60',
    desc: DESC.pB1, diagram3d: `${W_BASE}/3d/diagram-30.jpg`, floorPlan: `${W_BASE}/page-31.jpg` },
  { id: 'B.1.1', key: 'b-1-1', haus: 'B', zimmer: '3.5', geschossShort: 'OG', geschossLong: 'Obergeschoss',
    nwf: '93.60', loggia: '19.40', keller: '6.50',
    desc: DESC.pB1, diagram3d: `${W_BASE}/3d/diagram-30.jpg`, floorPlan: `${W_BASE}/page-31.jpg` },
  { id: 'B.0.2', key: 'b-0-2', haus: 'B', zimmer: '3.5', geschossShort: 'EG', geschossLong: 'Erdgeschoss',
    nwf: '89.10', loggia: '18.80', garten: '48.50', keller: '6.60',
    desc: DESC.pB2, diagram3d: `${W_BASE}/3d/diagram-32.jpg`, floorPlan: `${W_BASE}/page-33.jpg` },
  { id: 'B.1.2', key: 'b-1-2', haus: 'B', zimmer: '3.5', geschossShort: 'OG', geschossLong: 'Obergeschoss',
    nwf: '89.10', loggia: '15.10', keller: '6.50',
    desc: DESC.pB2, diagram3d: `${W_BASE}/3d/diagram-32.jpg`, floorPlan: `${W_BASE}/page-33.jpg` },
  { id: 'B.2.1', key: 'b-2-1', haus: 'B', zimmer: '4.5', geschossShort: 'Attika', geschossLong: 'Attika',
    nwf: '129.70', terrasseUeberdeckt: '14.90', terrasse: '112.90', keller: '7.80',
    desc: DESC.attB21, diagram3d: `${W_BASE}/3d/diagram-34.jpg`, floorPlan: `${W_BASE}/page-35.jpg` },
  { id: 'C.0.1', key: 'c-0-1', haus: 'C', zimmer: '3.5', geschossShort: 'EG', geschossLong: 'Erdgeschoss',
    nwf: '85.90', loggia: '15.80', garten: '18.70', keller: '6.50',
    desc: DESC.pC1, diagram3d: `${W_BASE}/3d/diagram-36.jpg`, floorPlan: `${W_BASE}/page-37.jpg` },
  { id: 'C.1.1', key: 'c-1-1', haus: 'C', zimmer: '3.5', geschossShort: 'OG', geschossLong: 'Obergeschoss',
    nwf: '85.90', loggia: '13.10', keller: '6.60',
    desc: DESC.pC1, diagram3d: `${W_BASE}/3d/diagram-36.jpg`, floorPlan: `${W_BASE}/page-37.jpg` },
  { id: 'C.0.2', key: 'c-0-2', haus: 'C', zimmer: '4.5', geschossShort: 'EG', geschossLong: 'Erdgeschoss',
    nwf: '114.20', loggia: '18.90', garten: '59.10', keller: '8.20',
    desc: DESC.pC2, diagram3d: `${W_BASE}/3d/diagram-38.jpg`, floorPlan: `${W_BASE}/page-39.jpg` },
  { id: 'C.1.2', key: 'c-1-2', haus: 'C', zimmer: '4.5', geschossShort: 'OG', geschossLong: 'Obergeschoss',
    nwf: '114.10', loggia: '15.50', keller: '6.50',
    desc: DESC.pC2, diagram3d: `${W_BASE}/3d/diagram-38.jpg`, floorPlan: `${W_BASE}/page-39.jpg` },
  { id: 'C.0.3', key: 'c-0-3', haus: 'C', zimmer: '4.5', geschossShort: 'EG', geschossLong: 'Erdgeschoss',
    nwf: '103.9', loggia1: '18.90', loggia2: '18.20', garten: '47.50', keller: '7.50',
    desc: DESC.pC3, diagram3d: `${W_BASE}/3d/diagram-40.jpg`, floorPlan: `${W_BASE}/page-41.jpg` },
  { id: 'C.1.3', key: 'c-1-3', haus: 'C', zimmer: '4.5', geschossShort: 'OG', geschossLong: 'Obergeschoss',
    nwf: '104.2', loggia1: '15.40', loggia2: '15.10', keller: '7.50',
    desc: DESC.pC3, diagram3d: `${W_BASE}/3d/diagram-40.jpg`, floorPlan: `${W_BASE}/page-41.jpg` },
  { id: 'C.2.1', key: 'c-2-1', haus: 'C', zimmer: '3.5', geschossShort: 'Attika', geschossLong: 'Attika',
    nwf: '92.70', terrasseUeberdeckt: '18.70', terrasse: '56.20', keller: '6.50',
    desc: DESC.attC21, diagram3d: `${W_BASE}/3d/diagram-42.jpg`, floorPlan: `${W_BASE}/page-43.jpg` },
  { id: 'C.2.2', key: 'c-2-2', haus: 'C', zimmer: '3.5', geschossShort: 'Attika', geschossLong: 'Attika',
    nwf: '86.50', terrasseUeberdeckt: '14.20', terrasse: '121.80', keller: '7.60',
    desc: DESC.attC22, diagram3d: `${W_BASE}/3d/diagram-44.jpg`, floorPlan: `${W_BASE}/page-45.jpg` },
  { id: 'D.0.1', key: 'd-0-1', haus: 'D', zimmer: '2.5', geschossShort: 'EG', geschossLong: 'Erdgeschoss',
    nwf: '62.30', loggia: '14.80', garten: '35.50', keller: '6.10',
    desc: DESC.pD1, diagram3d: `${W_BASE}/3d/diagram-46.jpg`, floorPlan: `${W_BASE}/page-47.jpg` },
  { id: 'D.1.1', key: 'd-1-1', haus: 'D', zimmer: '2.5', geschossShort: 'OG', geschossLong: 'Obergeschoss',
    nwf: '63.20', loggia: '11.50', keller: '5.50',
    desc: DESC.pD1, diagram3d: `${W_BASE}/3d/diagram-46.jpg`, floorPlan: `${W_BASE}/page-47.jpg` },
  { id: 'D.0.2', key: 'd-0-2', haus: 'D', zimmer: '2.5', geschossShort: 'EG', geschossLong: 'Erdgeschoss',
    nwf: '69.00', loggia: '20.60', garten: '61.80', keller: '6.10',
    desc: DESC.pD2, diagram3d: `${W_BASE}/3d/diagram-48.jpg`, floorPlan: `${W_BASE}/page-49.jpg` },
  { id: 'D.1.2', key: 'd-1-2', haus: 'D', zimmer: '2.5', geschossShort: 'OG', geschossLong: 'Obergeschoss',
    nwf: '69.60', loggia: '16.70', keller: '5.50',
    desc: DESC.pD2, diagram3d: `${W_BASE}/3d/diagram-48.jpg`, floorPlan: `${W_BASE}/page-49.jpg` },
  { id: 'D.0.3', key: 'd-0-3', haus: 'D', zimmer: '4.5', geschossShort: 'EG', geschossLong: 'Erdgeschoss',
    nwf: '105.20', loggia: '20.90', garten: '90.30', keller: '7.60',
    desc: DESC.pD3, diagram3d: `${W_BASE}/3d/diagram-50.jpg`, floorPlan: `${W_BASE}/page-51.jpg` },
  { id: 'D.1.3', key: 'd-1-3', haus: 'D', zimmer: '4.5', geschossShort: 'OG', geschossLong: 'Obergeschoss',
    nwf: '109.00', loggia: '16.90', keller: '8.00',
    desc: DESC.pD3, diagram3d: `${W_BASE}/3d/diagram-50.jpg`, floorPlan: `${W_BASE}/page-51.jpg` },
  { id: 'D.2.1', key: 'd-2-1', haus: 'D', zimmer: '5.5', geschossShort: 'Attika', geschossLong: 'Attika',
    nwf: '170.60', terrasseUeberdeckt: '16.70', terrasse: '143.60', keller: '10.10',
    desc: DESC.attD21, diagram3d: `${W_BASE}/3d/diagram-52.jpg`, floorPlan: `${W_BASE}/page-53.jpg` },
];

function WohnungDetailPage({ wohnungKey }) {
  const t = useTheme();
  const mobile = useMobile(900);
  const w = WOHNUNG_DETAILS.find(x => x.key === wohnungKey);

  if (!w) {
    return (
      <ContentSection>
        <h1 style={{ ...hdg(t), textAlign: 'center' }}>Wohnung nicht gefunden</h1>
        <p style={{ textAlign: 'center', marginTop: '20px' }}>
          <a href="#wohnungen" style={ilink(t)}>← Zurück zur Wohnungsübersicht</a>
        </p>
      </ContentSection>
    );
  }

  const lines = [`${w.zimmer} Zimmer`, w.geschossLong, `NWF ${w.nwf} m²`];
  if (w.loggia) lines.push(`Loggia ${w.loggia} m²`);
  if (w.loggia1) lines.push(`Loggia 1 ${w.loggia1} m²`);
  if (w.loggia2) lines.push(`Loggia 2 ${w.loggia2} m²`);
  if (w.terrasseUeberdeckt) lines.push(`Terrasse überdeckt ${w.terrasseUeberdeckt} m²`);
  if (w.terrasse) lines.push(`Terrasse ${w.terrasse} m²`);
  lines.push(`Keller ${w.keller} m²`);
  if (w.garten) lines.push(`Garten ${w.garten} m²`);

  return (
    <section style={{
      background: '#F4F4E8',
      paddingTop: 'clamp(110px, 14vh, 150px)',
      paddingBottom: 'clamp(60px, 8vw, 100px)',
      paddingLeft: 'clamp(20px, 5vw, 48px)',
      paddingRight: 'clamp(20px, 5vw, 48px)',
      minHeight: '100vh',
    }}>
      <div style={{ maxWidth: '1240px', margin: '0 auto' }}>
        <div style={{ ...lbl(t), marginBottom: '24px' }}>Wohnungen · Haus {w.haus}</div>

        <div style={{
          display: 'grid',
          gridTemplateColumns: mobile ? '1fr' : '160px 1fr',
          gap: 'clamp(24px, 4vw, 56px)',
          alignItems: 'start',
        }}>
          {/* Left sub-nav */}
          <WohnungSidebar activeKey={wohnungKey} />

          {/* Right content: 2-column with 3D+text on left, floor plan on right */}
          <div style={{
            display: 'grid',
            gridTemplateColumns: mobile ? '1fr' : 'minmax(0,1fr) minmax(0,1.4fr)',
            gap: 'clamp(20px, 3vw, 48px)',
            alignItems: 'start',
          }}>
            {/* LEFT: 3D + title + data + description */}
            <FadeIn>
              <div style={{
                position: 'relative', background: '#F4F4E8',
                overflow: 'hidden', marginBottom: '32px',
              }}>
                <img src={w.diagram3d} aria-hidden="true"
                  style={{ width: '100%', height: 'auto', display: 'block', visibility: 'hidden' }}/>
                <img src={w.diagram3d} alt={`Lage von ${w.id} im Ensemble`}
                  style={{
                    position: 'absolute', top: 0, left: 0,
                    width: '100%', height: '100%', display: 'block',
                    transform: 'scale(1.025)', transformOrigin: 'center',
                  }}/>
              </div>

              <h1 style={{
                fontFamily: t.body, fontWeight: 700, fontSize: '1.5rem',
                letterSpacing: '0.06em',
                color: '#1A1A18', marginBottom: '20px',
              }}>Wohnung {w.id}</h1>

              <div style={{ marginBottom: '28px' }}>
                {lines.map((l, i) => (
                  <div key={i} style={{
                    fontFamily: t.body, fontWeight: 700, fontSize: '0.95rem',
                    color: '#1A1A18', lineHeight: 1.7,
                  }}>{l}</div>
                ))}
              </div>

              <div>
                {w.desc.map((p, i) => (
                  <p key={i} style={{
                    fontFamily: t.body, fontWeight: 400, fontSize: '0.95rem',
                    color: '#1A1A18', lineHeight: 1.65, marginBottom: '14px',
                  }}>{p}</p>
                ))}
              </div>
            </FadeIn>

            {/* RIGHT: floor plan */}
            <FadeIn delay={0.1}>
              <div style={{ position: mobile ? 'static' : 'sticky', top: '110px' }}>
                <img src={w.floorPlan} alt={`Grundriss Wohnung ${w.id}`}
                  style={{ width: '100%', height: 'auto', display: 'block' }}/>
              </div>
            </FadeIn>
          </div>
        </div>
      </div>
    </section>
  );
}

function WohnungSidebar({ activeKey }) {
  const t = useTheme();
  const mobile = useMobile(900);
  const houses = ['A', 'B', 'C', 'D'];
  return (
    <div style={{
      position: mobile ? 'static' : 'sticky', top: '110px',
      paddingRight: mobile ? 0 : '8px',
    }}>
      <a href="#wohnungen" style={{
        display: 'block', textDecoration: 'none',
        fontFamily: t.body, fontWeight: 600, fontSize: '0.66rem',
        letterSpacing: '0.16em', textTransform: 'uppercase',
        color: '#84817A', padding: '8px 0',
        borderBottom: '1px solid #D8D5C9', marginBottom: '14px',
      }}>← Übersicht</a>
      {houses.map(h => {
        const inHouse = WOHNUNG_DETAILS.filter(x => x.haus === h);
        return (
          <div key={h} style={{ marginBottom: '18px' }}>
            <div style={{
              fontFamily: t.body, fontWeight: 700, fontSize: '0.66rem',
              letterSpacing: '0.18em', textTransform: 'uppercase',
              color: t.accent, marginBottom: '8px',
            }}>Haus {h}</div>
            {inHouse.map(x => {
              const active = x.key === activeKey;
              return (
                <a key={x.key} href={`#wohnung-${x.key}`} style={{
                  display: 'block', textDecoration: 'none',
                  fontFamily: t.body, fontSize: '0.86rem',
                  color: active ? t.accent : '#1A1A18',
                  fontWeight: active ? 700 : 400,
                  padding: '4px 0',
                  transition: 'color 0.2s',
                }}>{x.id}</a>
              );
            })}
          </div>
        );
      })}
    </div>
  );
}

Object.assign(window, { WOHNUNG_DETAILS, WohnungDetailPage });
